The GitHub site https://github.com/TomPrograms/Python-Internet-Chat-Room has a fully functional Internet Chat Room written in Python released under the MIT license, which allows use, copying, and modification.

Download a copy of this program and run it. What encryption does it use, if any? Is an eavesdropper with access to the network traffic able to read the messages sent to/from the users? Demonstrate.

Modify the program so that the traffic between server and client is properly encrypted. The program should

Include a mechanism so that the client and the server can verify the identity of each other.
Properly encrypt the data in transit between the client and the server.
What method is being used for key exchange?
What method is being used for encryption?
What message authentication code is being used?
A report that answers all the questions provided, including the following:
The results of running the original program
Evidence from the demonstration that an eavesdropper can or cannot read the messages sent by the original program.
An explanation of the mechanism that the client and server use to verify each others identity.
An explanation how the data is being encrypted
An explanation how key exchange is being handled
An explanation how authentication codes are being used
Screenshots or the equivalent showing your code in action.
Evidence from the demonstration that an eavesdropped cannot read the messages sent across the network.

Sample Solution

This question has been answered.

Get Answer