Fact-checked by Grok 2 weeks ago

Elliptic Curve Digital Signature Algorithm

The (ECDSA) is a for generating and verifying digital signatures using the of over finite fields, functioning as an counterpart to the (DSA) while enabling equivalent security levels with substantially smaller key sizes. In ECDSA, a signer's private key derives a public key as a scalar multiple of a base point on the curve; signatures consist of a pair of integers (r, s) computed from a hashed message, a random , and the private key, with verification relying on and point multiplication to confirm authenticity without exposing the private key. The algorithm's security rests on the , which resists efficient solution on well-chosen curves with prime order subgroups. Proposed in 1992 by Scott Vanstone of Certicom in response to a U.S. National Institute of Standards and Technology (NIST) call for public comments on standards, ECDSA addressed demands for more efficient alternatives to integer-based schemes amid growing computational constraints in early public-key systems. It achieved formal standardization as ANSI X9.62 in 1999, followed by adoption in 2000 and inclusion in NIST's Federal Information Processing Standard (FIPS) 186-2, with subsequent revisions in FIPS 186-5 specifying curve parameters, hashing requirements (typically SHA-256 or stronger), and validation procedures to mitigate implementation flaws like nonce reuse. ECDSA's primary advantages include key sizes roughly half those of for comparable strength—such as a 256-bit ECDSA key equating to a 3072-bit modulus—and reduced computational overhead for signing and verification, making it suitable for resource-limited devices, transactions (e.g., Bitcoin's secp256k1 curve), and protocols like TLS 1.3. Despite its efficiency, ECDSA demands rigorous curve selection to avoid subtle weaknesses, as flawed parameters could undermine the assumption, though no practical breaks have emerged against NIST-recommended curves under standard assumptions.

Overview

Definition and Core Principles

The Elliptic Curve Digital Signature Algorithm (ECDSA) is a digital signature scheme that adapts the principles of the (DSA) to , enabling of message origin, integrity verification, and through computationally efficient signatures. ECDSA generates signatures using a private key and verifies them with the corresponding public key, relying on approved hash functions to process messages into fixed-length digests. Proposed by Scott Vanstone in 1992, it was standardized by ANSI in 1999, IEEE and NIST in 2000, and ISO in 1998, offering superior efficiency with smaller key sizes compared to DSA for equivalent security levels due to the underlying discrete logarithm problem (ECDLP). At its core, ECDSA operates within a structured group defined by domain parameters, including the size q, curve coefficients a and b, base point G of prime order n, and cofactor h. A key pair consists of a private key d, a random from 1 to n-1, and the public key Q = d \times G, where \times denotes on the curve. Signature generation produces a pair (r, s): r derives from the x-coordinate of k \times G for a random ephemeral k, and s combines k, the message hash, and d; verification recomputes a point from s^{-1} times the hash and r, checking against r using Q and G. The security of ECDSA fundamentally rests on the presumed intractability of the ECDLP: given G, Q, and the curve, computing d such that Q = d \times G is infeasible for appropriately chosen curves and parameters. This provides resistance to forgery, as producing valid (r, s) without d equates to solving the ECDLP or related hard problems, with no known subexponential-time algorithms unlike classical discrete logarithms in finite fields. Domain parameters must be verified for correctness to prevent attacks, and security strength aligns with the of n and the function's output.

Historical Development

The Elliptic Curve Digital Signature Algorithm (ECDSA) emerged from advancements in (ECC), which was independently proposed in by Koblitz and S. as a basis for public-key systems exploiting the computational difficulty of the problem. Koblitz outlined elliptic curve cryptosystems in a 1987 publication, building on earlier number-theoretic work, while Miller detailed their cryptographic applications in a conference paper. These foundations enabled more efficient alternatives to existing schemes like and by requiring smaller key sizes for equivalent security levels, due to the stronger hardness assumptions of ECC groups. In 1991, the National Institute of Standards and Technology (NIST) proposed the (DSA) as part of the Digital Signature Standard (DSS) under FIPS 186, prompting public comments on its design. ECDSA was first proposed in 1992 by Scott Vanstone, a Canadian cryptographer and co-founder of Certicom Research, as an analog to DSA, submitted in response to NIST's solicitation to enhance efficiency while maintaining compatibility with DSA's structure. Vanstone's proposal adapted DSA's signing and verification processes to operate over groups, leveraging ECC's performance advantages for resource-constrained environments. Standardization followed in the late 1990s, with ECDSA specified in ANSI X9.62 in 1998 for . It gained ISO approval that year and was incorporated into NIST's revised FIPS 186-2 in January 2000, alongside DSA and RSA options, enabling federal use of ECDSA with approved curves and parameters. Subsequent validations, such as NIST's ECDSA validation system in 2004, supported broader adoption in protocols like TLS and transactions.

Mathematical Foundations

Elliptic Curves and Finite Fields

In elliptic curve cryptography, including the Elliptic Curve Digital Signature Algorithm (ECDSA), elliptic curves are defined over finite fields to yield finite point sets amenable to discrete logarithm-based security. For prime fields \mathbb{F}_p with p > 3 a large prime, the curve E takes the short Weierstrass form y^2 = x^3 + ax + b \pmod{p}, where coefficients a, b \in \mathbb{F}_p satisfy the nonsingularity condition $4a^3 + 27b^2 \not\equiv 0 \pmod{p} (the ). This ensures the curve is smooth, without singular points that would undermine the group structure. The rational points E(\mathbb{F}_p) comprise all (x, y) \in \mathbb{F}_p \times \mathbb{F}_p satisfying , augmented by a \mathcal{O} acting as the . These points form a finite under the elliptic curve addition law, derived from : for distinct points P and Q, the line through them intersects E at a third point R', and P + Q = -R', where negation reflects R' over the x-axis (i.e., (x, y) \mapsto (x, -y)). Point doubling $2P replaces the line with the at P. All operations reduce p and use arithmetic for slopes and coordinates, enabling efficient computation via algorithms like binary ladder methods. The group order |E(\mathbb{F}_p)| = p + 1 - t follows Hasse's theorem, with trace |t| \leq 2\sqrt{p}, bounding the size near p and facilitating selection of curves where the order factors include a large prime n for secure subgroups. In ECDSA, domain parameters specify such a curve over \mathbb{F}_p, a G of prime-order \langle G \rangle of order n, and cofactor h = |E(\mathbb{F}_p)| / n (often 1), ensuring scalar multiplication k \cdot G resists inversion via the elliptic curve problem. Finite fields other than primes, like binary fields \mathbb{F}_{2^m}, admit generalized Weierstrass forms (e.g., y^2 + xy = x^3 + ax^2 + b) but are less common in modern ECDSA standards due to trade-offs.

Discrete Logarithm Problem in ECC

The elliptic curve discrete logarithm problem (ECDLP) consists of determining an integer k such that Q = k \cdot P, where P and Q are points on an elliptic curve E defined over a finite field \mathbb{F}_q, k is an integer between 1 and the order n of the subgroup generated by P, and the operation \cdot denotes scalar multiplication in the additive group of points on E. This formulation adapts the classical discrete logarithm problem to the structure of elliptic curve groups, where point addition serves as the group operation. No polynomial-time algorithm is known to solve the ECDLP in general for elliptic curves with carefully selected parameters, such as those over prime fields with large prime order subgroups. The best generic attacks, including the Pollard rho algorithm, require approximately \sqrt{n} group operations, which for a 256-bit order n (providing around 128 bits of security) demands about $2^{128} operations, rendering it infeasible with current computational resources. Curve-specific attacks exist but are ineffective against standardized curves recommended by bodies like NIST, which are designed to resist known vulnerabilities such as anomalous curves or those susceptible to MOV or Frey-Rück attacks. In (ECC), the ECDLP underpins the of protocols by ensuring that the private key d, satisfying Q = d \cdot [G](/page/G) for public key Q and G, cannot be recovered from the public information. For ECDSA specifically, an adversary solving the ECDLP could forge signatures by computing private keys or inverting the verification process, but the problem's hardness provides equivalent to larger key sizes in systems like or classical at reduced computational cost. Advances in solving the ECDLP, such as those documented in records for small curves (e.g., solving on 113-bit curves in requiring significant resources), underscore the need for larger parameters, with NIST recommending at least 224-bit curves for 112-bit as of FIPS 186-4 published in 2013.

Adaptation from DSA to ECDSA

The Elliptic Curve Digital Signature Algorithm (ECDSA) adapts the (DSA) by substituting the problem in a of the of integers a prime for the elliptic curve problem over a , thereby achieving comparable security levels with significantly smaller key and parameter sizes. This structural preservation allows ECDSA to inherit DSA's core signing and verification mechanics while leveraging the efficiency of elliptic curve arithmetic, where point addition and replace . In DSA, domain parameters comprise a large prime p (typically 1024 to 3072 bits), a prime q (160 to 256 bits) dividing p-1, and a g of q p. The private x is chosen randomly from $1 to q-1, with the public y = g^x \mod p. ECDSA replaces these with elliptic curve domain parameters: a \mathbb{F}_q (prime q of characteristic greater than 3), curve coefficients a and b defining E: y^2 = x^3 + ax + b, a base point G of prime n, and cofactor h = \#E(\mathbb{F}_q)/n. The private d is selected from $1 to n-1, yielding public Q = d \cdot G via . Here, n plays the role analogous to q, ensuring operations occur in a of prime to mitigate small-subgroup attacks. Signature generation in both algorithms proceeds similarly: for a message m, compute hash z = \mathrm{HASH}(m) truncated to the bit length of the order (q or n); select ephemeral secret k randomly from $1 to the order minus one; derive r from k; then compute s = k^{-1} (z + \mathrm{private \ key} \cdot r) \mod \mathrm{order}. DSA computes r = (g^k \mod p) \mod q, using exponentiation in \mathbb{Z}_p^*. ECDSA instead computes point R = k \cdot [G](/page/G), setting r to the x-coordinate of R modulo n. Verification mirrors this: compute w = s^{-1} \mod \mathrm{order}, u_1 = z \cdot w \mod \mathrm{order}, u_2 = r \cdot w \mod \mathrm{order}; then derive a candidate point or value and check if its projection modulo the order equals r. DSA uses (g^{u_1} \cdot y^{u_2} \mod p) \mod q; ECDSA uses the x-coordinate of u_1 \cdot [G](/page/G) + u_2 \cdot Q modulo n.
AspectDSAECDSA
Group OperationModular exponentiation in \mathbb{Z}_p^* and point on E(\mathbb{F}_q)
r Computationr = (g^k \mod p) \mod qr = x(k \cdot [G](/page/G)) \mod n
Security AssumptionDiscrete hardness in of q discrete hardness in of n
Parameter Sizesp \approx 2^{L} (L=1024+), q \approx 2^{160+}q \approx 2^{224+} for curve, n \approx 2^{224+}
This table illustrates the direct mapping, where ECDSA's adaptations yield computational advantages: for equivalent security (e.g., 128 bits), ECDSA requires roughly half the bit length of DSA parameters due to the superior hardness of ECDLP per bit. Both algorithms demand a random k per signature to prevent key recovery via attacks if reused, with deterministic variants (per 6979) later introduced to mitigate poor . The adaptation was formalized in ANSI X9.62 (, revised 2005), influencing NIST standards.

Cryptographic Primitives

Domain Parameters and Curve Selection

The domain parameters for ECDSA specify the underlying group and include the prime p, the curve coefficients a and b defining the Weierstrass equation y^2 = x^3 + ax + b \mod p, the generator point G = (x_G, y_G), the prime order n of the generated by G, and the cofactor h (typically h=1 for curves with prime order subgroups). These parameters must satisfy rigorous conditions, such as n being a large prime exceeding $2^{256} for 128-bit security levels, the curve being non-singular ( non-zero p), and the embedding degree being sufficiently large to resist attacks reducing discrete log to problems. Curve selection prioritizes standardized parameters over ad-hoc generation to ensure community-vetted security; NIST SP 800-186 recommends specific curves like P-256 (p \approx 2^{256}), (p \approx 2^{384}), and P-521 (p \approx 2^{521}) for ECDSA, providing security levels of 128, 192, and 256 bits respectively, based on estimated resistance to Pollard rho attacks requiring approximately \sqrt{n} operations. These curves use pseudorandom generation seeded by hash values of fixed strings for verifiability, though alternative sets like Brainpool curves ( 5639) employ hash-based seeds for enhanced transparency in parameter derivation. Generating custom curves demands probabilistic testing for properties like prime n via Miller-Rabin and resistance to anomalous curves (trace of Frobenius not zero), but such parameters are rarely used due to validation costs and lack of broad scrutiny. Security considerations in curve selection emphasize avoidance of curves vulnerable to special attacks, such as those with small class number or low degree; for instance, NIST curves have embedding degrees exceeding 10, mitigating Weil and pairing-based reductions. While NIST parameters have faced skepticism due to opaque historical generation processes, no exploitable weaknesses have been demonstrated, and their use remains mandated in FIPS 186-5 for federal systems. Independent validations, including complete order proofs, support their integrity for practical deployments.

Key Generation Process

The ECDSA key generation process produces a private-public key pair given verified domain parameters, which include the field size q, representation FR, curve coefficients a and b, base point G, order n (a prime), and cofactor h. The private key d is an integer randomly selected from the interval [1, n-1] to ensure and sufficient matching the strength of the curve, typically using an approved deterministic random bit generator (DRBG) as specified in . The public key Q is then computed as the Q = d × G, where × denotes point multiplication on the . Two primary methods exist for generating the private key d to mitigate in : the extra random bits method (Appendix A.2.1) and (Appendix A.2.2). In the extra random bits approach, a bit string longer than the bit length N of n (e.g., lN + 64 for reduced ) is obtained from the DRBG, converted to an integer d, and reduced modulo n if necessary, ensuring d falls in [1, n-1] with high probability. generates a candidate d of exactly N bits and discards it if outside [1, n-1], repeating until valid; this method requires n to be close to a power of 2 for efficiency but guarantees uniformity. Both require the DRBG to provide at least the security strength equivalent to the curve's , such as 256 bits for P-256 curves. Following private key generation, the public key computation involves efficient elliptic curve point multiplication algorithms, often using double-and-add techniques optimized for the curve's coordinates (e.g., Montgomery or Jacobian). The resulting Q must be validated to confirm it lies on the curve and is not the point at infinity, though NIST recommends full public key validation for high-security applications to detect invalid keys that could lead to signature forgery. Key pairs generated under FIPS 186-5, approved in February 2023, support curve sizes from 224 to 521 bits, with recommended parameters like NIST P-256 providing approximately 128 bits of security.

Signature Mechanics

Signature Generation Algorithm

The ECDSA signature generation process produces a digital signature consisting of a pair of integers (r, s) for a given , leveraging the signer's private and elliptic curve domain parameters to ensure authenticity and integrity. The algorithm operates over an group generated by base point G of prime order n, with the private d satisfying $1 \leq d \leq n-1. An approved , such as SHA-256, processes the M to yield a fixed-length digest, from which an e is derived by taking the leftmost \min(\ell_n, b) bits—where \ell_n = \lceil \log_2 n \rceil is the of n and b is the hash output length—and interpreting it as an . A per-message ephemeral secret k is selected uniformly at random from the interval [1, n-1], or deterministically via methods like those in RFC 6979 to mitigate risks from poor randomness. The point R = k \times G is computed via , and r is obtained as the x-coordinate of R modulo n. If r = 0, a new k is chosen and the process restarts. The second component s is then calculated as s = k^{-1} (e + r d) \mod n, where k^{-1} is the modular inverse of k modulo n; if s = 0, the process restarts with a fresh k. The pair (r, s) forms the signature, with both values in [1, n-1], and all intermediate values like k must be securely erased post-computation to prevent key recovery. In , the core steps are:
  1. H \leftarrow \text{[Hash](/page/Hash)}(M)
  2. e \leftarrow \text{OS2IP}( \text{leftmost } \min(\ell_n, b) \text{ bits of } H ) \mod n (or equivalent )
  3. Do:
  k \leftarrow random or deterministic in [1, n-1]   (x_1, y_1) \leftarrow k \times [G](/page/G)   r \leftarrow x_1 \mod n   Until r \neq 0
  1. s \leftarrow k^{-1} (e + r \cdot d) \mod n
  2. If s = 0, goto step 3
  3. Return (r, s)
This process ensures existential unforgeability under the elliptic curve discrete logarithm assumption, provided k remains secret and uniformly distributed.

Signature Verification Algorithm

The ECDSA signature verification algorithm authenticates a purported signature pair (r, s) on a message M against the signer's public key Q and the elliptic curve domain parameters, which include the base point G of prime order n. Specified in NIST FIPS 186-5, the procedure relies on elliptic curve point arithmetic and modular inverses to recompute a candidate point whose x-coordinate must match r modulo n. Invalid inputs or computations result in rejection, ensuring only signatures generated with the corresponding private key d (where Q = d \times G) pass. The algorithm assumes validated domain parameters and a public key Q that lies on the and satisfies n \times Q = \mathcal{O} (the point at ). It begins by checking the components:
  1. Confirm r and s are integers in the [1, n-1]. If either fails this range check, reject the as .
Next, process the :
  1. Compute the hash H = \text{Hash}(M), where Hash is an approved with output length outlen bits (e.g., 256 bits for SHA-256).
  2. Derive the e from H: Let nlen = \lceil \log_2 n \rceil. If nlen \geq outlen, set E = H; otherwise, take the leftmost nlen bits of H as E. Interpret E as a big-endian e (per FIPS 186-5 B.2.1). This truncation ensures e aligns with the level provided by n.
Perform modular computations in the field \mathbb{Z}/n\mathbb{Z}:
  1. Compute the modular inverse w = s^{-1} \mod n using an or equivalent (FIPS 186-5 Appendix B.1). Existence is guaranteed since \gcd(s, n) = 1 from the range check.
  2. Compute scalars u_1 = (e \cdot w) \mod n and u_2 = (r \cdot w) \mod n. These scalars probabilistically recover the ephemeral point used during signing.
Reconstruct the candidate point via elliptic curve operations:
  1. Compute the point R = u_1 \times G + u_2 \times Q, using standardized point doubling and addition formulas over the curve's . Reject if R = \mathcal{O} (the ), as this indicates an inconsistent signature.
  2. Extract the x-coordinate x_R of R as an element of the base field, then convert it to an x_1 (per SP 800-186 Appendix F.1, typically by interpreting field-specific encoding as big-endian).
  3. Compute v = x_1 \mod n. If v = r, accept the as valid; otherwise, reject it.
This inverts the signing : during generation, a random point yields r from its x-coordinate, and s encodes the private key and via the inverse relation. Verification succeeds with overwhelming probability under the discrete logarithm assumption, provided no faults or side-channel leaks compromise the computations. Implementations must use constant-time arithmetic to resist timing attacks, though the core algorithm itself provides no inherent protection against such vectors.

Public Key Recovery Mechanism

In ECDSA, the public key recovery mechanism enables derivation of the signer's elliptic curve public key Q directly from the signature components (r, s), the message hash z (typically the leftmost \log_2 n bits of the hash of the message), and the domain parameters, obviating the need to transmit Q separately. This capability stems from rearranging the signature verification equation, which equates the point (u_1 G + u_2 Q) to the point R with x-coordinate r, where u_1 = z s^{-1} \mod n and u_2 = r s^{-1} \mod n. Solving for Q yields Q = (s R - z G) r^{-1} \mod n, but requires identifying candidate points R on the curve satisfying x(R) \equiv r \pmod{n}. The recovery process begins by confirming $1 \leq r, s < n. The x-coordinate candidate is taken as x = r (since r < n and typically n < p for standard curves, with rare adjustments if r + n < p). Solve the curve equation y^2 \equiv x^3 + a x + b \pmod{p} for y, yielding zero, one, or two solutions (by Hasse's theorem, the probability of no real points is approximately $1 - O(1/\sqrt{p})). The candidate points are R = (x, y) and R' = (x, -y), corresponding to even and odd y-coordinates, respectively. For each viable R_i, compute the scalar r^{-1} \mod n once, then derive candidate public keys as Q_i = r^{-1} (s R_i - z G), performing elliptic curve point arithmetic throughout. Each Q_i that lies on the curve and satisfies the standard ECDSA verification (i.e., x(u_1 G + u_2 Q_i) \equiv r \pmod{n}) is a valid candidate; typically, exactly one matches the signer's key, while the other may spuriously verify due to the mathematics but does not correspond to the private key used. Up to two public keys are possible, with ambiguity resolved in practice by including a recovery parameter (e.g., v = 27 + i for i = 0,1, or extended to four candidates if considering x = r + n) in the signature format, as standardized in SEC 1 section 4.1.6. This extension reduces transmission overhead in protocols like Bitcoin transactions, where public keys are otherwise 65 bytes uncompressed. The mechanism's security relies on the elliptic curve discrete logarithm problem, ensuring recovery does not leak the private key d, but implementers must validate points and inverses to prevent invalid curve attacks. Recovery is deterministic given the inputs and does not require additional randomness, though malformed inputs (e.g., non-quadratic residue x) may yield no candidates, which verifiers treat as invalid signatures.

