Elliptic Curve Cryptography (ECC) and ECDSA
Elliptic Curve Cryptography (ECC)
Elliptic curve (EC) was first introduced by Neal Kobiltz and Victor Miller in 1985. Elliptic curve is a non-singular curve that is operated on a finite field Zq (where q is the order of elliptic curve). EC consists of set of points that satisfies the following equation as follows.
Y2 = X3 + aX + b
Where {X,Y,a,b} ∈ Zq, and 4a3 + 27b2 ≠ 0.
Next, we discuss the encryption and decryption mechanism between two parties (Say α and γ ).
Remark 1: Elements selected from party α is represented by capital letters whereas elements selected from party γ is represented by small letters.
i) Key Generation:
1. Secret key: Each party α and γ selects secret keys S ∈ Zq and s ∈ Zq.
2. Public key: P = Sδ and p = sδ (where δ is base point generator of elliptic curve).
3. Secret nonce (where nonce is random value): N = SP, and n = sp.
Remark 2: Most common setting is N=n.
ii) Encryption (by party α) :
Let M ∈ Zq be a message. First, α encodes M on elliptic curve, that is, M'. Party γ receives ciphertext as follows.
CT = {Nδ, M'+Np}
iii) Decryption (by party γ):
On receiving CT, party γ decrypts the message M'. For decryption, party γ first multiplies the x-coordinate of CT with secret key of party γ, that is, Nδs. Then, it subtracts this from y-coordinate of CT as follows.
={M' + Np - Nδs}
={M'}
(where p=δs).
Finally, party γ will convert the encoded message M' into M.
Elliptic Curve Digital Signature Algorithm (ECDSA)
The digital signature over message with the help of EC is termed as ECDSA. Mathematically ECDSA can be represented as follows.
σ=N-1(h(M) + SQ)
Comments
Post a Comment