the software encrypt file and send it over the internet using both symmetric and asymmetric key approaches. Use an AES encryption/decryption first, then use RSA to encrypt/decrypt the symmetric key.
application should abide to the following specifications:
1. A GUI application where a user have to login with a user name and password. application must store the password securely.
2. application has different menus for different operations
3. Each user generates their pair of private and public key. Publish the public key and keep the private key a secret.
4. Generate a symmetric-key to use in the encryption of the file using AES.
5. Use the RSA algorithm to encrypt the symmetric-key used in step 2 using the receiver’s public key. 6. The receiver uses its own private key to decrypt the symmetric key, and then uses that symmetric key to decrypt the file.
7. The private key must be stored securely in a protected file.
• Bob wants to send Alice a file securely.
• Bob must log into the application with his username and password if registered. If not, Bob must create a username and password.
• If registered for the first time, Bob must generate the pair of key’s (Public key and Private key). Publish the public key and keep the private key secret.
• To send the file to Alice, Bob generates a random key from the application to use in the encryption process of the file using AES. After the file encryption is done, Bob uses Alice’s Published public key to encrypt the key using RSA and sends the file with the encrypted key.
• When Alice receives the file, she must log into the application and uses her stored private key to decrypt the RSA encrypted key. After that she uses the decrypted key to decrypt the file.