Efficiency and Practical Attributes

Key and Signature Size Advantages

ECDSA achieves comparable security strengths to RSA and DSA using markedly smaller key sizes, which reduces storage requirements, transmission overhead, and computational demands in resource-constrained environments such as mobile devices and IoT systems. For a security level of approximately 128 bits, ECDSA employs a 256-bit elliptic curve, whereas RSA requires a 3072-bit modulus and DSA necessitates a 3072-bit modulus with a 256-bit subgroup order. This disparity arises from the elliptic curve discrete logarithm problem's higher computational resistance per bit compared to integer factorization or discrete logarithms in finite fields. Private keys in ECDSA consist of a single scalar value modulo the curve order n, typically 32 bytes for curves like P-256 (secp256r1). Public keys are elliptic curve points, encodable in compressed form at approximately 33 bytes (including a prefix byte indicating the y-coordinate parity) or uncompressed at 65 bytes. In contrast, RSA public keys encompass the modulus n (384 bytes for 3072 bits) plus the exponent e, while DSA public keys include the generator g, modulus p (384 bytes), and verifier y = gx mod p, exceeding 768 bytes total excluding shared parameters. These reductions enable faster and lower memory usage, particularly in protocols like where public keys are frequently transmitted. Signature sizes further highlight ECDSA's efficiency over , though they align closely with . An ECDSA comprises two integers (r, s), each up to the bit length of n, yielding 64 bytes raw for a 256-bit curve before optional DER encoding (which adds minimal overhead, typically 70-72 bytes). signatures match the modulus size, approximately 384 bytes for 3072-bit security, due to schemes like PSS. signatures are similarly structured as (r, s) modulo the order q (256 bits), resulting in comparable 64-byte raw sizes, but the larger DSA parameters inflate overall protocol footprints. Thus, ECDSA minimizes bandwidth in applications like transactions or chains, where volume scales with usage.
Security Level (bits)ECDSA Curve Size (bits)RSA Modulus (bits)DSA Modulus/Subgroup (bits)
11222420482048 / 224
12825630723072 / 256
19238476807680 / 384
2565211536015360 / 521
This table illustrates NIST-derived equivalences, confirming ECDSA's compactness scales linearly with security while RSA and DSA grow exponentially.

