Elliptic curves and digital signatures
In short: Elliptic-curve cryptography delivers high security with short keys. With digital signatures (for example Ed25519, ECDSA) you prove that a message comes from a particular key holder and is unchanged.
In more detail: A signature arises from message and private key and can be verified with the public key. If someone forges the message the signature no longer fits. A 256-bit ECC key corresponds roughly to a 3072-bit RSA key.
In Depth
- Hash before signature: You sign the hash of the message, not the message itself.
- RSA vs. ECC: ECC is faster and more compact; RSA is older and widespread.
- Ed25519: Modern, fast, robustly designed signature without a dangerous randomness pitfall.
- ECDSA: Needs good randomness per signature; poor randomness reveals the private key (PlayStation 3 case).
- Use: Certificates, Git commits, JWT (ES256, EdDSA), cryptocurrencies, SSH keys.
- Non-repudiation: Only the private-key holder can sign.
- Quantum: Shor’s algorithm also threatens ECC.
See also: Diffie-Hellman and forward secrecy, Post-quantum cryptography