Prerequisites:
In this section, we will discuss:
- The method of using Ephemeral Keys with Elliptic Curve Arithmetic for Identification
- Computation on Prover's and Verifier's side
- Analyse the security of this algorithm
- Identity Forgery
In the process of identification, an individual can play one of the three roles:
- Prover (Pr): wants to prove his/her identity
- Verifier (Ve): wants to verify Prover's identity
- Simulator (Si): wants to impersonate Prover's identity
Identification using Ephemeral Keys, Source: Benjamin Smith- Introduction to Elliptic Curve Cryptography (ECC 2017)[Page 11]
Note: * symbol mentioned in this section is the symbol for scalar multiplication in Elliptic Curves and not algebraic multiplication. Also, + symbol mentioned in this section is the symbol for point addition in Elliptic Curves unless stated otherwise.
Identification Process:
- Both Prover and Verifier agree upon a Point
P
on an Elliptic CurveE
, that can serve as a base point for identification algorithm. - Prover generates
Q
= x * P, wherex
is prover's secret key andP
is the base point - Verifier receives point
Q
, sends an acknowledgement indicating so. - Prover then generates a random number
r
using a cryptographically secure pseudo random number generator (CSPRNG) and computes R = r * P, whereP
is the base point. - Prover then sends point
R
ands
= x + r to the Verifier. Here+
symbol denotes arithmetic addition - After receiving
R
ands
, verifier computes s * P (Scalar Multiplication) and Q + R (Point Addition) and checks if both of the computations have the same result. If yes, then the verification is successful, if not, then the verification fails.s * P
=(x + r) * P
=x*P + r*P
=Q + R
s
does not reveal anything aboutx
sincer
is generated using a cryptographically secure pseudo random number generator.
This algorithm looks secure as there is no way an attacker can get the value of x
, but can we forge the identity without knowing the value of x
? In the next section, we will discuss how to attack the algorithm and successfully forge an identity!
Identity forgery in Ephemeral Key Authentication, Source: Benjamin Smith- Introduction to Elliptic Curve Cryptography (ECC 2017)[Page 12]
Detecting Cheating by checking if the prover knows both s
and r
, Source: Benjamin Smith- Introduction to Elliptic Curve Cryptography (ECC 2017)[Page 13]