Overview
This lecture covers key asymmetric cryptographic systems, their mechanisms, historical incidents, and the advantages of elliptic curve cryptography.
RSA Cryptosystem
- RSA is an early asymmetric cryptography system named after Ron Rivest, Adi Shamir, and Leonard Adleman.
- RSA was patented in 1983 and released to public domain in 2000.
- Key generation in RSA requires two large, unique, randomly chosen prime numbers.
- RSA is used for encryption and decryption operations via public and private keys.
Digital Signature Algorithm (DSA)
- DSA is an asymmetric cryptography algorithm primarily used for signing and verifying data.
- Patented in 1991 and adopted as a U.S. federal standard.
- DSA's security relies on choosing a random seed value during signing.
- If the random value or prime number is predictable or reused, private keys can be compromised.
- Sony's failure to randomize the signing value in 2010 allowed hackers to recover their private key, enabling game piracy.
Key Exchange Algorithms
- Asymmetric systems like RSA and DSA are commonly used for secure key exchange.
- Diffie-Hellman (DH) is another key exchange algorithm allowing two parties to create a shared secret over an unsecure channel.
- DH involves both parties agreeing on a public value and exchanging computed values based on their secret numbers.
- The shared secret can be safely established without revealing private information.
Elliptic Curve Cryptography (ECC)
- ECC uses the algebraic properties of elliptic curves over finite fields to generate keys.
- Elliptic curves have unique mathematical properties like horizontal symmetry and specific intersection points for lines.
- ECC offers comparable security to traditional systems but with much smaller key sizes (e.g., 256-bit ECC ≈ 3072-bit RSA).
- ECC variants include ECDH (Elliptic Curve Diffie-Hellman) and ECDSA (Elliptic Curve Digital Signature Algorithm).
- NIST recommends ECC, and NSA authorizes its use for top secret data with 384-bit keys.
- There are concerns that ECC could become vulnerable to quantum computing attacks.
Key Terms & Definitions
- RSA — Asymmetric cryptosystem using two large prime numbers for encryption and decryption.
- DSA — Digital Signature Algorithm for authenticating data using asymmetric keys.
- Diffie-Hellman (DH) — Algorithm for secure key exchange over unsecure channels.
- Elliptic Curve Cryptography (ECC) — Public key system using elliptic curves for efficient and strong encryption.
- ECDH — Elliptic Curve variant of the Diffie-Hellman key exchange.
- ECDSA — Elliptic Curve variant of the Digital Signature Algorithm.
Action Items / Next Steps
- Review the differences between RSA, DSA, and ECC.
- Understand the key exchange process in Diffie-Hellman.
- Read about real-world cryptographic failures, such as Sony's PS3 signing incident.