3.2.2 ECDSA Signature Algorithm

In cryptography, the Elliptic Curve Digital Signature Algorithm (ECDSA) is a digital signature algorithm that uses the secp256k1 curve to create and verify digital signatures.

ECDSA Signature Algorithm

Elliptic Curve Digital Signature Algorithm (ECDSA) is a cryptographic algorithm for creating digital signatures. More concretely, Setup

●	Public Parameters: Let 𝐹 be a finite field, two parameters π‘Ž and 𝑏 define an elliptic
π‘ž 
curve 𝐢 over 𝐹 , a seed which validates 𝐢, a prime integer
π‘ž
𝐺∈ 𝐢 of order 𝑛 where π‘ž is either prime or a power of 2.
●	Private Key: An integer 𝑑 in [1, 𝑛 βˆ’ 1].
●	Public Key: 𝑄 = 𝑑𝐺.

Signature generation for a given message 𝑀:

●	Generate π‘˜βˆˆ [1, 𝑛 βˆ’ 1]
●	Compute
(π‘₯1, 𝑦1) = π‘˜πΊ
π‘Ÿ = π‘₯1 π‘šπ‘œπ‘‘ 𝑛
𝑠 =	 𝐻(𝑀) + π‘‘π‘Ÿ  π‘šπ‘œπ‘‘ 𝑛
●	If π‘Ÿ = 0 or 𝑠 = 0, try again. The signature is (π‘Ÿ, 𝑠).
●	Signature: (𝑀, π‘Ÿ , 𝑠 ). 

Verification:

●	Given (𝑀, π‘Ÿ ', 𝑠' ).
●	Verify if π‘Ÿ' and 𝑠' are in [1, 𝑛 βˆ’ 1] and that π‘Ÿ' = π‘₯ π‘šπ‘œπ‘‘ 𝑛 for
(π‘₯ , 𝑦 ) = 𝑒 𝐺 + 𝑒 𝑄  =   𝐻(𝑀)  π‘šπ‘œπ‘‘ 𝑛, and 𝑒 =  π‘Ÿ'  π‘šπ‘œπ‘‘ 𝑛.s')
𝑒

1    1    1        2    1    𝑠'        2    𝑠'

Last updated