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?