Question: In this problem, we explore the Diffie-Hellman (DH) public-key encryption algorithm, which allows two entities to agree on a shared key. The DH algorithm makes

In this problem, we explore the Diffie-Hellman (DH) public-key encryption algorithm, which allows two entities to agree on a shared key. The DH algorithm makes use of a large prime number p and another large number g less than p. Both p and g are made public (so that an attacker would know them). In DH, Alice and Bob each independently choose secret keys, SA and SB respectively. Alice then computes her public key, TA, by raising g to SA and then taking mod p. Bob similarly computes his own public key TB by raising g to Sn and then taking mod p. Alice and Bob then exchange their public keys over the Internet. Alice then calculates the shared secret key S by raising T8 to SA and then taking mod p. Similarly, Bob calculates the shared key S' by raising TA to S8 and then taking mod p.
a. Prove that in general that Alice and Bob obtain the same symmetric key, that is, prove S = S'.
b. With p = 11 and g = 2, suppose Alice and Bob choose private keys SA = 5 and 5/3 = 12, respectively. Calculate Alice's and Bob's public keys, TA and TB. Show all work.
c. Following up on part (b), now calculate S as the shared symmetric key. Show all work.
d. Provide a timing diagram that shows how Diffie-Hellman can be attacked by a man-in the-middle. The timing diagram should have three vertical lines, one for Alice, one for Bob, and one for the attacker Trudy.

Step by Step Solution

3.41 Rating (154 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Alice Bob Secrect key S A S B Public key T A gS A mod p T B gS B mod p Shared key S ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Document Format (1 attachment)

Word file Icon

899-CS-CN (738).docx

120 KBs Word File

Students Have Also Explored These Related Computer Network Questions!