Final Output of the prototype System
When once the key pair is generated from the Certificate then the application will be ready for the communication.
In the following screenshots we will see how the connection is established and the proof of encryption that will be taking place from the command line.
Step 1:- In the first step we need to run the Server by which it generates both the key pair and opens the socket connection on the port number we specified (8003). Start listening for the connections.
Figure : public and private key pairs at the server side.
Step 2:- In this step client will be initiating client for the connection by specifying the IPaddress and the port number on which Server is running. Before the establishment of the connection between client and server the key exchange and the TLS handshaking will be taken place which is shown in the previous sections.
Figure : Connection Establishment
In the above screenshot the connection establishment between Client and Sever (Source and Destination) is shown and the port number on which they are communicating.
Step 3:- when the connection establishment is done successfully at both sides, two little windows pop-up on both server and client side. This will be used for the message exchanging.
Figure : Server side window
Figure : Client side window
As the connection is established and the windows pop-up the messages can be entered in the “Text Box” I.e. the little small box on the top of the window, entered message will be shown on the text area with IPAddress in the “Text Area”. When once the messages are exchanged successfully we can see the encrypted messages in the “command Prompt”, which is mentioned clearly in the Application Testing section.
Step 4:- To test weather the main purpose of our application has been achieved or not we need to check the “debug” message at both Client and Server side which shows the messages encryption/decryption at both ends.
Server Side: – When a message is sent by the server to the client initially it reads the message and encrypts the message using AES_128 algorithm which is agreed at the time of connection establishment. The encrypted message along with the MD5 value is sent to client.
Figure : Message Exchange at Server Side
Figure : Server Encryption
Client Side: – when the message is received by the client it reds the encrypted message along with the integrity value. It decrypts the message and it checks for the integrity and if it satisfies then the message is displayed.
Figure : Message Exchange at Client Side
Figure : Client Decryption
The process of encryption/decryption will goes accordingly whoever sends the message.
This Project Paper is written & submitted by Deepak V.