# 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?