DATA SECURITY AND APPLICATIONS
LAB TASK
Submitted By
Ahmed Asim Zaman (F-301012)
Class: BSSE-3 (7th Semester)
Instructor Name
Engr. Fahim Muhammad Khan
Submission Date: 03rd-Jan-2024
LAB TASK
IMPLEMENTATION OF RSA CIPHER
OUTPUT
CODE
#include <stdio.h>
#include <math.h>
double gcd(double a, double h) {
double temp;
while (1) { temp =
fmod(a, h); if
(temp == 0)
return h; a = h;
h = temp;
}}
int main()
{ double p = 3;
double q = 7;
double n = p * q;
double e = 2;
double phi = (p - 1) * (q - 1);
while (e < phi)
{ if (gcd(e, phi) ==
1)
break;
else
e++;
}
int k = 2;
double d = (1 + (k * phi)) / e;
double msg = 12;
printf("Message data = %.6f\n", msg);
// Encryption c = (msg ^ e) % n
double c = fmod(pow(msg, e), n);
printf("Encrypted data = %.6f\n", c);
// Decryption m = (c ^ d) % n
double m = fmod(pow(c, d), n);
printf("Original Message Sent = %.6f\n", m);
return 0;
}