Assignment 1: Secure communication? Solved

Aims
This assignment aims to establish a basic familiarity with the cryptographic methods and provides an exercise of key establishment and secure communication in a networked environment.
Objectives
On completion of this assignment you should be able to:
 Understand some basic concepts in cryptography.
 Understand key exchange and secure communication.
 Understand network programming.
Specifications:
Write (Java or C/C++) TCP programs allowing two parties to establish a secure communication channel. For simplicity, let us call programs “Host” and “Client”; each can be used by a user. Again, for simplicity, let us assume that Alice uses Host and Bob uses Client.
Alice and Bob want to establish a secure communication channel where messages are encrypted with AES. They need to carry out the following tasks. (1) Establish a share AES session key so that they can use it to encrypt messages. (2) Use the shared key to secure the communication.
The key establishment is done by the Diffie-Hellman Exchange scheme. Assume that Alice has a pair of private/public keys (x1, y1) and Bob has a pair of private/public keys (x2,
Powered by