Cryptograpy O By Roya Furmuly What Is It? Enables two people (Alice and Bob) to communicate over an insecure channel in such a way so that an opponent (Oscar) cannot understand what is being said. How Does It Work? Alice encrypts the information (Plaintext), using a predetermined key, then sends the result (Ciphertext) to Bob. Oscar cannot determine the plaintext because he doesn’t know the key. Bob, who knows the encryption key, decrypts the ciphertext and reconstructs the plaintext. Formal Definition A Cryptosystem is a five-tuple (P,C,K,E,D ) P = finite set of plaintexts C = finite set of ciphertexts K = finite set of keys (keyspace) For each K K eK E and a corresponding dK C and d D. Each eK:P P are K:C functions such thatdK(eK(x))=x x P. Observations The encryption function eK must be injective to avoid ambiguity. i.e. if y= eK(x1)= eK(x2) where x1 not equal x2 Bob doesn’t know whether y= x1 or y= x2 If P = C , then the encryption function is a permutation. Protocol Choose random key K in K (when Oscar not present or through a secure channel). Alice Message: x=x1x2...xn where i in (1,n), xi in P encrypts each xi using encryption rule yi= eK(xi) y=y1y2…yn Bob uses decryption function dK(yi)=xi x=x1x2...xn Diagram Oscar Alice x y encrypter K key source x decrypter Bob What makes a Cryptosystem practical? 1. Encryption and Decryption functions should be efficiently computable. 2. Upon seeing ciphertext y, the opponent should be unable to determine the key K used (“security”). Shift Cipher Let P =C =K = Z26. eK(x)=x+K mod 26 and dK(y)=y-K mod 26 (x,y in Z26) cool fact: for K=3, cryptosystem is called the Caesar Cipher. Shift Cipher (cont’d) We encrypt English text, by the following correspondence: A 0, B 1, …, Z 25, ABCDEFGHIJ KLMNOPQRSTUVW 0 1 2 3 4 5 6 7 8 9 101112 13 14 15161718192021 22 XY Z 23 24 25 Let’s Encrypt! Let the key be K=7, encrypt: UCLA BRUINS convert letters to integers using chart: 20 2 11 0 1 17 20 8 13 18 add 7 to each value, reduce mod 26: 1 9 18 7 8 24 1 15 20 25 convert to sequence of integers: BJSHIYBPUZ Let’s Decrypt! BJSHIYBPUZ convert letters to integers: 1 9 18 7 8 24 1 15 20 25 subtract 7, reduce mod 26: 20 2 11 0 1 17 20 8 13 18 convert to letters: UCLA BRUINS Shift Cipher, any Good? Nope! Fails security property. Keyspace is very small, only 25 possible keys. Can easily be deciphered by an exhaustive key search. Try K=1…25, until get a text that makes sense. Vigenere Cipher Let m>0 be fixed. Let P =C =K = (Z26)m For a key K=(k1,k2,…km) define eK(x1,x2,…,xm)=(x1+k1, x2+k2,…,xm+km) and dK(y1,y2,…,ym)=(y1-k1, y2-k2,…,ym-km) *all operations done in Z26 Let’s Encrypt! Let key=hot=(7,14,19), encrypt: SUMMER IS HERE convert to integers & “add” the keyword mod 26: 18 20 12 12 4 17 8 18 7 4 18 4 7 14 19 7 14 19 7 14 19 7 14 19 ---------------------------------------------------25 8 5 19 18 10 15 6 0 11 6 23 ZIFTSKPGALGX Let’s Decrypt! ZIFTSKPGALGX convert to integers and “subtract” the keyword hot=(7,14,19) mod 26: 25 8 5 19 18 10 15 6 0 11 6 23 7 14 19 7 14 19 7 14 19 7 14 19 -------------------------------------------------------18 20 12 12 4 17 8 18 7 4 18 4 SUMMER IS HERE Vigenere Cipher, any Good? Better than Shift Cipher Possible number of keys of length m is (26)m Say m=5, then keyspace size is (26)5 approx 1.1x107 So, exhaustive key search not feasible by hand (but OK by computer). Other Cryptosystems Data Encryption Standard (DES) Based on permutaion of 64 bits at a time. RSA Based on difficulty of factoring large integers into primes. Enigma Machine with rotors that shifted letters in complicated manner. Summary Cryptography allows us to communicate through insecure channels. Shift Cipher…insecure (small keyspace) Vigenere Cipher…less insecure Complicated Cryptosystems DES, RSA, ENIGMA WKH HQG