Читать книгу Handbook of Intelligent Computing and Optimization for Sustainable Development - Группа авторов - Страница 111

4.6.2.2 Elliptic Curve Signature Scheme

Оглавление

The non-linear cryptographic transformations for signature signing scheme and signature verifying scheme can also be created by using elliptic curve arithmetic based on the integration of complex number arithmetic with modular arithmetic. The implementation is described in the reference [2].

Let us consider ElGamal signature scheme [13] using the curve E : y2 = x3 + x + (1 + 5i) over Z(GF(7)) where a = 1 and b = 1 + 5i. The followings are the experiments of key generation, signing scheme and verifying scheme executing on the given curve by using the methods implemented in the reference [2].

Key Generation. Alice and Bob are in agreement on P = (5, 3 + 2i) as a base point. It has prime order n = 47. Alice calculates a pair of private key and public key as followings.

 • Alice defines her private key: d = 13.

 • Alice calculates her public key: Q = d × P = 13 × (5, 3 + 2i) = (1 + 5i, 4 + 5i).

Signing Scheme. Alice signs the message with her private key d = 13. The signature is the result of signing scheme. Alice calculates the signature as the followings.

 • Alice selects a random number: k = 3.

 • Alice calculates: R = k × P = 3 × (5,3 + 2i) = (5 + 6i,5.

 • Alice calculates: r = R.x.real mod n = 5 mod 47 = 5.

 • Alice calculates: h = h(m) = 4 (Hash value).

 • Alice calculates: s = k−1(h + rd) mod n = 16 × (4 + 5 × 13) mod 47 = 42.

 • Alice sends (R, s) to Bob as the signature of the message.

Verifying Scheme. Bob verifies the signature (R, s) with Alice’s public key Q = (1 + 5i, 4 + 5i). The verification codes are the result of verifying scheme. Bob calculates verification codes V1 and V2 as the followings and makes a comparison of them.

 • Bob calculates: V1 = s × R = 42 × (5 + 6i, 5) = (6 + 6i, 5 + 3i).

 • Bob calculates: r = R.x.real mod n = 5 mod 47 = 5.

 • Bob calculates: h = h(m) = 4 (Hash value).

 • Bob calculates: U1 = h × P = 4 × (5, 3 + 2i) = (4 + 2i, 3 + 3i).

 • Bob calculates: U2 = r × Q = 5 × (1 + 5i, 4 + 5i) = (2i, 4 + 6i).

 • Bob calculates: V2 = U1 + U2 = (6 + 6i, 5 + 3i).

 • Bob accepts the signature, since V1 = V2.

Handbook of Intelligent Computing and Optimization for Sustainable Development

Подняться наверх