Dan Boneh Symmetric Encryption History Crypto
Dan Boneh History David Kahn, “The code breakers” (1996)
Dan Boneh Symmetric Ciphers
Dan Boneh Few Historic Examples (all badly broken) 1. Substitution cipher k :=
Dan Boneh Caesar Cipher (no key)
Template vertLeftWhite1 What is the size of key space in the substitution cipher assuming 26 letters?
Template vertLeftWhite2 How to break a substitution cipher? What is the most common letter in English text? “X” “L” “E” “H”
Dan Boneh How to break a substitution cipher? (1) Use frequency of English letters (2) Use frequency of pairs of letters (digrams)
Dan Boneh An Example UKBYBIPOUZBCUFEEBORUKBYBHOBBRFESPVKBWFOFERVNBCVBZPRUBOFERVNBCVBPCYYFVUFO FEIKNWFRFIKJNUPWRFIPOUNVNIPUBRNCUKBEFWWFDNCHXCYBOHOPYXPUBNCUBOYNRVNIWN CPOJIOFHOPZRVFZIXUBORJRUBZRBCHNCBBONCHRJZSFWNVRJRUBZRPCYZPUKBZPUNVPWPCYVF ZIXUPUNFCPWRVNBCVBRPYYNUNFCPWWJUKBYBIPOUZBCUIPOUNVNIPUBRNCHOPYXPUBNCUB OYNRVNIWNCPOJIOFHOPZRNCRVNBCUNENVVFZIXUNCHPCYVFZIXUPUNFCPWZPUKBZPUNVR B36 N34 U33 P32 C26 E T A NC11 PU10 UB10 UN9 IN AT UKB6 RVN6 FZI4 THE digrams trigrams
Dan Boneh 2. Vigener cipher (16’th century, Rome) k = C R Y P T O C R Y P T O m = W H A T A N I C E D A Y T O D A Y C R Y P T (+ mod 26) c = Z Z Z J U C L U D T U N W G C Q S suppose most common = “H” first letter of key = “H” – “E” = “C”
Dan Boneh 3. Rotor Machines ( ) Early example: the Hebern machine (single rotor) ABC..XYZABC..XYZ ABC..XYZABC..XYZ KST..RNEKST..RNE KST..RNEKST..RNE EKST..RNEKST..RN EKST..RNEKST..RN NEKST..RNEKST..R NEKST..RNEKST..R key
Dan Boneh Rotor Machines (cont.) Most famous: the Enigma (3-5 rotors) # keys = 26 4 = 2 18
Dan Boneh 4. Data Encryption Standard (1974) DES: # keys = 2 56, block size = 64 bits Today: AES (2001), Salsa20 (2008) (and others)
Dan Boneh END END END
Template vertLeftWhite1 Consider the weight update: Which of these is a correct vectorized implementation?
Template vertLeftWhite1 Suppose is at a local minimum of a function. What will one iteration of gradient descent do? Leave unchanged. Change in a random direction. Move towards the global minimum of J( ). Decrease .
Template vertLeftWhite2 Fig. A corresponds to =0.01, Fig. B to =0.1, Fig. C to =1. Fig. A corresponds to =0.1, Fig. B to =0.01, Fig. C to =1. Fig. A corresponds to =1, Fig. B to =0.01, Fig. C to =0.1. Fig. A corresponds to =1, Fig. B to =0.1, Fig. C to =0.01.
Template vertLeftWhite2
Template block2x2White1 Ordering of buttons is: 13 24