Computational Performance Metrics

The computational performance of ECDSA is primarily determined by the cost of elliptic curve point multiplications, which dominate both signature generation and verification. Signature generation involves one full scalar multiplication to compute k \times G (where k is a random nonce and G is the base point), followed by a modular inverse computation in the field \mathbb{Z}/n\mathbb{Z} and basic arithmetic to derive the signature pair (r, s). Verification requires two scalar multiplications: u_1 \times G + u_2 \times Q (where u_1 and u_2 derive from the message hash, signature, and public key Q), which can be optimized via simultaneous computation or fixed-base techniques for the G term. These operations scale with the curve's bit length; for common curves like secp256r1 (256 bits, ~128-bit security), a single point multiplication typically requires tens to hundreds of thousands of CPU cycles on modern processors, depending on implementation and hardware accelerations like AVX instructions. Benchmarks on commodity hardware illustrate ECDSA's efficiency. On an Intel Platinum 8124M (3.0 GHz, 2018-era server CPU), optimized ECDSA-P256 signing achieves latencies of approximately 22.5 μs per signature, enabling over 10,000 signatures per second per core under sustained load. Verification times are higher due to the dual multiplications but remain in the low tens of microseconds. On similar amd64 architectures (e.g., Intel E3-1220 v2 at 3.1 GHz), point multiplication rates reach ~2,800 per second for P-256 using , translating to signing rates of ~2,500 per second (accounting for overhead) and at half that rate. These figures outperform equivalent-security (e.g., 256-bit modulus), which relies on slower modular exponentiations in larger finite fields, often by factors of 5–10x in signing and due to ECDSA's compact representations and fewer arithmetic operations per bit.
OperationECDSA-P256 (μs latency, Xeon 3 GHz)RSA-2048 equiv. (ms latency, same)Ratio (ECDSA faster)
Signing~22.5~1,289~57x
Verification~50–100 (est. from dual mult)~1–10 (est.)10–20x
Comparisons to RSA highlight ECDSA's advantages for equivalent security levels (e.g., ECDSA-256 vs. RSA-3072), where RSA's larger keys inflate modular exponentiation costs. ECDSA signing is substantially faster (orders of magnitude in throughput), though verification can be slower in absolute terms on unoptimized code due to EC arithmetic overhead; however, with larger RSA keys, ECDSA verification pulls ahead overall. Key generation, involving a single scalar multiplication by the curve order n, takes ~40,000–100,000 cycles (~10–30 μs) on modern CPUs, far quicker than RSA primality testing for comparable security. Implementations in libraries like OpenSSL or BoringSSL further optimize via curve-specific assembly, reducing costs on resource-constrained devices like ARM Cortex-M0+ to viable levels (e.g., ~1–3 point multiplications per second). Threshold variants introduce network and MPC overhead, slowing signing by 10–100x, but single-party ECDSA remains highly efficient for deployment in protocols like TLS.

Security Evaluation

Theoretical Security Basis

The theoretical security of the Elliptic Curve Digital Signature Algorithm (ECDSA) is founded on the intractability of the problem (ECDLP). The ECDLP consists of finding an integer d such that Q = d \cdot G, where G is a base point of prime order n on the , and Q is the corresponding public key point; for domain parameters with n of sufficient bit length, such as 256 bits in NIST's P-256 curve, no polynomial-time algorithm exists on classical computers to solve this problem efficiently. This hardness assumption underpins the difficulty of deriving the signer's private key from the public key or forging signatures, as any such operation would require resolving the ECDLP. ECDSA's security strength is quantified as the minimum of the strengths provided by the underlying (tied to ECDLP via the bit length of n), the used in signature generation, and protections against computation. For instance, curves with n \approx 2^{256} yield approximately 128 bits of security against ECDLP attacks, exceeding equivalent levels from or classical due to the ECDLP's greater resistance per bit compared to or finite-field discrete logarithms. NIST recommends curves where the cofactor is small (at most $2^6) and embedding degrees are high to resist reductions like the attack to finite-field pairings, ensuring the ECDLP remains the dominant hardness barrier. In the random oracle model, ECDSA achieves existential unforgeability under adaptive chosen-message attacks, with reductions showing that breaking the scheme implies solving the ECDLP or distinguishing the from a . These proofs, while idealized, indicate that flaws in the core mechanism are unlikely absent advances against ECDLP; empirical evidence supports this, as no generic breaks have emerged despite decades of scrutiny on recommended curves. However, assumes proper nonce randomness and curve validation, as theoretical guarantees do not extend to errors.

