Client Server program using sockets in C / C++ for an encryption and decryption service
$10-30 USD
Cancelled
Posted about 9 years ago
$10-30 USD
Paid on delivery
Develop a Client Server program using sockets in C / C++ for an encryption and decryption service. The
program should do the following:
1. Upon invocation, the client should prompt the user to input the following:
a. encryption or decryption (user chooses one of the two options)
b. symmetric cipher algorithm (user enters a symmetric cipher supported by openssl)
c. input text (user enters a small sentence as input string. e.g., "Have a wonderful day")
2. Client connects to the server and supplies all the above information to the server.
3. The server should then either encrypt or decrypt the input sent by the client depending on the
option the user requested, and respond back to the client with the result
4. The client should then display the returned output on the console or write it to a file.
Note: The server program can use the openssl command for encryption and decryption. Use one of the
AES symmetric ciphers supported by openssl during the encryption and decryption processes. You will
have to read about openssl to complete this project. Visit [login to view URL] for information about
openssl. Instructions for compiling and installing openssl can be found here:
[login to view URL] . If you do not have root permissions
for the machine that you are installing openssl, use the "--prefix" option to install to your user home
directory. You can accept default options during the installation process.
Hint: Use "-k" flag for supplying password to encryption and decryption commands on the server (use
any password of your choice)
Please submit:
1. Instructions for executing your program
2. Show the commands you have used for performing encryption and decryption
3. Specify the cipher you have used in the encryption and decryption command
4. Show or attach the input and output for both the encryption and decryption runs. You should use the
output of encryption run (which is the encrypted cipher text) as input to the decryption run. The output
of the decryption run should then match your initial input.