A A E E D D C C B B # Symmetric Keys = n*(n-1)/2 F F
A A E E D D C C B B # Symmetric Keys = n*(n-1)/2 # Public/Private Keys = 2 n F F
RSA Chose two random large prime numbers p & q (of equal length is best) Compute their product n = pq Randomly choose an encryption key e : e and (p-1)(q-1) are relatively prime (gcd=1) Calculate the decryption key d : d = e -1 mod ((p-1)(q-1)) 3
RSA encryption Split up the message into blocks less than n c i = m i e mod n Decryption is similar d i = c i d mod n 4
RSA Example p=47, q=71, n=pq=3337 Choose e : no factors common with (p-1)(q-1) = 46*70 = 3220 Randomly choose e to be 79 Then d=79 -1 mod 3220 =
RSA Example (cont) Encrypt m= Break it up into blocks m 1 m 2 m 3 m 4 m 5 m 6 Encrypt: mod 3337 = 1570 = c 1 Decrypt: mod 3337 = 688 = m 1 6
Symmetric Key Signatures 1 Alice uses k A to encrypt the document going to Bob and sends it to Trent 2 Trent decrypts the document with k A 3 Trent appends a statement that he received it from Alice 4 Trent encrypts the bundle with k B 5 Trent sends the encrypted bundle to Bob 6 Bob decrypts the bundle with k B, and can read the message and Trent’s certification 7
Public Key Signatures 8 1 Alice encrypts the document with her private key 2 Alice sends the encrypted (signed) document to Bob 3 Bob decrypts the document with Alice’s public key
Cryptographic Hashes 9
Public Key Signature w/ Timestamp 10 1 Alice adds a timestamp to the document 2 Alice encrypts the document with her private key 3 Alice sends the encrypted (signed) document to Bob 4 Bob takes the check to the bank 5 Bank decrypts the document with Alice’s public key 6 Bank stores the check information and the timestamp in a database 7 If Bob tries to deposit the check again, its information will match the database
Multiple Signatures 11 1 Alice signs a hash of the document 2 Bob signs a hash of the document 3 Bob sends his signature to Alice 4 Alice sends the document, her signature, and Bob’s signature to Carol 5 Carol can verify both signatures
Digital Signatures and Encryption 12 1 Alice signs the message with her private key 2 Alice encrypts the signed message with Bob’s public key and sends it to Bob 3 Bob decrypts the message with his private key 4 Bob verifies with Alice’s public key and recovers the message
Digital Signatures and Encryption typical notation 13 AliceBob S A (M) E B (S A (M) ) D B (E B (S A (M))) = S A (M) V A (S A (M)) = M
Needham-Schroeder Protocol 14
MITM Attack on N-S 15
The Fix 16
17 SSL