ITCS 6166/8166 - Computer Communications and Networks
Homework 3: Wireless LAN, Cryptography and Network Security
1. [3 points] Assume we have a plaintext of 1000 characters. How many keys do we need to encrypt or decrypt the message
in each of the following ciphers?
a. additive
b. monoalphabetic
c. autokey
For the additive cipher, we use only one key.
For the monoalphabetic cipher, we use 26 keys.
For the autokey cipher, we use 1000 keys.
2. [2 points] Alice can use only the additive cipher on her computer to send a message to a friend. She thinks that the
message is more secure if she encrypts the message two times, each time with a different key. Is she right? Defend your
answer.
Double encryption here does not help. Encryption with k1 followed by encryption with k2 is the same as encryption with
k = (k1 + k2) mod 26. Alice has only changed the key. The following shows the proof. P is the plaintext and C is the
ciphertext.
C = [(P + k1) mod 26 + k2] mod 26
C = (P mod 26 + k1 mod 26 + k2) mod 26
C = (P mod 26) mod 26 + (k1 mod 26) mod 26 + k2 mod 26
C = P mod 26 + k1 mod 26 + k2 mod 26 = (P + k1 + k2) mod 26
C = (P + k) mod 26 where k = (k1 + k2) mod 26
3. [2 points] Suppose nodes A and B are on the same 10 Mbps broadcast channel, and the propagation delay between the
two nodes is 325 bit times. Suppose CSMA/ CD and Ethernet packets (say 512+64 bits) are used for this broadcast
channel. Suppose node A begins transmitting a frame and, before it finishes, node B begins transmitting a frame. Can A
finish transmitting before it detects that B has transmitted? Why or why not?
At t=0 A transmits. At t = 576, A would finish transmitting. In the worst case, B begins transmitting at time t=324,
which is the time right before the first bit of A’s frame arrives at B. At time t=324+325=649 B's first bit arrives at A.
Because 649 > 576, A finishes transmitting before it detects that B has transmitted. So A incorrectly thinks that its frame
was successfully transmitted without a collision.
4. [3 points] Alice and Bob use RSA public key encryption in order to communicate between them. Trudy finds out that
Alice and Bob shared one of the primes used to determine the number of their public key pairs. In other words, Trudy
found out that and . How can Trudy use this information to break Alice’s code?
Trudy can look up Alice’s and Bob’s public key pairs, and retrieve and . Because of the properties of the RSA
algorithm, Trudy knows that each of these numbers is a multiplication of two primes, and therefore has only two prime
factors. As stated in the question, Trudy also knows that one of the prime factors is common to and . Thus, Trudy
concludes that the Greatest Common Divisor (GCD) of and is the common prime factor, . All Trudy needs to do
in order to break Alice’s code is to use the Euclidean algorithm to find the GCD of and to obtain , and then divide
by the result, , to obtain . Trudy can look up in Alice’s public key pair, and can then find a solution to the
equation , thereby determining Alice’s private key.
5. [2 points] What is the role of the secret key added to the hash function in the following figure in the text (MAC)?
Explain.
The secret key eliminates the need for a secure channel to send the digest. In other words, the secret key prevents Eve
from intercepting the digest and changing it to her benefit.
ITCS 6166/8166 - Computer Communications and Networks
6. [3 points] In RSA, given p = 107, q = 113, e = 13, and d = 3653, encrypt the message “THIS IS TOUGH” using 00 to 26
(A: 00 and space: 26) as the encoding scheme. Decrypt the ciphertext to find the original message, [Hint. You can write a
small program (Haskell might be a good choice as a programming language) to find the values, but not required].
The plaintext is: 19070818260818261914200607. Since the modulus, which is n = p × q = 12091, is five digits long, we
use 4-digit plaintext to make P smaller than n. We add 26 (space) to the end to make the last block also four digits. We
use five-digit blocks for ciphertext. The ciphertext C is never greater than n because the calculation is in modulo n.
To create the ciphertext we use .
To create the ciphertext we use . The original message can be recovered from the plaintext two
digits at a time.