Elliptic Curve Cryptography: by Manvi Molpariya Sameena Khan
Elliptic Curve Cryptography: by Manvi Molpariya Sameena Khan
CRYPTOGRAPHY
By
Manvi Molpariya
Sameena Khan
Introduction
More Secure
Key concept of elliptic
curve crytography
Elliptic Curve: An elliptic curve is represented by an equation
of the form:
y2=x3+ax+b
Group Law: Points on the elliptic curve form an algebraic
structure called a group, where the group operation (usually
referred to as "addition") is defined geometrically.
a) Point Addition: If you have two points P and Q on the curve,
the sum R=P+Q is computed using the geometry of the curve.
b) Point Doubling: If P =Q, the result is called doubling the
point, 2P, calculated similarly.
Discrete Logarithm Problem: The security of ECC is based
on the elliptic curve discrete logarithm problem (ECDLP). Given
points P and Q on the curve, where Q=kP for some integer k,
it's computationally infeasible to determine k, even if P and Q
are known.
Comparable Key Sizes for
Equivalent Security
Symmetric RSA and Diffie- ECC Key
Encryption (Key Size Hellman (modulus Size in bits
in bits) size in bits)
56 512 112
80 1024 160
1. Key Generation
Select a curve and a base point (G): An elliptic curve is in the form:
= + ax +b(mod p) where a,b and p(a prime number) Elliptic curve cryptography
work on finite field means all calculation done within finite set of number which
is done using modular arithmetic
Private key:
A random integer is selected as the private key, where 1<<n (n is the order
of the elliptic curve)
Public key:
The corresponding public key PAis calculated as:
=×G
where G is the base point and is the private key. The public key is a point on
the elliptic curve.
ECC Algorithm
2. Encryption Process:
Generate a shared secret code: The sender chooses random integer k which will
be kept secret
Calculate the shared point: The sender compute P = k x G where G is the base
point
Encrypt the message: The message M is represented as the point on eliptic curve
The cipher text will contain 2 parts:
1. C1=k×G
2. C2=M+k×
Where is the recipient public key and k is random integer
ECC Algorithm
Decryption:
To decrypt the receiver uses their private key
1. decrypt the first part: Multiply C1 by private key x C1
2. Subtract this result from C2 to recover message M
M= C2 –( x C1) Then we will get the point of message
Numerical
Parameter
Elliptic Curve Equation:
Pros
Shorter Key Length
Same level of security as RSA achieved at a much shorter key
length
Better Security
Secure because of the ECDLP
Higher security per key-bit than RSA
Higher Performance
Shorter key-length ensures lesser power requirement –
suitable in wireless sensor applications and low power devices
More computation per bit but overall lesser computational
expense or complexity due to lesser number of key bits
Pros and Cons
Cons
Relatively newer field
Idea prevails that all the aspects of the topic may not have
been explored yet – possibly unknown vulnerabilities
Doesn’t have widespread usage
Not perfect
Attacks still exist that can solve ECC (112 bit key length has
been publicly broken)
Well known attacks are the Pollard’s Rho attack
(complexity O(√n) ), Pohlig’s attack, Baby Step,Giant Step
etc