Crypto Talk: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
Created page with "* Goal of Talk ** What different primates are and what they are for ** Not for building crypto - don't do that * Purpose of Crypto ** Privacy ** Validation ** Authenticity * H..."
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== TSC ==
* Goal of Talk
* Goal of Talk
** What different primates are and what they are for
** What different primitives are and what they are for
** Not for building crypto - don't do that
** Not for building crypto - don't do that
* Purpose of Crypto
* Purpose of Crypto
Line 21: Line 22:
** What is a hash
** What is a hash
** MAC
** MAC
** Advantage on non-crypto hash
** Pigeon hole and collision resistance
** Pigeon hole and collision resistance
** Block Chain and Merkle Tree
** Password hashing
* Block Ciphers
* Block Ciphers
** AES
** AES
** Behaves as PRG, Hash and cipher
** CBC vs CTR
** CBC vs CTR
** Nonce
** Nonce
* Putting it all together
* Stream Ciphers
** AES with MAC
** Simpler to understand, harder to implement
* Comparison
** Mostly, don't worry
** Block ciphers are easier to design
** Stream ciphers are faster
* Asymmetric
* Asymmetric
** Diffe-Hellman - won't cover, but they got there first
** Diffe-Hellman - won't cover, but they got there first
Line 34: Line 41:
** RSA
** RSA
** Elliptic
** 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

Latest revision as of 16:47, 30 April 2020

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