(Doubling a point). Consider that M = (x1, y1) ∈ E(GF(p)) on the condition: M ≠ −M. Then, 2M = (x3, y3) in which x3 = λ2 – 2x1, y3 = λ(x1 – x3) – y1, and λ = (3x12 + a)2y1.
4.6 Cryptographic Applications
4.6.1 Hill Cipher
In standard ciphers, based on matrix transformations, such as Hill cipher, “residue matrices” on the plane made of complex numbers may be used to construct non-linear cryptographic transformations. The implementation and the analysis on their mathematical properties are described in the reference [9].
The encryption scheme in Hill Cipher uses a linear matrix transformation to translate plaintext to ciphertext [5]: C = P × K, where P represents “a plaintext matrix”, K represents “a key matrix”, and C represents “a ciphertext matrix”. “A plaintext matrix” is opened by transforming: P = C × K−1, satisfying K × K−1 = I.
“Affine Hill cipher extends the concept of Hill cipher by integrating it with a nonlinear affine transformation” [10]. The encryption scheme follows the nonlinear transformation of matrices: C = (P × K) + E where P represents “a plain-text matrix”, K represents “a key matrix”, E represents “an embedded matrix”, and C represents “a ciphertext matrix”. “A plaintext matrix” is opened by transforming: P = (C – E) × K−1, satisfying K × K−1 = I.
On the plane made of complex numbers, a new design of Hill cipher is created. Matrix transformations, affine transformations, and complex transformations are used to create the current concept. As a result, the cipher’s diffusion and confusion properties are greater than those of the standard Hill cipher applied to real numbers. It has the potential to defend against both “known-plaintext” and “chosen-plaintext attacks”.
The followings are the encryption scheme and the decryption scheme for the new design of Hill cipher applied to the plane made of complex numbers. For practical experiments, the digits “0” to “25” are used to represent the characters “A” to “Z”, respectively, “26” for the space (☐), “27” for the comma, “28” for the question mark, “29” for the apostrophe, and “30” for the full stop. There are 31 elements in total in the field. As a result, the new design is applied to Z(31). The practical experiments resulting in the encryption scheme and the decryption scheme by using the techniques of our system described in the reference [9] are shown in Figures 4.4 and 4.5.
4.6.2 Elliptic Curve Cryptography
The safety measures of “Elliptic Curve Cryptography” (ECC) mostly rely on the quality of solving “Elliptic Curve Discrete Logarithm Problem” (ECDLP). Known P and Q on the curve satisfying Q = kP, the integer k is the discrete logarithm of Q to the base P. Although P and Q are known, the group order of the curve is so huge that it is unable to compute k. It was observed in the reference [8] that elliptic curve general attacks obviously would resolve ECDLP if the group order of the curve was small enough to compute k.
Figure 4.4 Experiment on encryption.
Figure 4.5 Experiment on decryption.
The implementation and the analysis on the mathematical properties of elliptic curve arithmetic based on the integration of complex number arithmetic with modular arithmetic are described in the reference [3]. The group orders of the curves in the fields: GF(p), GF(2m), GF(2m) Z(GF(p)), and Z(GF(2m)) were observed in the reference [2] in which the group order of the curve in Z(GF(p)) exposed in Appendix (C) of the reference [2] is 47 that exists between
4.6.2.1 Elliptic Curve Encryption Scheme
The non-linear cryptographic transformations for encryption scheme and decryption scheme can 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 encryption 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, encryption scheme, and decryption 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. Bob calculates a pair of private key and public key as followings.
• Bob defines his private key: d = 13.
• Bob calculates his public key: Q = d × P = 13 × (5, 3 + 2i) = (1 + 5i, 4 + 5i).
Encryption Scheme. Alice defines M = (2 + 5i, 3 + 6i) as a message to be encrypted with Bob’s public key Q = (1 + 5i, 4 + 5i). The cipher text is the result of the encryption scheme. Alice calculates the cipher text as followings.
• Alice selects a random number: r = 3.
• Alice calculates: C1 = r × P = 3 × (5, 3 + 2i) = (5 + 6i, 5).
• Alice calculates: C2 = M + (r × Q) = (2 + 5i, 3 + 6i) + 3.(1 + 5i, 4 + 5i) = (1 + 1i, 2 + 2i).
• Alice sends C1 and C2 to Bob as cipher texts.
Decryption Scheme. Bob receives C1 = (5 + 6i, 5) and C2 = (1 + 1i, 2 + 2i) as cipher texts to be decrypted with his private key d = 13. The message is the result of decryption scheme. Bob calculates the message as following.
• Bob calculates the message: M = C2 – (d × C1) = (1 + 1i, 2 + 2i) – 13.(5 + 6i, 5) = (2 + 5i, 3 + 6i).
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