An Application to transfer data securely.
I have created this project that allows users to send data files using a secure communication channel. I have implemented two types of encryption techniques on the communication channel. Weak and strong encryption. For the weak encryption, I am converting the file data into bytes. After converting into bytes then I am using a very basic encryption technique in which I am using the enumerate function which basically changes the bytes collection into an enumerate object. It gives two outputs (key and value). Then I am using the XOR operator to encrypt my byte data. For strong encryption, I am using the FERNET encryption technique which uses 128-bit AES encryption. With this application, you can transfer files securely over the internet. For transferring data both the sender and receiver need to run the application.
I have created the bash files for both the server and client. They are in the "Application" folder.
- Run both files on same PC or remotely and follow the instructions.
- The server will show you the IP address and the secret key.
- You need to copy this secret key and send to the client.
- You need to select which encryption and file (add the file extention "text.txt") you want to transfer on the client side first.
- Select the encryption type.
- On server side select send file and on the client side select receive file option.
- Enter the name of the file that you want to receive on the client side first (make sure the file is already inside the server folder).
- Enter the name of the file that you want to send on the server side.
- Done.
(Because of the already provided IP address on the client side maybe the bash file will not work properly. In this case please run the program using the method mentioned below).
- Run the server.py script file on the terminal.
- It will show you the secret key and the IP address.
- Open the client.py script and check if the IP address is same, if it is not same then please write the correct IP address.
- Run the client.py script file on the terminal.
- Enter the secret key on the client side.
- You need to select which encryption and file (add the file extention "text.txt") you want to transfer on the client side first.
- On server side select send file and on the client side select receive file option.
- Enter the name of the file that you want to receive on the client side first (make sure the file is already inside the server folder).
- Enter the name of the file that you want to send on the server side.
- Done.
Here is an explained manual how i created this application.