0% found this document useful (0 votes)
9 views

RSA Practice Exercise

This document provides instructions for implementing parts of the RSA encryption algorithm. RSA is an important encryption algorithm that uses number theory concepts to securely encrypt data during virtual private connections between servers and computers. For this exercise, the algorithm will use the small prime numbers 3 and 5, resulting in less encryption than when using very large prime numbers typically. The tasks involve modifying one line of code in the provided RSAEncryption.c file and implementing encryption and decryption functions in the LASTNAME.c file based on comments within. Sample runs demonstrating expected behavior are also provided.

Uploaded by

John Sayat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

RSA Practice Exercise

This document provides instructions for implementing parts of the RSA encryption algorithm. RSA is an important encryption algorithm that uses number theory concepts to securely encrypt data during virtual private connections between servers and computers. For this exercise, the algorithm will use the small prime numbers 3 and 5, resulting in less encryption than when using very large prime numbers typically. The tasks involve modifying one line of code in the provided RSAEncryption.c file and implementing encryption and decryption functions in the LASTNAME.c file based on comments within. Sample runs demonstrating expected behavior are also provided.

Uploaded by

John Sayat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

RSA Encryp on

For this exercise, your task is to implement parts of the RSA Encryp on algorithm. RSA is one of the most
important algorithms used to establish encrypted connected between a server and a computer. The
algorithm is an applica on of simple number theory concepts, but nonetheless a secure means of
encryp ng data. It is used in enterprise applica ons to establish Virtual Private Connec ons to ensure
anyone who intercepts a connec on, at the very least, cannot decrypt the data. Typically, the algorithm
u lizes very large prime numbers, but for this exercise, we will just use two small prime numbers.
Par cularly, 3 and 5. Consequently, the smaller prime numbers used in the algorithm, the less encryp on
there is to the data.

For simplicity, the full detail of the algorithm will not be discussed here. Instead, only the parts that you
need to implement, and the final output expected will be detailed here.

TASK

In the zip file provided, there are 3 files in it:

 LASTNAME.c (TO BE SUBMITTED)– This is where all your solu ons will go. Rename this file
according to your last name. Do not put spaces in it. Please see comments found in LASTNAME.c
for the specific details of your tasks.
 RSAEncryp on.c (TO BE SUBMITTED) – Modify only the third line of this file, corresponding to
the version of your LASTNAME.c file. Main() func on is located in this file. Compile only this file
and not the other two files when tes ng.
 U l.c – Do not modify any part of this code. Do not submit this code.

Ensure that all three *.c files are on the same folder before compiling. Make sure your code compiles
using the following command before submi ng:
gcc -Wall -std=c99 RSAEncryption.c -o RSAEncryption.exe

Codes that will not compile using the command above will merit a grade of 0 for this exercise.

SAMPLE RUN 1
Enter a message: 103050709  This is user input.
Encrypted: 112051309
A*I*O
Decrypted: 103050709
ANIMO
Message received!

SAMPLE RUN 2
Enter a message: 2040608  This is user input.
Encrypted: 8040602
ULSD
Decrypted: 2040608
DLSU
Message received!
SAMPLE RUN 3
Enter a message: 10302  This is user input.
Encrypted: 11208
A*U
Decrypted: 10302
AND
Message received!

** Not all messages will be encrypted correctly. There are some combina ons that will cause the
program to crash. For safe measure, limit your message to 3 le ers at most (see table found in
getLe er() descrip on in LASTNAME.c for the list of le ers you can use)

You might also like