Key Technology
Key Technology
The following concepts may be helpful to know for those that are new to cryptography & blockchain technology.
Private Key
The privately held 256 bit integer that correspond to a particular wallet address. Anyone can send transactions to a wallet address (the public key), but only those who know the private key can unlock the wallet to withdraw assets from.
Public Key
The publicly available address that corresponds to a particular private key. A wallet address is typically just a hash of a public key.
Key Generation
There are many different ways of generating public & private keys, but to be cryptographically secure, key generation must adhere to the following principles:
- It is computationally impossible to derive a private key from a given public key.
- It is possible to mathematically prove that someone has the private key without revealing the key itself. There are several methods for determining this from Elliptic Curve Cryptography (ECC), RSA (Rivest-Shamir-Adleman) and others.
Elliptic Curve Cryptography
An elliptic curve is just an equation that matches a particular type of quadratic formula. The curve can be modeled in a 2-dimensional Cartesian system with the following equation:
SECP256k1
The particular elliptic curve used by Bitcoin & Ethereum to implement their public key cryptography. The exact curve can be modeled in a 2-dimensional Cartesian system with the following quadratic formula:
One Way Function
A function that is relatively easy to compute the transform of any given input, but is computationally impractical to reverse the output to determine a given input. For example, performing scalar multiplication on an elliptic curve is considered a one way function.
Elliptic Curve Diffie-Hellman (ECDH)
A key exchange protocol built on ECC that allows two parties to establish a shared secret over a presumed insecure channel. When both parties know publicly available parameters to an ECDH algorithm, they are able to encrypt messages that only they can decrypt using the properties of one way functions.
Elliptic Curve Digital Signature Algorithm (ECDSA)
An algorithm used to sign a message shared with the ECDH protocol. With a known set of shared parameters, receivers of encrypted ECDH messages can verify that the sender encrypted that message with a valid point on the elliptic curve, thus proving their ownership of the private key without divulging the key itself.