Core 139, Fall, 2004 Exam 2 Name_________________________ 1. Match each of the following people or groups with the event(s) with which they are associated. Note, more than one person or group may be matched with an event. Each person or group is used at least once, possibly more. Every event should have at least one association. a. Marian Rejewski b. Horst Feistel c. Arthur Scherbius d. Diffie, Hellman, Merkle e. Alan Turing f. Rivest, Shamir, Adelman g. Tommy Flowers h. Alice Kober i. Phil Zimmerman j. Michael Ventris k.Ellis and Cocks __e ____ published "On Computable Numbers" with the theoretical idea of a universal computer __g_____ developed Colossus __f_____ first published public key encryption method __h j ___ major contribution to understanding Linear B __d_____ first published idea of public key encryption __k_____ first discovered public key encryption method __i _____ widely distributed public key encryption for anyone to use __c_____ invented Enigma machine __e_____ developed idea of "bombes" to automatically find possible rotor settings for enigma using a "crib" __a_____ developed first method for breaking Enigma based on repeated message keys __b_____ invented "Lucifer" encryption, the basis for DES __d_____ first published method secure key-exchange Core 139, Fall, 2004 Exam 2 Name_________________________ 2. Describe how the following parts of the Enigma machine worked. (a) rotors (or scramblers) Each rotor wired 26 contacts on one side, one for each letter, to 26 other contacts on the other side. Essentially one rotor in a fixed position was a monoalphabetic cipher. However, three rotors were in sequence with the out contacts from one going to the in contacts on the next (and reversed after the reflector). The first rotor rotated one position after each letter was encoded, the second rotated every 26th letter and the third every 26x26th letter, so the letters were shuffled by a different cipher for the over 15,000 positions. (b) reflector The reflector took the output from the last rotor and wired it to a different contact on the same rotor, so that the electrical signal would follow a different path back through the same rotors. A consequence of this scheme was that a letter could never be enciphered as itself, a weakness of the system. (c) plugboard Wire pairs on the plugboard connected two letters, switching them before they entered the rotors, and again switching them (if they were involved) after the output of the rotors. Originally six plugboard cables were used to switch six pairs of letters. Later ten pairs were switched. The plugboard increased the number of possibilities for a cipher by a factor of about 100,000,000,000. Core 139, Fall, 2004 Exam 2 Name_________________________ 3. Describe the method the Poles discovered for finding the day key and thereby breaking the Enigma encryption. What aspect of the procedures used by the Germans made this approach possible? The Germans sent the message key twice in a row, three characters repeated (but different when encoded). The Poles found that by looking at the 1st and 4th characters (the same plaintext character encoded) for many messages, they could derive chains from one character to another until it got back to the beginning. There would be several chains of different lengths (summing to 26). They could do the same for the 2nd and 5th and 3rd and 6th characters. Rejewski discovered the key idea – the number of letters in each chain depended only on the rotor settings, not the plugboard settings. First the Poles derived a dictionary of all possible chain patterns for all the 15,000+ possible rotor settings (which took a year), then matched the pattern for a given day to get the rotor setting for that day. Once the rotor setting was found, they could easily derive the plugboard settings. Later they invented the first Bombes to mechanically check the possible chains patterns until a match was found. 4. Describe two other errors (other than the one in question 3) that the Germans made in their use of the Enigma that helped Allied cryptanalysts. operators used things like girlfriend initials for message keys (Cillies) operators sometimes just used nearby settings for the next setting, not scrambling the rotors sufficiently no rotor could be left in the same position from one day to the next neighboring letters could not be exchanged in the plugboard common patterns of words were used, as in weather reports, providing cribs Core 139, Fall, 2004 Exam 2 Name_________________________ 5. Give three reasons why the Navajo language was well-suited for being the basis of a code. Explain why each reason was important. not a written language – speakers were used to memorization due to oral traditions (code was memorized) complex language – few non-Navajo (and no Germans/Japanese) could understand/speak, difficult for non-speakers to even transcribe large enough population – could find large enough pool of speakers fluent in both Navajo and English limited to a small area – foreign anthropologists hadn’t visited the Navajo, so language was not known outside of the area 6. The DES code is a block cipher that encrypts block of binary values. (a) How many bits are in one block for DES? 64 (b) How many bits are in the key for DES? 56 (c) How many subkeys are used for the "rounds" of DES (this is the same as the number of rounds)? 16 (d) What is "triple DES" and why is it used? Encode using DES and one key, decode using DES with a second key, then encode using DES and either a third key or the first key again. Makes DES more secure with 2- or 3- key versions. Core 139, Fall, 2004 Exam 2 Name_________________________ 7. In public key encryption, each person (Alice, Bob, Eve, ...) has both a public key and a private key. The public keys for everyone are made available to anyone else. The private keys are kept secret by their owner. (a) How can Alice send a message to Bob so that Bob can be sure that it came from Alice – that is how can Alice "sign" her message? (Note: the message is not hidden from others for this part, see part (b)) How does Bob verify that the message actually came from Alice? Alice encrypts her message with her private key. Then anyone, including Bob, can decrypt it with her public key and when it is a sensible message, they know it could only have come from Alice. (b) How can Alice both encrypt her message so only Bob can read it and also "sign" it so that Bob can verify that Alice sent it. How does Bob both verify that the message came from Alice and decrypt the message? First encrypt the message using her own private key, then encrypt it using Bob's public key. Bob decrypts first using his private key, then using Alice's public key. When the message comes out sensible, he know it must have been sent by Alice, since it must have been encrypted at the first stage by her private key. Note, the encrypting/decrypting could have the order reversed. Core 139, Fall, 2004 Exam 2 Name_________________________ 8. (a) Suppose one algorithm for solving problem P1 is shown to have complexity O(N2), where N is the "size" of the data. If one version of the problem has N = 10,000 and takes one minute to compute, then how long would you expect a problem with size N = 100,000 to take to compute? Data is 10 times as large, so time is 100 (102) as long. (b) Suppose one algorithm for solving problem P2 is shown to have complexity O(2N), where N is the "size" of the data. If one version of the problem has N = 10,000 and takes one minute to compute, then how long would you expect a problem with size N = 10,010 to take to compute? (Hint: 210 = 1024) Multiply time by 2 for each data element added. Since 10 data elements are added, time is multiplied by 2 ten times, or 210 = 1024. So it takes 1024 times as long. 9. Use the ideas of computational complexity (the ideas of big-O notation used in problem 8) to explain why the RSA encryption method will be at least as secure, perhaps more so, when computers are 1000 times as powerful as they are today. (Note: the method is secure, but the use of the method may change by using longer keys.) RSA encrypt and decrypt typically O(N2) and O(N3), but breaking RSA by the best known methods takes more than O(2cuberoot(N)) so if a secure key today is, for example, 1000 bits, then when computers are 1000 times as fast, use a key of 8000 bits. Then encrypt will take about 64 (82) times as long and decrypt will take 512 (83) times as long, both considerably faster when computers are 1000 times as fast. However, breaking RSA takes K * 210 or 1024*K (for some constant K, since the cuberoot of 1000 is 10) for the original key, but K*220 = K* 210* 210 = 1024*1024*K for the 8000 bit key (since the cuberoot of 8000 is 20). So it takes more than 1000 times as long, or about the same time as originally when computers are 1000 times as fast. So RSA is just as hard to break, in terms of time needed, but even faster for encrypting and decrypting. If you do this again, starting with original key of 8,000 bits and going to a key of 64,000 bits the difference is even more dramatic. So as time goes on, because exponential functions (2N) grow so much faster than power functions (N2 or N3) faster computers will make RSA more secure (not less).