Crypto Talk

From Adam Colton
Jump to navigation Jump to search

TSC

  • Goal of Talk
    • What different primitives are and what they are for
    • Not for building crypto - don't do that
  • Purpose of Crypto
    • Privacy
    • Validation
    • Authenticity
  • History
    • Substitution cipher → freq analysis
    • Vigener Cipher → freq analysis again
  • Symmetric Cipher
    • Claude Shannon and perfect security
    • XOR OTP example
  • Problems with OTP/sym.
    • key must be exchanged
      • PRG
      • Still must be OTP
    • Repeat attack
    • Substitution attack
  • Hashing
    • What is a hash
    • MAC
    • Advantage on non-crypto hash
    • Pigeon hole and collision resistance
    • Block Chain and Merkle Tree
    • Password hashing
  • Block Ciphers
    • AES
    • CBC vs CTR
    • Nonce
  • Stream Ciphers
    • Simpler to understand, harder to implement
  • Comparison
    • Mostly, don't worry
    • Block ciphers are easier to design
    • Stream ciphers are faster
  • Asymmetric
    • Diffe-Hellman - won't cover, but they got there first
    • Key exchange
    • RSA
    • Elliptic
    • Encryption and signature
  • Future
    • Quantum computing
    • Homomorphic cryptography

Understanding Blocks

  • Alice or (Alice and Bob) have a 256bit key - 100 digit number
  • Not covering key exchange (maybe later)
  • Encryption is many things
    • Already discussed encryption and key exchange
    • Also authentication - message is unchanged and from source
  • Hash - like fingerprint
  • Block hash using exponents
    • r ^ n % p = h
    • p : prime
    • r : primitive root
    • n : input
    • h : hash
    • algorithm to do this quickly
    • given r, p and h, cannot be reversed (discrete log problem)
  • Chaining block hash with key for HMAC
    • nonce
    • XOR
    • h[n] = hash(m[n] XOR h[n-1])
  • XOR using hash as PRNG
  • Problem: Anything that can authenticate can encrypt