Diffie-Hellman Method

1) Attacks on Diffie-Hellman key exchange model: Probably the easiest explanation that we can use on Diffie-Hellman protocol is saying that “f^a = e^b = g^(ab) (mod p)”. If there are two users would like to use secure transmission in a public environment.

It works for two users with no problem. The most mentioned attack on Diffie-Hellman is that the protocol is weak against “man in the middle” type of attacks. If there is a third user, user 1 calculates its public key and sends it to the man in the middle (in our case user 3), user 3 replaces it with its own public key and sends it to user 2. Therefore user 3 becomes a receiver for all messages and can see / amend messages in between other users. (RSA Labs, nd) There are few methods that could be used to secure transmission and stop man in the middle type of attacks. One method is having 2 users (user 1 and user 2) using digital signatures on their messages. This would probably stop the third user amending messages but couldn’t stop them reading it.

Another attack that this protocol may be experiencing is Denial of Services Attacks. Attacker may try to delete messages in between 2 parties, or by overwhelming the parties with unnecessary messages. (Raymond J, Stiglic A, nd) Probably solution against this will be a network based security against attackers. There are other types of attacks are also listed by Raymond J, Stiglic A e.g. Outsider attacks, Insider Attacks and Attacks based on number theory.

At the end of the day values being same shouldn’t change anything. Both parties would calculate their values without checking the first value, as well as session key value. It was equal to each other. In the first question I have given an example for f^a = e^b = g^(ab) (mod p). Meanwhile, my little research about if using same key is available in Diffie-Hellman protocol hasn’t returned with any value, which shows that it is possible that both parties could use same random key.

3) A) Values are provided for p and q will give us values N and r. N is equal to p times q which is 713. And r is equal to (p-1) times (q-1) which is 660. 1 mod r would give us candidates for e and d. These could be 661, 1981, 2641 so on. if these are correct using either 2 keys mod 1 should give us correct result (e*d mod r = 1)