You will implement a simplified version of the TLS/SSL protocol in this assignment. Write (Java or C/C++) UDP programs allowing two parties to mutually authenticate each other and establish a secure communication channel. For simplicity, let us call the programs “Host” and “Client”, which are executed by Alice and Bob, respectively.
Alice and Bob share a common password PW, which contains 6 alphanumeric characters. Alice also has a public and privacy key pair (pk, sk) for the RSA encryption scheme. They want to establish a secure communication channel that can provide data confidentiality and integrity. This will be done via the following steps: (1) perform a mutual authentication and key exchange protocol; and (2) use the shared session key derived from the first step to secure the real communication.
Just a simple communication no need UI done on CMD can already.