1 - Colgate University

advertisement
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).
Download