

The lab covers the following security-related topics: Essentially, students will be implementing the RSA algorithm using the C program language. This lab enhances student’s understanding of RSA by requiring them to go through every essential step of the RSA algorithm on actual numbers, so they can apply the theories learned from the class. From lectures, students should have learned the theoretic part of the RSA algorithm, so they know mathematically how to generate public/private keys and how to perform encryption/decryption and signature generation/verification. The learning objective of this lab is for students to gain hands on experiences on the RSA algorithm. The RSA algorithm is built upon number theories, and it can be quite easily implemented with the support of libraries. The RSA algorithm first generates two large random prime numbers, and then use them to generate public and private key pairs, which can be used to do encryption, decryption, digital signature generation, and digital signature verification. RSA (RivestShamirAdleman) is one of the first public-key cryptosystems and is widely used for secure communication. This lab was originally designed by SEEDLabs and Dr. This lab was developed with the help of Shatadiya Saha, a graduate student in the Department of Electrical Engineering and Computer Science at Syracuse University.

RSA Public-Key Encryption and Signature Lab Acknowledgement Follow instructions to successfully encrypt and decrypt some messages, sign and verify signatures.
