CSE 505A. Data Security: Homework 3

Solution

Due: October 25, Tuesday, 5:30pm

1. Review Question 5.9 (5 pt)

12 bytes.

2. Test the throughput performance of RSA, both encryption and decryption, for following parameters:

·  n: 768 bits

·  n: 1024 bits

You may use any free RSA package available online. Describe the package you use, the parameters (n,e,d) , the configuration of the computer you use, and the testing results. (25 pt)

3. Problem 7.3 (20 pt)

Hint: For b., compare the communication overheads required to set up a session. Keep in mind that B might reject the request from A.

a. A sends a connection request to B, with an event marker or nonce (Na) encrypted with the key that A shares with the KDC. If B is prepared to accept the connection, it sends a request to the KDC for a session key, including A's encrypted nonce plus a nonce generated by B (Nb) and encrypted with the key that B shares with the KDC. The KDC returns two encrypted blocks to B. One block is intended for B and includes the session key, A's identifier, and B's nonce. A similar block is prepared for A and passed from the KDC to B and then to A. A and B have now securely obtained the session key and, because of the nonces, are assured that the other is authentic.

b. The proposed scheme appears to provide the same degree of security as that of Figure 7.9. One advantage of the proposed scheme is that the, in the event that B rejects a connection, the overhead of an interaction with the KDC is avoided.

4. Problem 8.8 (20 pt)

First consider a = 1. In step 3 of TEST(n), the test is if 1q mod n = 1 then

return("inconclusive"). This clearly returns "inconclusive." Now consider a = n – 1. In

step 5 of TEST(n), for j = 0, the test is if (n – 1)q mod n = n – 1 then

return("inconclusive"). This condition is met by inspection.

5. Problem 8.13 (10 pt)

2, 3, 8, 12, 13, 17, 22, 23

6. Problem 9.2b (10 pt)

n = 55; f(n) = 40; d = 27; C = 14.

7. Problem 9.6 (10 pt)

Yes. If a plaintext block has a common factor with n modulo n then the

encoded block will also have a common factor with n modulo n. Because we

encode blocks which are smaller than pq, the factor must be p or q and the

plaintext block must be a multiple of p or q. We can test each block for

primality. If prime, it is p or q. In this case we divide into n to find the other

factor. If not prime, we factor it and try the factors as divisors of n.