[SOLVED] CSCI368 Assignment 1: Secure communication?

25.00 $

Category:

Description

5/5 - (7 votes)

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,