In
cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
, the Elliptic Curve Digital Signature Algorithm (ECDSA) offers a variant of the
Digital Signature Algorithm
The Digital Signature Algorithm (DSA) is a Public-key cryptography, public-key cryptosystem and Federal Information Processing Standards, Federal Information Processing Standard for digital signatures, based on the mathematical concept of modular e ...
(DSA) which uses
elliptic-curve cryptography
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography (based on plain Galois fields) to provide e ...
.
Key and signature-size
As with elliptic-curve cryptography in general, the bit
size
Size in general is the Magnitude (mathematics), magnitude or dimensions of a thing. More specifically, ''geometrical size'' (or ''spatial size'') can refer to linear dimensions (length, width, height, diameter, perimeter), area, or volume ...
of the
private key
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
believed to be needed for ECDSA is about twice the size of the
security level
In cryptography, security level is a measure of the strength that a cryptographic primitive — such as a cipher or hash function — achieves. Security level is usually expressed as a number of "bits of security" (also security strength ...
, in bits. For example, at a security level of 80 bits—meaning an attacker requires a maximum of about
operations to find the private key—the size of an ECDSA private key would be 160 bits. On the other hand, the signature size is the same for both DSA and ECDSA: approximately
bits, where
is the security level measured in bits, that is, about 320 bits for a security level of 80 bits.
Signature generation algorithm
Suppose
Alice wants to send a signed message to
Bob
Bob, BOB, or B.O.B. may refer to:
Places
* Mount Bob, New York, United States
*Bob Island, Palmer Archipelago, Antarctica
People, fictional characters, and named animals
*Bob (given name), a list of people and fictional characters
*Bob (surname ...
. Initially, they must agree on the curve parameters
. In addition to the field and equation of the curve, we need
, a base point of prime order on the curve;
is the multiplicative order of the point
.
The order
of the base point
must be prime. Indeed, we assume that every nonzero element of the ring
is invertible, so that
must be a field. It implies that
must be prime (cf.
Bézout's identity
In mathematics, Bézout's identity (also called Bézout's lemma), named after Étienne Bézout, is the following theorem:
Here the greatest common divisor of and is taken to be . The integers and are called Bézout coefficients for ; they ...
).
Alice creates a key pair, consisting of a private key integer
, randomly selected in the interval