This repository is about transferring the secure data from one computer to another with the help of socket programming using client-server architecture. The data will be secured by implementing RSA(cryptography) Algorithm. For simplicity only 64-bit security is used unlike real implementation which uses 128-bit to 256-bit security(used by banks,mililtary etc.). Client request for the file to server, with its name and a public key, generated by client itself. If the file is available to the server it will encrypt it with public key and send 'encrypted file' instead of original file to the client. Server in turn will decrypt the received 'encrypted file' with its own private key. Key Features and install instructions:
- You can have client at say system-1 and Server at say system-2.
- You can create executable by just moving to the folder and using simple 'make' command: i.e.: $ cd ~/client/ and then $ make ,same with server, move the server folder $cd ~/server/ and then $ make . 3.Next time you make any changes in the source files or header files while expermenting just run 'make' command it will handle all the hurdle of compilation but make sure 'Makefile' is not altered or removed.
- Run 'server' excutable at system-2 with port address you want to assign for transmission. i.e.: ./server 4444
- When server is established, Run 'client' executable on system-1 with ip-address of server, filename of requested file and port number used by server. i.e. if we consider client and server are on same system then ip would be 127.0.0.1: ./client 127.0.0.1 message.txt 4444
- Bingo there will be a file with filename you requested in your 'client' folder.