Public Key Cryptography
Goals
- Motivate the need for public key crypto
- Analyze relationships amongst public-key related assumptions
- Explain how Diffie-Hellman key exchange works and what properties it does/does not provide
- Explain how to safely use the RSA trapdoor one-way function for encryption
- Evaluate TLS key exchange options
Motivation
- What are some limitations of a purely symmetric-key-based world?
Public Key Exchange
- How does Diffie-Hellman (DH) work?
- What are the various DH-related assumptions?
- Which ones imply others?
- Which is the easiest/hardest to break?
- What property does DH give us?
- What property does it fail to provide?
Public Key Encryption
- What’s the basic definition of security public key encryption?
- Is that definition sufficient for real-world usage?
RSA
- What is the RSA assumption?
- How does it relate to factoring?
- Is the RSA permutation (aka textbook RSA) IND-CPA secure?
- How should RSA be used for encryption in practice?
TLS
- What properties should a secure key exchange provide?
- What are three different DH key exchange options?
- Which of these properties does each provide?