**Explanation of Bitcoin’s Elliptic Curve Digital Signature Algorithm**

--

Elliptic Curve Cryptography (ECC) has grown to be very popular in public-key cryptographic systems, most popularly used in Bitcoin. ECC is based on the algebraic structures of elliptic curves over finite fields and the complexity of the elliptic curves discrete logarithm problem.

ECC incorporates all important asymmetric cryptographic systems features, including encryption, signatures, and key exchange. Because ECC employs fewer keys and signatures for the same degree of security as RSA and enables very quick key generation, key agreement, and signatures, it is considered a natural contemporary successor to the RSA cryptographic systems.

This article aims to explain elliptic curve cryptography and digital signatures used in Bitcoin in detail as simply as possible.

# Public Key Cryptography

Public key cryptography or asymmetric cryptography is a cryptographic system made up of several different mathematical functions. Using a pair of keys, *private** *and* *** public**, a person is able to encrypt any message using the intended receiver’s

*public key*, such that the encrypted message can only be decrypted with the receiver’s

*private key*.

*private key:* A value that is randomly generated and must be known only to the person that generated it. In Bitcoin, a private key is an unsigned 256 bit integer used to allow someone to spend the funds corresponding to that private key.

*public key*: A value that corresponds to the private key and does not need to remain a secret. Public keys could be generated using the private key, however, it should not be possible to calculate the private key from the public key. The combination of the public key and the private key from your bitcoin wallet. The reason that public keys exist is in order to prove that a user knows the private key without revealing it to another person. In order to do that we use digital signatures.

A digital signature is a mathematical process of proving ownership of a private key without revealing it. The Elliptic Curve Digital Signature Algorithm, used in bitcoin, uses a ** finite field** and an

**in order to sign transactions such that any user can prove authenticity of that signature without…**

*elliptic curve*