|
Elliptic Curve DSA (ECDSA) is a variant of the Digital Signature Algorithm (DSA) which operates on elliptic curve groups. The EC variant provides smaller key sizes for (supposedly) similar security level. On the other hand, the execution time is roughly the same and the signature size is exactly the same: 4t, where t is the security parameter. For example, DSA with 1024-bit p and 160-bit q and ECDSA over the 160-bit prime field both produce 320-bits signatures and need only few milliseconds [1] for execution on a 2 GHz Pentium. The Digital Signature Algorithm (DSA) is a United States Federal Government standard or FIPS for digital signatures. ...
In mathematics, an elliptic curve is a plane curve defined by an equation of the form y2 = x3 + a x + b, which is non-singular; that is, its graph has no cusps or self-intersections. ...
This picture illustrates how the hours in a clock form a group. ...
Signature generation algorithm
Suppose Alice wants to send a signed message to Bob. Initially, the curve parameters (q,FR,a,b,G,n,h) must be agreed upon. Also, Alice must have a key pair suitable for elliptic curve cryptography, consisting of a private key dA (a randomly selected integer in the interval [1,n − 1]) and a public key QA (where QA = dAG). The names Alice and Bob are commonly used placeholders for archetypal characters in fields such as cryptography and physics. ...
The names Alice and Bob are commonly used placeholders for archetypal characters in fields such as cryptography and physics. ...
For Alice to sign a message m, she follows these steps: - Calculate e = HASH(m), where HASH is a cryptographic hash function, such as SHA-1.
- Select a random integer k from [1,n − 1].
- Calculate r = x1(mod n), where (x1,y1) = kG. If r = 0, go back to step 2.
- Calculate s = k − 1(e + rdA)(mod n). If s = 0, go back to step 2.
- The signature is the pair (r,s).
In cryptography, a cryptographic hash function is a hash function with certain additional security properties to make it suitable for use as a primitive in various information security applications, such as authentication and message integrity. ...
The SHA (Secure Hash Algorithm) family is a set of related cryptographic hash functions designed by the National Security Agency (NSA) and published by the National Institute of Standards and Technology (NIST). ...
Signature verification algorithm For Bob to authenticate Alice's signature, he must have a copy of her public key QA. He follows these steps: - Verify that r and s are integers in [1,n − 1]. If not, the signature is invalid.
- Calculate e = HASH(m), where HASH is the same function used in the signature generation.
- Calculate w = s − 1(mod n).
- Calculate u1 = ew(mod n) and u2 = rw(mod n).
- Calculate (x1,y1) = u1G + u2QA.
- The signature is valid if x1 = r(mod n), invalid otherwise.
Note that using Straus's algorithm (also known as Shamir's trick) a sum of two scalar multiplications u1G + u2QA can be calculated faster than with two scalar multiplications.
References - Accredited Standards Committee X9, American National Standard X9.62-2005, Public Key Cryptography for the Financial Services Industry, The Elliptic Curve Digital Signature Algorithm (ECDSA), November 16, 2005.
- Certicom Research, Standards for efficient cryptography, SEC 1: Elliptic Curve Cryptography, Version 1.0, September 20, 2000.
- López, J. and Dahab, R. An Overview of Elliptic Curve Cryptography, Technical Report IC-00-10, State University of Campinas, 2000.
- Daniel J. Bernstein, Pippenger's exponentiation algorithm, 2002.
- Daniel R. L. Brown, Generic Groups, Collision Resistance, and ECDSA, Designs, Codes and Cryptography, 35, 119-152, 2005. ePrint version
- Ian F. Blake, Gadiel Seroussi, and Nigel P. Smart, editors, Advances in Elliptic Curve Cryptography, London Mathematical Society Lecture Note Series 317, Cambridge University Press, 2005.
- Darrel Hankerson, Alfred Menezes and Scott Vanstone, Guide to Elliptic Curve Cryptography, Springer, Springer, 2004.
External links See also |