Design and Analysis of Algorithms

Project ID: P113

Elliptic Curve Cryptography

|Vikram V Kumar (vikramv@asu.edu) |[Grad.] | |Satish Doraiswamy (satish.d@asu.edu) |[Grad.] | |Zabeer Jainullabudeen (zabeer@asu.edu) |[Grad.] |

Final Report

Abstract

The idea of information security lead to the evolution of Cryptography. In other words, Cryptography is the science of keeping information secure. It involves encryption and decryption of messages. Encryption is the process of converting a plain text into cipher text and decryption is the process of getting back the original message from the encrypted text. Cryptography, in addition to providing confidentiality, also provides Authentication, Integrity and Non-repudiation. The crux of cryptography lies in the key involved and the secrecy of the keys used to encrypt or decrypt. Another important factor is the key strength, i.e. the size of the key so that it is difficult to perform a brute force on the plain and cipher text and retrieve the key. There have been various cryptographic algorithms suggested. In this project we study and analyze the Elliptic Curve cryptosystems. This system has been proven to be stronger than known algorithms like RSA/DSA.

Keywords

Cryptography, Public Key Systems, Galois Fields, Elliptic Curve, Scalar Multiplication

Table of Contents

Abstract1

Keywords1

Table of Contents2

Table of Figures3

Table of Algorithms3

1Introduction4

2Individual contributions of the team members5

3Cryptosystems and Public key cryptography6

3.1Brief Overview of some known algorithms7

3.1.1Diffie-Hellman (DH) public-key algorithm:7

3.1.2RSA8

3.1.2.1Working of RSA8

3.1.2.2Security of RSA8

3.1.2.3Difference between RSA and Diffie-Hellman9

3.1.3DSA9

4Mathematical Overview11

4.1Groups11

4.2Rings11

4.3Fields and Vector Spaces11

4.4Finite Fields13

4.4.1Prime Field Fp13

4.4.2Binary Finite Field F2m13

4.4.2.1Polynomial basis representation of F2m14

4.4.2.2Normal basis representation of F2m15

4.5Elliptic Curves16

4.5.1Elliptic Curves over Finite Fields16

4.5.1.1Elliptic Curves over Fp16

4.5.1.2Elliptic curves over F2m19

4.5.2Elliptic Curve: Some Definitions20

5Elliptical Curve Discrete Logarithm Problem21

6Application of Elliptical Curves in Key Exchange22

6.1Elliptic Curve Cryptography (ECC) domain parameters22 6.2Elliptic Curve protocols22

6.2.1Elliptic Curve Diffie-Helman protocol (ECDH)23

6.2.2Elliptic Curve Digital Signature Authentication (ECDSA)24 6.2.3Elliptic Curve Authentication Encryption Scheme (ECAES)26 7Algorithms for Elliptic Scalar Multiplication28

7.1Non adjacent form (NAF)28

7.2Complexity analysis of the Elliptic Scalar Multiplication algorithms29 7.2.1Binary Method29

7.2.2Addition-Subtraction method30

7.2.3Repeated doubling method31

8Conclusion32

9References33

Table of Figures

Figure 1:Elliptic curve over R2: y2 = x3 – 3x + 316

Figure 2:Addition of 2 points P and Q on the curve y2 = x3 – 3x + 317 Figure 3:Doubling of a point P, R = 2P on the curve y2 = x3 – 3x + 318 Figure 4:Illustration of Elliptic Curve Diffie-Hellman Protocol24 Figure 5:Illustration of Elliptic Curve Digital Signature Algorithm25 Figure 6:Illustration of Elliptic Curve Authentication Encryption Scheme27 Figure 7:Illustration of computation of NAF(7)29

Figure 8:Comparison of the key strengths of RSA/DSA and ECC32

Table of Algorithms

Algorithm 1:Computation of the NAF of a scalar28

Algorithm 2:Scalar Multiplication using the Addition-Subtraction method30 Algorithm 3:Scalar Multiplication using Repeated Additions31...