Learning Goal: I’m working on a python question and need the explanation and answer to help me learn.
we prefer to use Python or Java.In the first exercise, you are required to learn how to design and implement RSA. For the secondone, you have to learn how to find a collision on a Hash Function.
Exercise 1: Design and implement a simple package based on the RSA algorithmto provide encrypting/decrypting and digital signature signing and verifying.
a. Generate two prime numbers: p and q.
b. Miller Rabin: to test the prime number.
c. Euclids algorithm: to find the encryption key (e)
d. Extended Euclids algorithm (EEA): to find the decryption key (d).
e. choose any hash function which is available as free source.
f. A main method to show different usage of RSA including dialogues between twoparties (Alice and Bob) that reflect encrypting/decrypting and digital signaturesigning and verifying.
g. Combine all of the above in a GUI model to test the functions