Proven Correctness and Reductions

The correctness of the ECDSA signature verification process is established through direct algebraic verification of the scheme's equations. Given a valid signature (r, s) generated from private key d_A, base point G, message hash e = \text{HASH}(m), and ephemeral nonce k, the verification computes u_1 = e \cdot s^{-1} \mod n and u_2 = r \cdot s^{-1} \mod n, then derives the point R' = u_1 G + u_2 Q_A, where Q_A = d_A G is the public key, and checks if the x-coordinate of R' modulo n equals r. Substituting the generation equations yields R' = k G, ensuring the x-coordinate matches r due to the group scalar multiplication properties and the definition of s = k^{-1} (e + d_A r) \mod n. Security reductions for ECDSA demonstrate that forging a valid signature is computationally equivalent to solving the problem (ECDLP) under specific idealized models. In the generic group model, which abstracts the group operation without exploiting curve-specific structure, Daniel R. L. Brown proved in 2002 that ECDSA is secure against existential forgery under adaptive chosen-message attacks, provided the underlying is collision-resistant and the ECDLP is hard; this reduction shows that an efficient forger implies an efficient ECDLP solver, with security loss proportional to the number of group operations. However, these reductions rely on non-standard assumptions, such as the generic group model or programming access to the hash and the coordinate-to-integer conversion function (x mod n). Algebraic reductions—those preserving the without such programming—are impossible for tight bounds, as established by meta-reduction arguments; forging ECDSA signatures cannot be reduced algebraically to ECDLP hardness unless the reduction can manipulate the conversion function, highlighting inherent non-programmability in the scheme's design. No full proof exists in the or even the model without additional idealized components, limiting the scheme's provable guarantees compared to alternatives like Schnorr signatures.

Empirical Attack Vectors and Mitigations

One prominent empirical on ECDSA exploits nonce reuse or predictability, where the ephemeral scalar k is repeated or insufficiently random across signatures, enabling private key recovery via solving linear equations modulo the curve order n. In December 2010, attackers exploited a flawed generator in Sony's firmware, leading to nonce reuse in ECDSA signatures and subsequent of the EC3 signing , compromising game content verification. Similar vulnerabilities have manifested in applications; for instance, in 2023, a novel "Polynonce" attack recovered private keys from Bitcoin signatures exhibiting partial nonce reuse patterns, affecting funds worth millions due to implementation flaws in wallet software. Lattice-based methods further amplify this threat by exploiting biased or partially leaked nonces; the attack recovers keys from as few as 500 signatures with simulated nonce leakage via hidden number problem reductions. Mitigations against nonce issues emphasize avoiding reliance on potentially weak randomness sources. RFC 6979 standardizes deterministic ECDSA, deriving k via HMAC-DRBG from the private key and message hash, ensuring reproducibility without external RNG and preventing reuse from entropy failures; this has been adopted in libraries like since 2012. However, deterministic schemes remain susceptible to fault induction altering the derivation, necessitating additional verification of signatures post-computation. Secure sources, such as hardware RNGs compliant with , and per-signature uniqueness checks via bloom filters in high-volume systems, provide complementary defenses. Side-channel attacks, particularly differential power analysis (DPA) on scalar multiplication during signing, constitute another empirical , leaking bits of k or the through timing, electromagnetic emissions, or variations. A 2015 study demonstrated extraction from mobile ECDSA implementations using non-intrusive EM analysis on devices like iPhones, recovering keys in under 100 traces by targeting Montgomery ladder implementations. Online template attacks have extracted full scalars from single traces by profiling models during . Countermeasures include constant-time algorithms, such as unified addition formulas and scalar blinding with random multiples, to eliminate data-dependent branches and operations; ladders with fixed window sizes have proven effective against simple in hardened libraries. Message and point blinding randomizes intermediate values, raising the trace requirement for higher-order DPA to infeasible levels, as validated in evaluations of Curve25519-based ECDSA variants. Regular auditing via tools like ChipWhisperer ensures implementation resistance. Fault injection attacks induce computational errors, such as via voltage glitching or laser pulses, to manipulate ECDSA's or modular reductions, revealing nonce bits for recovery. A 2022 attack targeted the round counter in ECDSA's double-and-add routine, recovering partial k from a single fault and the private key via HNP on subsequent signatures. Deterministic variants are vulnerable if faults corrupt inputs, potentially forging reusable . Mitigations involve fault detection through redundancy, such as recomputing and comparing signatures or verifying point coordinates against the canonical curve equation post-multiplication. in threshold ECDSA distributes computation to resist single-point faults, while hedged constructions in updated RFCs inject noise to invalidate faulty outputs without leaking keys. Hardware-level protections, like error-correcting codes in secure elements, further elevate attack costs.

Controversies and Implementation Risks

NSA-Generated Curve Parameters Debate

The elliptic curve parameters standardized by NIST for ECDSA, including P-256 (also known as secp256r1), were generated in 1997 by NSA cryptographer Jerry Solinas during the ANSI X9.62 standardization process, using seeds derived as SHA-1 hashes of undocumented inputs. These seeds, such as C49D360886E704936A6678E1139D26B7819F7E90 for P-256, were hashed according to IEEE 1363 guidelines to produce curve coefficients, prime fields, and base points, with iterations to ensure a suitable prime order near the field size. The opacity of the preimage inputs—speculated to involve humorous phrases like variations of "Give Jerry a raise" based on reverse-engineering attempts—prevents independent verification of randomness, prompting concerns that the NSA could have selected or manipulated parameters to embed subtle weaknesses, such as hidden algebraic structures exploitable via advanced precomputation. No such weaknesses have been empirically demonstrated despite decades of cryptanalysis. The controversy escalated with Edward Snowden's 2013 disclosures, which confirmed the NSA's insertion of a backdoor into , an elliptic curve-based standardized by NIST in SP 800-90A (2006), by choosing points P and Q on a specific with a undisclosed linear dependency that enables output prediction if the secret relation is known to the attacker. While Dual_EC_DRBG's vulnerability stems from its point selection rather than the underlying equation, the incident illustrated the NSA's influence over NIST processes and capacity for "rigging" parameters in ways undetectable without the key, paralleling fears for ECDSA curves where similar non-randomness could facilitate decryption or signature forgery under NSA-only conditions. In response, a 2023 bounty of $12,000 was offered to recover the exact seed preimages, but efforts yielded only speculative hashes without confirmation. Daniel J. Bernstein's SafeCurves framework critiques NIST curves for lacking "nothing-up-my-sleeve" verifiability, relying on outdated , exhibiting rigid parameter choices that constrain side-channel-resistant implementations, and in cases like P-224, featuring twists with small cofactors vulnerable to invalid-curve attacks. These properties, while not proven insecure for the problem central to ECDSA, could theoretically enable targeted exploits if intentionally introduced. Empirical evidence supports their robustness, as no parameter-specific breaks have occurred in widespread deployments like TLS or signatures, and NIST asserts compliance with rigorous testing. Nonetheless, some protocols have shifted to alternatives, such as Brainpool curves generated transparently via code by the German BSI in , or edwards curves derived from explicit constants like π digits, to prioritize auditable generation over convenience.

Historical Breaches and Nonce Reuse Incidents

One prominent historical breach occurred in December 2010, when hackers from the fail0verflow group exploited flaws in Sony's firmware signing process using ECDSA over the secp256k1 curve. The vulnerability stemmed from a defective (PRNG) that repeatedly produced the same value k across multiple signatures, enabling direct recovery of Sony's master private key via the standard ECDSA nonce reuse formula: given two signatures (r, s_1) and (r, s_2) for messages with hashes z_1 and z_2, the nonce k = (z_1 - z_2) / (s_1 - s_2) \mod n, followed by private key d = (s_1 k - z_1) / r \mod n. This allowed the group to forge signatures for arbitrary code, demonstrated at the 27th , compromising the console's security model and leading to widespread distribution. In August 2013, a critical flaw in Android's SecureRandom implementation caused reuse in ECDSA signatures generated by wallet applications, resulting in the theft of approximately 23,000 BTC (valued at millions of USD at the time) from affected users. The bug, identified as CVE-2013-4272, failed to properly reseed the PRNG after device boot or app restarts, leading to identical k values in transactions from the same wallet, which attackers scanned the to identify via matching r values in signatures. Recovery followed the same linear equations as above, exposing private keys and enabling fund drainage; analysis firms like issued alerts, and patched the issue in Android 4.2, but legacy devices remained vulnerable. These incidents underscore the catastrophic consequences of nonce predictability or reuse, which reduces ECDSA's to solving a system of linear congruences rather than the intended problem, often recoverable with minimal computation even for 256-bit keys. Subsequent mitigations include deterministic generation per RFC 6979, which derives k from the private key and message hash to avoid failures, though it requires secure hashing and does not protect against side-channel leaks of k. No major reuse breaches on the scale of or have been publicly reported since, but monitoring tools continue to detect and flag such signatures in cryptocurrencies.

