In cryptography, the ECDSA (Elliptic Curve Digital Signature Algorithm) is a cryptographic is the elliptic curve analogue of the Digital Signature Algorithm (DSA) which uses elliptic curve cryptography.

As with elliptic-curve cryptography in general, the bit size of the public key believed to be needed for ECDSA is about twice the size of the security level, in bits. For example, at a security level of 80 bits (meaning an attacker requires a maximum of about {\displaystyle 2^{80}} operations to find the private key) the size of an ECDSA public key would be 160 bits, whereas the size of a DSA public key is at least 1024 bits. On the other hand, the signature size is the same for both DSA and ECDSA: approximately {\displaystyle 4t} bits, where {\displaystyle t} is the security level measured in bits, that is, about 320 bits for a security level of 80 bits.

It was accepted in 1999 as an ANSI standard and in 2000 as IEEE and NIST standards. It was also accepted in 1998 as an ISO standard and is under consideration for inclusion in some other ISO standards.

A few concepts related to ECDSA:

  • Private key: A secret number, known only to the person that generated it. A private key is essentially a randomly generated number. In Bitcoin, someone with the private key that corresponds to funds on the public ledger can spend the funds. In Bitcoin, a private key is a single unsigned 256 bit integer (32 bytes).
  • Public key: A number that corresponds to a private key, but does not need to be kept secret. A public key can be calculated from a private key, but not vice versa. A public key can be used to determine if a signature is genuine (in other words, produced with the proper key) without requiring the private key to be divulged. In Bitcoin, public keys are either compressed or uncompressed. Compressed public keys are 33 bytes, consisting of a prefix either 0x02 or 0x03, and a 256-bit integer called x. The older uncompressed keys are 65 bytes, consisting of constant prefix (0x04), followed by two 256-bit integers called and y (2 * 32 bytes). The prefix of a compressed key allows for the y value to be derived from the x
  • Signature: A number that proves that a signing operation took place. A signature is mathematically generated from a hash of something to be signed, plus a private key. The signature itself is two numbers known as r and s. With the public key, a mathematical algorithm can be used on the signature to determine that it was originally produced from the hash and the private key, without needing to know the private key. Signatures are either 73, 72, or 71 bytes long, with probabilities approximately 25%, 50% and 25% respectively, although sizes even smaller than that are possible with exponentially decreasing probability.


Related Products

Related Articles

Yubico Launches YubiHSM 2: The World’s Smallest and Best Price/Performance Hardware Security Module, Providing Root of Trust for Servers and Computing Devices

October 31st, 2017|

PALO ALTO, CA – October 31, 2017 – Yubico, the leading provider of authentication and encryption hardware devices for the modern web, today launched the YubiHSM 2, a new, cost-effective Hardware Security Module (HSM) for servers and IoT gateways. The

New Versions of VanDyke Software’s SecureCRT 8.0 and SecureFX 8.0 Feature an Updated User Interface and Enhanced Smart Card Support

March 31st, 2016|

Albuquerque, N.M. (March 31, 2016) — VanDyke Software®, a developer of multi-platform secure terminal emulation, secure file transfer, and remote administration software, today released the newest official versions of SecureCRT® 8.0 SSH client and SecureFX® 8.0 secure file transfer client for

SecureCRT 8.0 and SecureFX 8.0 Beta Releases from VanDyke Software Introduce an Updated User Interface and Enhanced Smart Card Support

January 28th, 2016|

Albuquerque, N.M. (January 28, 2016) — VanDyke Software®, a developer of multi-platform secure terminal emulation and secure file transfer software, today announced the beta releases of SecureCRT® 8.0 and SecureFX® 8.0. SecureCRT and SecureFX 8.0 (beta) feature an updated user interface

Categories: Cryptography, Security
« Back to Glossary Index