$29
Stage 1 – Key Generation
Develop your own RSA method to generate a pair of public and private keys (16 binary digits is the minimum requirement for the key length), and distribute your public key to your partner.
– Windows or Linux?
– You may also distribute your own RSA executable for decryption if you don’t trust your partner
– See the requirements for submission
Stage 2 – Encryption/Decryption
Encryption (You can use a character-by-character encryption)
– Encrypt a plaintext English paragraph (meaningful, at least 100 words. I’ll provide one for the project demo but you can select any one to test your program during the implementation) using your own RSA program with your private key and send it as ciphertext 1 to your partner.
– Encrypt a plaintext English paragraph (meaningful, at least 100 words. I’ll provide one for the project demo but you can select any one to test your program during the implementation) with your partner’s public key and send it as ciphertext 2 back to your partner
Decryption
– Upon the receipt of ciphertext 1, your partner uses your public key to decrypt the message.
– Upon the receipt of ciphertext 2, use your own private key to decrypt the message.
See the requirements for submission
Requirements
Find a partner to form a team to test each other’s program.
You are given the flexibility to choose one of your favorite programming languages for implementation either in Windows or Linux environment.
You must submit
all the source code of your program
executable files (if use c/c++)
Makefile (if use c/c++)
ReadMe file that describes
the use of your program
how to run it
You will need to demonstrate your project in class on Jul. 2nd. Otherwise, 5 points out of total 20 points will be deducted from your project.
Extra credits: the completion and demonstration of this project will give you 2 extra points in your final grade.
1