Side-Channel and Fault Injection Vulnerabilities

Side-channel attacks exploit physical leakages from ECDSA implementations, such as timing variations, power consumption fluctuations, or electromagnetic emissions during key operations like nonce generation and elliptic curve scalar multiplication. These attacks do not target the underlying mathematics but rather non-constant-time behaviors in software or hardware, potentially revealing the private key or partial nonce bits when combined with techniques. For example, a 2017 lattice-based attack on OpenSSL's ECDSA implementation, which employs windowed non-adjacent form for , recovers the private key using traces from a small number of side-channel observations. Cache-timing variants, including Flush+Reload, have been shown to leak information from access patterns in ECDSA scalar multiplications, with success depending on the minimum number of traces needed for key recovery. Simple can distinguish point doublings from additions in naive Montgomery ladder implementations, while differential statistically correlates multiple traces to hypothesize intermediate values. Fault injection attacks induce transient errors in ECDSA computations, typically via electromagnetic pulses, voltage glitches, or laser strikes, to generate faulty signatures or failures that expose the private key. A 2022 attack targets the round counter in ECDSA's , inducing faults to recover partial bits; methods then reconstruct the full private key after approximately 100 faults in practical setups. Deterministic ECDSA variants, intended to prevent nonce reuse, remain vulnerable if faults alter the deterministic nonce derivation, allowing attackers to solve for the signing key using systems of faulty equations. Single-instruction skips during ECDSA or can bypass checks, enabling forged signatures or key recovery in embedded systems. Countermeasures for side-channel resistance include constant-time algorithms like the Montgomery ladder with uniform branching, scalar blinding to randomize computations, and point blinding to mask base points. Higher-order masking schemes distribute secrets across multiple shares to thwart advanced power or fault analyses, though they increase computational overhead by factors of 10-100 depending on the order. Fault detection relies on redundancy, such as duplicating scalar multiplications and comparing results, or zero-knowledge verification of signatures post-computation. Hedged constructions, which incorporate noise during signing, enhance resilience against both side-channels and faults in deployments like RFC 6979 updates. Despite these, black-box ECDSA implementations continue to yield to automated reverse-engineering via combined side-channel profiling, underscoring the need for hardware-specific validations.

Standardization and Deployment

Key Standards and Specifications

The Elliptic Curve Digital Signature Algorithm (ECDSA) is formally specified in the U.S. National Institute of Standards and Technology (NIST) Federal Information Processing Standard (FIPS) 186 series, which defines algorithms for digital signatures including , , and ECDSA. ECDSA was introduced in FIPS 186-2, approved on January 27, 2000, as an elliptic curve variant of , specifying , signature production, and over finite fields using NIST-recommended curves with prime field sizes from 192 to 521 bits. This standard referenced ANSI X9.62 for detailed operations and required random ephemeral keys for non-deterministic signing to ensure security against key recovery via nonce reuse. FIPS 186-3, approved June 25, 2009, expanded ECDSA support to include curves over binary fields alongside prime fields, refined parameter validation requirements, and aligned hash function usage with approved secure hash algorithms (SHA) families for message preprocessing. FIPS 186-4, finalized July 19, 2013, further updated ECDSA by mandating pairwise consistency tests for key pairs, specifying key derivation functions for composite keys, and incorporating deterministic nonce generation methods as an approved option to mitigate implementation flaws, while deprecating certain older curve sizes. The latest revision, FIPS 186-5, approved February 3, 2023, retains ECDSA as a core algorithm with security levels up to 256 bits, adds support for Edwards-curve DSA (EdDSA), removes DSA, and enforces stricter curve parameter generation to resist known elliptic curve discrete logarithm attacks. In parallel, the American Bankers Association's Accredited Standards Committee X9 provides financial industry-specific specifications for ECDSA. ANSI X9.62-1998 defined the core ECDSA primitive, including domain parameters ( equation, base point G, order n), private key d in {1, ..., n-1}, public key Q = d × G, and signature components (r, s) derived from a hashed message e = HASH(m) and ephemeral scalar k. Updated as ANSI X9.62-2005, it incorporated efficiency improvements for field arithmetic and Gaussian normal bases for binary fields. ANSI X9.142-2020 supersedes prior versions with enhanced criteria, verifiably random selection methods, and procedural controls for secure implementation, emphasizing 256-bit equivalents. Additional specifications address and enhancements. IEEE Std 1363-2000 standardized ECDSA alongside other public-key primitives, influencing subsequent adoptions. For protocols, 6979 (August 2013) standardizes deterministic ECDSA using the private key and message hash to derive k, eliminating random vulnerabilities without altering signature malleability properties. 5758 (January 2010) defines encoding and object identifiers for ECDSA in CMS and structures, ensuring consistent of signatures as SEQUENCE { r , s }. These standards collectively enforce ECDSA's reliance on the discrete logarithm problem's hardness, with curve orders n approximating 2256 or higher for modern deployments.

Adoption in Protocols and Systems

ECDSA is standardized in NIST's Federal Information Processing Standard (FIPS) 186-2, published in 2000, which approved its use for digital signatures alongside and , with subsequent updates in FIPS 186-4 (2013) and FIPS 186-5 (2023) refining parameters and deterministic variants via RFC 6979 (2013). Its compact key sizes and computational efficiency relative to equivalent-strength have driven adoption in resource-constrained environments, including devices and systems. In cryptocurrencies, ECDSA underpins transaction authentication, notably in , where it employs the secp256k1 curve to sign spends, ensuring funds are controlled only by private key holders since the protocol's launch in January 2009. similarly relies on ECDSA with secp256k1 for signing transactions and messages, facilitating wallet authentication and interactions from its inception in July 2015. This usage extends to other blockchains, where ECDSA verifies integrity against tampering. For internet protocols, ECDSA integrates into (TLS) via RFC 4492 (2006), which defines ECC cipher suites supporting ECDSA authentication and ephemeral key exchanges for versions 1.0 and 1.1, with extensions in RFC 8422 for TLS 1.2 and compatibility in TLS 1.3 (RFC 8446, 2018). In DNSSEC, ECDSA-P256-SHA256, specified in RFC 6605 (2012), signs resource records to prevent spoofing; by 2016, longitudinal analysis of over 50% of global DNS traffic showed varying operator adoption, aiding mitigation of amplification attacks and zone enumeration risks. Secure Shell (SSH) implementations, such as since version 5.7 (August 2010), support ECDSA host and user keys for authentication, offering performance advantages over in high-volume connections. Threshold variants of ECDSA have emerged for distributed systems, enabling multi-party signing in applications like cryptocurrency custody and DNSSEC key management without single-point failures, as detailed in protocols from 2018 onward. Despite broad deployment, adoption rates vary by sector, with cryptocurrencies achieving near-universal reliance on ECDSA while traditional PKI lags due to legacy RSA prevalence.

Emerging Challenges and Transitions

Quantum Computing Vulnerabilities

The security of ECDSA relies on the computational hardness of the elliptic curve discrete logarithm problem (ECDLP), which assumes that recovering a private key from a public key is infeasible for classical computers. Quantum computers threaten this foundation through , adapted for ECDLP, which solves the problem in polynomial time by exploiting quantum parallelism and the to find the efficiently. This adaptation, detailed by Proos and Zalka in , requires a quantum circuit of depth approximately O(n^3 log n) for an n-bit prime field elliptic curve, enabling an attacker to compute the signer's private key d_A from the public key Q_A = d_A × G in feasible time on a sufficiently powerful . Resource estimates for breaking 256-bit ECDSA curves, such as those in secp256r1 or secp256k1, indicate a need for roughly 2330 logical qubits and a runtime of about 1 hour assuming a 1 GHz quantum clock speed, though error-corrected physical qubits could exceed several million due to fault-tolerance overhead. These figures position as more quantum-vulnerable than RSA-2048, which demands over 20 million logical qubits for equivalent security, highlighting ECC's relative efficiency in key size but heightened risk under quantum attack models. Current quantum hardware, limited to hundreds of noisy qubits with short coherence times, cannot execute such algorithms reliably, as demonstrated by systems like IBM's 433-qubit or Google's Sycamore, which lack the scale and error rates for fault-tolerant computation. A successful quantum attack on ECDSA would enable forgery of signatures by deriving private keys from exposed public keys, compromising protocols like TLS certificates or transactions without needing nonce reuse or side-channels. The "" threat amplifies urgency, where adversaries collect encrypted data or public keys today for future decryption or signature forgery once quantum capabilities mature, particularly affecting long-lived keys in financial or governmental systems. In response, NIST's standardization, finalized with algorithms like CRYSTALS-Dilithium in FIPS 204 (August 2024), mandates deprecation of ECDSA and related schemes by 2030 for federal systems, with full disallowance by 2035 to mitigate risks from anticipated quantum advances. This timeline reflects empirical projections that cryptographically relevant quantum computers—capable of breaking 256-bit —may emerge within 10-20 years, driven by progress in logical scaling and error correction.

