Modern Cryptographic Topics Dimitri DeFigueiredo defigueiredo@ucdavis.edu University of California, Davis Department of Computer Science
Overview Security Cryptography Computer Security Network Security
Historical Background Encryption Alice Bob Encrypt Decrypt M C M’ K Kerkhoffs’ Principle 1883
Time Line 300 – Caesar Cipher 1883 – Kerkhoffs “La Cryptographie Militaire” 1939 – Enigma 1975 – DES 1976 – Diffie-Hellman Asymmetric Encryption 1978 – RSA 1984 – Goldwasser Micali Provable Security
Modern Cryptology Cryptography and Cryptanalysis Goals: Encryption Authentication others (secret sharing, commitments, ZK)
Using a One-way function. Motivation How do we flip a coin over the phone? Using a One-way function. x f(x) Easy Hard Do they exist?
Asymmetric Encryption Diffie-Hellman 1976 Alice Bob Encrypt Decrypt M C M’ Bob’s Public key Bob’s Private Key
The man-in-the-middle attack Playing chess: man in the middle Karpov Kasparov
The Attack Model What does the adversary do? What can the adversary do? Computationally bounded/unbounded Passive/Active Has side information? Give the adversary as much power as possible.
Raw RSA Encryption Setup: Choose 2 large primes: p, q Calculate n = p q Randomly choose e ( e not divisible by (n) ) Calculate: d such that: d e 1 mod (n) Public key = (n,e) Private key = (n,d)
Raw RSA Encryption Setup: Choose 2 large primes: 7, 17 Calculate n = 7 17 = 119 (n) = (p -1)(q -1) = 6 16 = 96 Randomly choose e = 5 ( 5 is not divisible by 96 ) Calculate: d such that: d e 1 mod (n) d = 77 (because 77 5 = 385 = 4 96 + 1) Public key = (119, 5) Private key = (119, 77)
Cd mod n = (Me)d mod n = M1 mod n Raw RSA Encryption Encryption: C = Me mod n Decryption M = Cd mod n because Cd mod n = (Me)d mod n = M1 mod n
Raw RSA Encryption Example: Public key = (119, 5) Private key = (119, 77) (M must be smaller than n) M = 19, Encryption: C = Me mod n = 195 mod 119 = 66 Decryption M = Cd mod n = 6677 mod 119 = 19
Commitment schemes Back to fair coin flipping. Draft protocol: 1. A chooses random ba 2. B chooses random bb 3. AB: commitment( ba ) 4. BA: bb 5. A : opens commitment. 6. Both A and B calculate (ba bb)
Commitment Schemes Using RSA: Choose random bit of either 0 or 1. Encrypt random value with public key. C = Eku(M) Send ciphertext. To open commitment decrypt.
Fair Coin Flipping Draft Protocol: assumes underlying PKI RSA can be used as commitment randomness needed!
Provable Security Precise definitions. Reduction based. Builds adversaries using black box paradigm. Example: If adversary can cheat when flipping coin than we can use it to break RSA.
Zero Knowledge Proofs Cut-and-choose paradigm. V P