Using Tkinter for GUI, A Python program that will allow the userto perform (i) generate RSA keys, (ii) encrypt a given message and(iii) decrypt the message without using any cryptographic library.Your program will generate the values of p unless the user providesthem manually. Then the program will generate the keys (private andpublic). Then the program will allow the user to enter his/hermessage to be encrypted. Finally, the program will perform thedecryption operation as well. Subtask and mark distribution:
• Friendly and logical GUI [5 marks]
• Key generation [8 marks]
• Encryption [3 marks]
• Decryption [3 marks]
• Performance enhancement [8 marks] : Due to the limitation ofthe size of integer type variables, many operations such as xy, xyetc. would not be possible when the value of x, y will be veryhigh. Hence, you would not be able to work with big prime numbers.By definition, this will provide a weak RSA. Under this task youhave to optimize the algorithm and implementation to support biggernumber. You have to include an extra section in the report toexplain how you have achieved this enhancement.
NOTE: User should be able to use the GUI to encrypt/decrypt themessage. The task is more like making an app forencryption/decryption using Tkinter.