Path to Post-Quantum Signatures

ECDSA's security depends on the discrete logarithm problem (ECDLP), which can solve in polynomial time on a quantum computer with sufficient qubits, estimated at around 2,000–4,000 logical qubits for 256-bit curves like secp256k1 used in . This vulnerability threatens signature verification, private key recovery from public keys, and overall protocol integrity once cryptographically relevant quantum computers emerge, projected by some analyses within 10–20 years. The National Institute of Standards and Technology (NIST) leads global efforts to standardize post-quantum cryptography (PQC), focusing on signature algorithms based on lattice problems, hash functions, and multivariate quadratics resistant to both classical and quantum attacks. In 2022, NIST selected CRYSTALS-Dilithium (renamed ML-DSA), FALCON, and SPHINCS+ as primary candidates for standardization, with FIPS 204 (ML-DSA) and others finalized by August 2024 for deployment. These schemes offer security levels comparable to ECDSA-256 (e.g., NIST Level 3 equivalent to 128-bit classical security) but with larger signatures—Dilithium at 2–4 KB versus ECDSA's ~70 bytes—and higher computational costs. Transition from ECDSA involves cryptographic agility in protocols like TLS 1.3 and SSH, enabling signature algorithm negotiation. Hybrid approaches, pairing ECDSA with a PQC scheme (e.g., ECDSA || ), provide interim protection against harvest-now-decrypt-later attacks while maintaining compatibility, as recommended in NIST IR 8547. For blockchain applications reliant on ECDSA, such as , proposed modifications include quantum-resistant variants like hybrid ECDSA with lattice-based commitments, though full migration requires consensus and hard forks. Challenges include key size impacts on , verification (SPHINCS+ up to 10x slower than ECDSA), and side-channel risks in new implementations, necessitating rigorous testing per NIST guidelines. Organizations are advised to inventory ECDSA usage, prioritize high-value assets, and pilot PQC integrations by 2030 to align with projected quantum timelines.

References

  1. [1]
    ECDSA - Glossary | CSRC - NIST Computer Security Resource Center
    A digital signature algorithm that is an analog of DSA using elliptic curves. Sources: NIST SP 800-175B Rev. 1 under Elliptic Curve Digital Signature Algorithm ...
  2. [2]
    [PDF] FIPS 186-5 - NIST Technical Series Publications
    Feb 3, 2023 · (2) The Elliptic Curve Digital Signature Algorithm (ECDSA) is specified in this standard. ECDSA was originally specified in American ...
  3. [3]
    [PDF] The Elliptic Curve Digital Signature Algorithm (ECDSA)
    It was accepted in 1999 as an ANSI standard, and was accepted in 2000 as IEEE and NIST standards.
  4. [4]
    Comparing ECDSA vs RSA: A Simple Guide - SSL.com
    Oct 15, 2024 · For instance, a 256-bit ECDSA key offers comparable security to a 3072-bit RSA key. RSA commonly employs key sizes between 2048 and 4096 bits.
  5. [5]
    ECC vs RSA vs DSA - Encryption Differences | Sectigo® Official
    ECC is more efficient. As the figure shows, with ECC you get equivalent cryptographic strength with significantly smaller key sizes - about an order of ...
  6. [6]
    [PDF] Elliptic Curves and Cryptography: a 30 year perspective
    Apr 28, 2015 · Studied intensively by number theorists for past 100 years. Until recently fairly arcane. Before 1985 – virtually unheard of in crypto and ...
  7. [7]
    [PDF] Lecture 12: Elliptic Curves - Applied Cryptography Group
    Koblitz, “Elliptic curve cryptosystems,” Mathematics of computation, vol. ... Miller, “Use of elliptic curves in cryptography,” in CRYPTO '85, 1985. [3] ...
  8. [8]
    FIPS 186-2, Digital Signature Standard (DSS) | CSRC
    This standard specifies a suite of algorithms which can be used to generate a digital signature. Digital signatures are used to detect unauthorized ...Missing: ECDSA | Show results with:ECDSA
  9. [9]
    [PDF] FIPS 186-2, Digital Signature Standard (DSS) (superseded October ...
    Jan 27, 2000 · (NIST editorial note: either DSA, RSA [ANSI X9.31], or ECDSA [ANSI X9.62] may be used; all three do not have to be implemented.) Implementations ...
  10. [10]
    Elliptic Curve Digital Signature Algorithm - ScienceDirect.com
    ECDSA was proposed as a response to NIST's proposal by Scott Vanstone in 1992 through John Anderson [62]. ECDSA is accepted as an ISO standard (since 1998) ...
  11. [11]
    The Elliptic Curve Digital Signature Algorithm (ECDSA)
    This paper describes the ANSI X9.62 ECDSA, and discusses related security, implementation, and interoperability issues.
  12. [12]
    Digital Signatures - Cryptographic Algorithm Validation Program
    Elliptic Curve Digital Signature Algorithm Validation System (ECDSAVS) specifies validation testing requirements for the ECDSA algorithm in FIPS 186-2. Testing ...Missing: 2000 | Show results with:2000
  13. [13]
    [PDF] NIST.SP.800-186.pdf
    Let Ba,b be the Weierstrass curve with defining equation y2 + x y = x3 + a x2 + b, where a and b are elements of GF(q) with b ≠ 0.
  14. [14]
    [PDF] Chapter 4 - Elliptic Curves over Finite Fields - Koc Lab
    Let F be a finite field and let E be an elliptic curve defined over F. Since there are only finitely many pairs (x, y) with x, y ∈ F, the group E(F) is.
  15. [15]
    Elliptic Curve Cryptography: finite fields and discrete logarithms
    May 23, 2015 · We will restrict our elliptic curves to finite fields, rather than the set of real numbers, and see how things change.
  16. [16]
    [PDF] The elliptic curve discrete logarithm problem and equivalent hard ...
    The Elliptic Curve Discrete Logarithm Problem (ECDLP) asks to find k such that Q = [k]P, where Q is in hPi and P is given on an elliptic curve.
  17. [17]
    [PDF] Discrete Logarithms on Elliptic Curves - Rose-Hulman Scholar
    The discrete logarithm problem on elliptic curves is to solve kB = P for k, similar to the classical problem of solving gx ≡ y (mod p) for x.
  18. [18]
    [PDF] the discrete log problem and elliptic curve cryptography
    With this definition of security based on run-time order, the more secure ... The discrete log problem's hardness is thus an appropriate security measure.
  19. [19]
    [PDF] Generic Algorithms for the Discrete Logarithm Problem
    Mar 17, 2021 · For points on elliptic curves, we should use bits from the x-coordinate, since this will allow us to detect collisions of the form γj = ±γk (we ...
  20. [20]
    [PDF] Public Comments Received on NIST SP 800-186
    Jan 29, 2020 · on the complexity of solving the Elliptic Curve Discrete Logarithm Problem. (ECDLP), conjectured to be exponential. Therefore, ECC is an ...
  21. [21]
    [PDF] Efficient ephemeral elliptic curve cryptographic keys
    ECDLP security. For the security of ECC, the discrete logarithm problem in the group of points of the elliptic curve must be hard. In this first category of ...
  22. [22]
    What is Elliptic Curve Cryptography? - ECC | Horizen Academy
    Feb 21, 2023 · ECC is based on discrete math where only certain values are allowed. The security is based on the hardness of the discrete logarithm problem.
  23. [23]
    [PDF] Recent progress on the elliptic curve discrete logarithm problem
    Oct 22, 2015 · Hence, in practice, the study of algorithms for the ECDLP is the main way to assess the security of cryptographic applications of elliptic ...
  24. [24]
    [PDF] Digital Signature Standard (DSS) - NIST Technical Series Publications
    Feb 5, 2024 · DSA. Digital Signature Algorithm; specified in this Standard. ECDSA. Elliptic Curve Digital Signature Algorithm; specified in ANS X9.62. FIPS.
  25. [25]
    RFC 6979 - Deterministic Usage of the Digital Signature Algorithm ...
    This document defines a deterministic digital signature generation procedure. Such signatures are compatible with standard Digital Signature Algorithm (DSA) ...
  26. [26]
    [PDF] SEC 2: Recommended Elliptic Curve Domain Parameters
    Sep 20, 2000 · 3.1 Properties of Elliptic Curve Domain Parameters over F2m . ... Digital Signature Algorithm (ECDSA). American Bankers Association, 1999 ...
  27. [27]
    RFC 5639 - Elliptic Curve Cryptography (ECC) Brainpool Standard ...
    This memo proposes several elliptic curve domain parameters over finite prime fields for use in cryptographic applications.
  28. [28]
  29. [29]
  30. [30]
    How does recovering the public key from an ECDSA signature work?
    Jul 12, 2014 · Actually, it is not possible to uniquely recover the public key from an ECDSA signature (r,s). This remains true even if we also assume you ...Recovering Public Key from ECDSA signature- why is it required at ...Can we recover public key from DSA signatures as we can from ...More results from crypto.stackexchange.com
  31. [31]
    ECDSA: Elliptic Curve Signatures
    Jun 19, 2019 · These curves are described by their EC domain parameters, specified by various cryptographic standards such as SECG: SEC 2 and Brainpool (RFC ...Key Generation · ECDSA Sign · ECDSA Verify Signature · How Does it Work?Missing: specification | Show results with:specification
  32. [32]
    Diffie-Hellman, RSA, DSA, ECC and ECDSA - Asymmetric Key ...
    ECC cryptography helps to establish a level security equal to or greater than RSA or DSA, the two most widely-adopted encryption methods – and it does it with ...
  33. [33]
    NIST Report on Cryptographic Key Length and Cryptoperiod (2020)
    Cryptographic key length recommendations and cryptoperiods extract from NIST Special Publication 800-57 Part 1, Recommendation for Key Management.
  34. [34]
    what is the size of public key for ecdsa spec256r1 - Super User
    Jul 29, 2019 · According to this page, the 65 byte public key is the uncompressed variant. The first byte 0x04 is the prefix, then it is followed by two 32- ...
  35. [35]
    Comparing SSH Keys - RSA, DSA, ECDSA, or EdDSA? - Teleport
    Aug 26, 2020 · However, ECDSA relies on the same level of randomness as DSA, so the only gain is speed and length, not security. In response to the desired ...
  36. [36]
    Signatures: RSA compared to ECDSA - Cryptography Stack Exchange
    Jul 12, 2012 · The answer to that question is yes, both ECDSA signatures and public keys are much smaller than RSA signatures and public keys of similar security levels.How do RSA and ECDSA differ in signing performance?DSS security in comparison to ECDSA or RSAMore results from crypto.stackexchange.comMissing: efficiency | Show results with:efficiency
  37. [37]
    Elliptic Curve Digital Signature Algorithm - Wikipedia
    The Elliptic Curve Digital Signature Algorithm (ECDSA) offers a variant of the Digital Signature Algorithm (DSA) which uses elliptic-curve cryptography.Signature generation algorithm · Signature verification algorithm · Security
  38. [38]
  39. [39]
    Speed Benchmarks - BearSSL
    ECDSA signature generation (on the server when doing ECDHE_ECDSA, on the client when using client certificates with EC keys) requires one point multiplication ...
  40. [40]
    Scaling and benchmarking - SSL/TLS - Cloudflare Docs
    Oct 18, 2024 · As expected and explained above, ECDSA signature performance far exceeds that of RSA. The results show that each core of this c5.xl machine can ...Missing: metrics | Show results with:metrics<|separator|>
  41. [41]
    [PDF] Performance and Security of ECDSA - Koc Lab
    Thus, it appears that ECDSA has more advantages over. RSA. Its small key sizes are beneficial in environments where resources such as storage space are limited.
  42. [42]
    Can a billion elliptic curve keys be generated on a laptop in less ...
    Oct 16, 2015 · The very fastest elliptic curve algorithms can generate a key-pair in about 40k cycles on a modern CPU. A high end laptop has four cores ...
  43. [43]
    [PDF] A Novel Related Nonce Attack for ECDSA - Cryptology ePrint Archive
    The security of ECC is based on the difficulty of solving the discrete loga- rithm problem over the group of points of a suitable elliptic curve (ECDLP) and its ...<|separator|>
  44. [44]
    [PDF] Evaluation Report on the ECDSA signature scheme - CRYPTREC
    However, it is generally acknowledged that a security proof in the random oracle model provides an overall guarantee that a scheme is not flawed, based on ...
  45. [45]
    Is there any proof for ECDSA signature algorithm?
    Jul 23, 2020 · A proof for ECDSA signature algorithm comes in two parts: Correctness (also called soundness), proving that a legitimate signature is always accepted. And ...Are DSA and ECDSA provably secure assuming DL security?Why is ECDSA secure? - Cryptography Stack ExchangeMore results from crypto.stackexchange.com
  46. [46]
    [PDF] A New Generic Digital Signature Algorithm - UOW
    The correctness proofs of the DSA, ECDSA and our new algorithm are based on the following classical theorem. Theorem 2.1. (Lagrange's Theorem) In a finite ...
  47. [47]
    Generic Groups, Collision Resistance, and ECDSA
    This work seems to be the first advance in the provable security of ECDSA. Note: This paper is a revision of an earlier draft "The Exact Security of ECDSA ...
  48. [48]
    Generic Groups, Collision Resistance, and ECDSA
    This work seems to be the first advance in the provable security of ECDSA. ... Correspondence to Daniel R. L. Brown. Additional information. Communicated by ...
  49. [49]
    Limits in the Provable Security of ECDSA Signatures
    Jun 14, 2023 · We establish, by means of a meta reductions, that an algebraic security reduction for ECDSA can only exist if the security reduction is ...
  50. [50]
    [PDF] ECDSA - CRYPTREC
    Unfortunately, nobody has, so far, been able to prove security of the ECDSA in the random- oracle model. Hence the effort to prove security against another ...
  51. [51]
    Polynonce: A Tale of a Novel ECDSA Attack and Bitcoin Tears
    Mar 6, 2023 · The Novel Attack. Part of the Kudelski Security Research Team's activities includes looking into new vulnerabilities and exploits. A few months ...The Novel Attack · Bitcoin! · Ethereum · TLS
  52. [52]
    [PDF] Minerva: The curse of ECDSA nonces - Cryptology ePrint Archive
    We propose two new methods to recover the full private key requiring just 500 signatures for simulated leakage data, 1200 for real cryptographic library data, ...Missing: historical | Show results with:historical
  53. [53]
    [PDF] Attacking Deterministic Signature Schemes using Fault Attacks
    Oct 14, 2017 · A vulnerability in a Java RNG lead to a further failure by the usage of ECDSA. Reuse of nonces allowed attackers to retrieve private keys from ...
  54. [54]
    ECDSA Key Extraction from Mobile Devices via Nonintrusive ...
    iOS 9.x does not appear vulnerable: its implementation uses side-channel mitigation techniques and we have no evidence that it is vulnerable. CoreBitcoin: ...
  55. [55]
    Online Template Attack on ECDSA: Extracting Keys via the Other Side
    Online template attacks are an adaptive template-attack technique that can recover a complete scalar from only one power trace of a scalar multiplication using ...Missing: practical | Show results with:practical
  56. [56]
    [PDF] Efficient Side-Channel Attacks on Scalar Blinding on Elliptic Curves ...
    In signed representation, these error vectors have low Hamming weight. In analogy to the enhanced attack [9, 10] it seems to be reasonable to consider the NAF ...
  57. [57]
    [PDF] High Order Side-Channel Security for Elliptic-Curve Implementations
    Nov 29, 2022 · Section 2 gives an overview of the state of affairs regarding side-channel attacks against ECC implementations and the existing countermeasures.
  58. [58]
    Practical Fault Attack on ECDSA Round Counter - IEEE Xplore
    Dec 23, 2022 · The vulnerability is a fault attack on the ECDSA round counter, which can recover partial nonce bits and then the private key via a lattice ...
  59. [59]
    Hedged ECDSA and EdDSA Signatures - IETF
    Mar 16, 2024 · This document updates RFC 6979 and RFC 8032 to recommend hedged constructions in deployments where side-channel attacks and fault injection attacks are a ...
  60. [60]
    SoK: Fault Injection Attacks on Cryptosystems - ACM Digital Library
    Oct 29, 2023 · Fault injection attacks are a powerful technique that intentionally induces faults during cryptographic computations to leak secret information ...
  61. [61]
    How were the NIST ECDSA curve parameters generated?
    The NIST ECDSA curve seeds were likely generated by hashing a humorous message, possibly with a counter, by Jerry Solinas of the NSA, but the exact details are ...
  62. [62]
    nsa - Who originally generated the elliptic curve now known as P256 ...
    Sep 19, 2023 · Jerry Solinas, an NSA employee, definitely provided the seeds. This has been confirmed by one of the authors of the ANSI X9.62 ECDSA standard (Alfred Menezes).Should we trust the NIST-recommended ECC parameters?How to interpret the article claiming NIST P-256 curve to be unsafe?More results from crypto.stackexchange.com
  63. [63]
    Announcing the $12k NIST Elliptic Curves Seeds Bounty
    Oct 5, 2023 · Apparently, they were provided by the NSA, and generated by Jerry Solinas in 1997. He allegedly generated them by hashing, presumably with SHA-1 ...
  64. [64]
    The Many Flaws of Dual_EC_DRBG
    Sep 18, 2013 · Flaw #1: Dual-EC has no security proof · 1. A stage that generates a series of pseudorandom elliptic curve points · 2. Extract pseudorandom bits ...
  65. [65]
    The Strange Story of Dual_EC_DRBG - Schneier on Security -
    Nov 15, 2007 · But one of those generators—the one based on elliptic curves—is not like the others. Called Dual_EC_DRBG, not only is it a mouthful to say ...
  66. [66]
    BADA55 elliptic curves - SafeCurves
    The NIST curves were designed by NSA. It is conceivable that security problems in the NIST curves, such as the low twist-security of NIST P-224, were introduced ...
  67. [67]
    SafeCurves: Introduction
    SafeCurves is designed to ensure ECC security, not just ECDLP security, by using better curve choices for simple, secure implementations.Base points · Fields · Twist security · EquationsMissing: generated | Show results with:generated
  68. [68]
    Sony PS3 Security Broken
    Jan 6, 2011 · Sony used an ECDSA signature scheme to protect the PS3. Trouble is, they didn't pay sufficient attention to their random number generator.
  69. [69]
    PS3 hacked through poor cryptography implementation - Ars Technica
    Dec 30, 2010 · A group of hackers called fail0verflow claim they've figured out a way to get better control over a PlayStation 3 than ever before.Missing: nonce reuse
  70. [70]
    [PDF] Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies
    In 2013, a major bug in Android. SecureRandom was blamed for the theft of Bitcoin from many users of Android wallets, due to the faulty random number generators ...
  71. [71]
    Bitcoin transaction nonce reuse vulnerability - STRM
    In 2013 a smart hacker knowing about this launched an attack against the Bitcoin transactions. Due to a bug on Android's PRNG that made it not being initialized ...
  72. [72]
    Attacking OpenSSL ECDSA with a small amount of side-channel ...
    Aug 30, 2017 · Abstract. In this work, we mount a lattice attack on the ECDSA signatures implemented by the latest version of OpenSSL which uses the windowed ...Missing: reviewed | Show results with:reviewed
  73. [73]
    [PDF] On the Applicability of a Cache Side-Channel Attack on ECDSA ...
    The Flush+Reload attack is a cache side-channel attack that relies on cache hits/misses to recover secret information from the target program execution. In ...Missing: peer- | Show results with:peer-
  74. [74]
    Fault Attacks on ECC Signature Verification
    Sep 5, 2025 · We discovered several attacks on the implementation of the ECDSA and EdDSA verification algorithms. Here, a single instruction skip is ...Missing: vulnerabilities | Show results with:vulnerabilities
  75. [75]
    Reverse engineering black-box elliptic curve cryptography via side ...
    Sep 5, 2024 · We present a set of novel methods for automated reverse engineering of black-box ECC implementations and release a documented and usable open-source toolkit.Missing: peer- reviewed
  76. [76]
    FIPS 186-4, Digital Signature Standard (DSS) | CSRC
    This standard specifies three techniques for the generation and verification of digital signatures: DSA, ECDSA and RSA.
  77. [77]
    Announcing Issuance of Federal Information Processing Standard ...
    Feb 3, 2023 · FIPS 186 was initially developed by NIST in ( printed page 7411) collaboration with the National Security Agency (NSA), using the NSA-designed ...
  78. [78]
    [PDF] The Elliptic Curve Digital Signature Algorithm (ECDSA) - SafeCurves
    Sep 20, 1998 · ... 62 represents the root of the tree containing all object identifiers defined in this. Standard, and has the following value: ansi-X9-62 ...
  79. [79]
    ASC X9 Issues New Standard for Public Key Cryptography/ECDSA
    Oct 6, 2020 · The X9.142 ECDSA standard provides methods and criteria for generating the public and private keys that the ECDSA requires, and procedural ...
  80. [80]
    RFC 5758 - IETF
    This document updates RFC 3279 to specify algorithm identifiers and ASN.1 encoding rules for the Digital Signature Algorithm (DSA) and Elliptic Curve Digital ...
  81. [81]
    None
    Summary of each segment:
  82. [82]
    [PDF] A Multiparty Computation Approach to Threshold ECDSA
    Dec 17, 2018 · (c) Consistency check. In order to verify that consistent inputs were supplied to the multipliers, we introduce a simple consistency check.
  83. [83]
    ECDSA: The digital signature algorithm of a better internet
    Mar 10, 2014 · Scott Vanstone, popularizer of elliptic curve cryptography and inventor of the ECDSA algorithm. He passed away on March 2, 2014. At ...
  84. [84]
    How to Verify Message Signatures on Ethereum | QuickNode Guides
    Oct 9, 2025 · This is achieved using ECDSA. Ethereum signatures are used to: Authenticate the sender of a transaction. Ensure the integrity of the transaction ...Overview​ · What You Will Do​ · Signature Generation​
  85. [85]
    Accelerating Elliptic Curve Digital Signature Algorithms on GPUs
    ... (ECDSA) is an essential building block of various cryptographic protocols. In particular, most blockchain systems adopt it to ensure transaction integrity.
  86. [86]
    RFC 4492 - Elliptic Curve Cryptography (ECC) Cipher Suites for ...
    This document describes new key exchange algorithms based on Elliptic Curve Cryptography (ECC) for the Transport Layer Security (TLS) protocol.
  87. [87]
    RFC 8422 - Elliptic Curve Cryptography (ECC) Cipher Suites for ...
    This document describes key exchange algorithms based on Elliptic Curve Cryptography (ECC) for the Transport Layer Security (TLS) protocol.
  88. [88]
    On the adoption of the elliptic curve digital signature algorithm ...
    Oct 31, 2016 · In this paper we study the actual adoption of ECDSA by DNSSEC operators, based on longitudinal datasets covering over 50% of the global DNS ...
  89. [89]
    ECDSA: The missing piece of DNSSEC - Cloudflare
    We'd like to argue that ECDSA helped us eliminate the final two barriers for widespread DNSSEC adoption: zone enumeration and DDoS amplification.
  90. [90]
    How to use ECDSA and ECDH with openssh on Red Hat Enterprise ...
    Sep 19, 2025 · How do I configure openssh server and client to use ECDSA keys or ECDH key exchange methods? Environment. Red Hat Enterprise Linux 6; openssh- ...
  91. [91]
    [PDF] Real Threshold ECDSA
    Feb 27, 2023 · Abstract—Threshold ECDSA recently regained popularity due to decentralized applications such as DNSSEC and cryptocur- rency asset custody.
  92. [92]
    On the Adoption of the Elliptic Curve Digital Signature Algorithm ...
    Nov 30, 2016 · In this paper we study the actual adoption of ECDSA by DNSSEC operators, based on longitudinal datasets covering over 50% of the global DNS ...
  93. [93]
    [PDF] Quantum Complexity for Discrete Logarithms and Related Problems
    Shor's algorithm for the discrete logarithm problem and related algorithms can be described in this model and make O(log |G|) group operations in their basic ...
  94. [94]
    [PDF] Shor's discrete logarithm quantum algorithm for elliptic curves - arXiv
    Jan 22, 2004 · Shor's quantum algorithms for integer factoring and discrete logarithms have about equal complexity, namely typically O(n3). Thus there is a ...
  95. [95]
    Resource analysis and modifications of quantum computing with ...
    Feb 16, 2024 · ... qubits and execution time of Shor's factoring algorithm to assess the risk of attack by quantum computers in RSA and elliptic curve cryptography
  96. [96]
    Using Shor's Algorithm to Break RSA vs DH/DSA VS ECC
    Aug 24, 2021 · Most security experts are by now aware of the threat that the rise of quantum computing poses to modern cryptography. Shor's quantum algorithm ...
  97. [97]
    [PDF] Assessment of Quantum Threat To Bitcoin and Derived ... - IACR
    Jul 18, 2021 · This research provides an approach to assess the relative quantum threat posed to a cryptocurrency. This enables the tracking of risk against ...
  98. [98]
    [PDF] NIST IR 8547 initial public draft, Transition to Post-Quantum ...
    Nov 12, 2024 · In response, NIST has released three PQC standards to start the next and significantly large stage of working on the transition to post-quantum ...
  99. [99]
    NIST Drops New Deadline for PQC Transition - Keyfactor
    NIST set a deadline: by 2030, RSA, ECDSA, EdDSA, DH, and ECDH will be deprecated, and by 2035, they will be disallowed.
  100. [100]
    IR 8545, Status Report on the Fourth Round of the NIST Post ...
    Mar 11, 2025 · NIST is selecting public-key cryptographic algorithms through a public, competition-like process to specify additional digital signature, public ...
  101. [101]
    Selected Algorithms - Post-Quantum Cryptography | CSRC
    March 2025: The rationale for choosing the HQC algorithm for standardization is described in NIST IR 8545, Status Report on the Fourth Round of the NIST Post- ...
  102. [102]
    NIST Releases First 3 Finalized Post-Quantum Encryption Standards
    Aug 13, 2024 · NIST plans to announce its selection of one or two of these algorithms by the end of 2024. The second set includes a larger group of algorithms ...
  103. [103]
    Post-Quantum Cryptography | CSRC
    NIST initiated a process to solicit, evaluate, and standardize one or more quantum-resistant public-key cryptographic algorithms. Full details can be found in ...Selected Algorithms · Workshops and Timeline · Presentations · Post-Quantum
  104. [104]
    [PDF] Post-Quantum Readiness in EdDSA Chains
    Jul 28, 2025 · We classify existing transition strategies into four families: (1) Hybrid Signatures: Attach a quantum-safe signature (e.g.,. Dilithium [10]) ...
  105. [105]
  106. [106]
    Next steps in preparing for post-quantum cryptography - NCSC.GOV ...
    How system owners can begin planning for the migration to post-quantum cryptography (PQC).