#### RSA C program

##### rsa.txt

##### File size: 1.09 KB

**File content type:**
text/plain

**Category: **Notes, Practical Files, and Assignment

**Course: **B.Tech.

**Semester: **7

```
// C program for RSA asymmetric cryptographic
// algorithm. For demonstration values are
// relatively small compared to practical
// application
#include<stdio.h>
#include<math.h>
// Returns gcd of a and b
int gcd(int a, int h)
{
int temp;
while (1)
{
temp = a%h;
if (temp == 0)
return h;
a = h;
h = temp;
}
}
// Code to demonstrate RSA algorithm
int main()
{
// Two random prime numbers
double p = 3;
double q = 7;
// First part of public key:
double n = p*q;
// Finding other part of public key.
// e stands for encrypt
double e = 2;
double phi = (p-1)*(q-1);
while (e < phi)
{
// e must be co-prime to phi and
// smaller than phi.
if (gcd(e, phi)==1)
break;
else
e++;
}
// Private key (d stands for decrypt)
// choosing d such that it satisfies
// d*e = 1 + k * totient
int k = 2; // A constant value
double d = (1 + (k*phi))/e;
// Message to be encrypted
double msg = 20;
printf("Message data = %lf", msg);
// Encryption c = (msg ^ e) % n
double c = pow(msg, e);
c = fmod(c, n);
printf("\nEncrypted data = %lf", c);
// Decryption m = (c ^ d) % n
double m = pow(c, d);
m = fmod(m, n);
printf("\nOriginal Message Sent = %lf", m);
return 0;
}
```

Added by **passhojao**

##### Comments

*whatshot*Forum*launch*-
Data Structures Video Lectures
Posted in

**Semester 3** -
Engineering Mechanics Practical Videos IPU
Posted in

**Semester 2** -
Watch Old Hindi Cartoons Android App
Posted in

**General Talks** -
Recommended Books BTech first semester GGSIPU Delhi
Posted in

**Semester 1** -
Introduction to Circuit Elements Notes
Posted in

**Semester 3**

*file_download*Study Material*launch*-
Queue Implementation Using Array C Program
Catgegory:

**Assignment** -
Industrial Management First Term Akash Solved Paper
Catgegory:

**Question Papers and Notes** -
Applied Chemistry Internal Examination 2017
Catgegory:

**Question Papers** -
Advance control system unit 2
Catgegory:

**Notes** -
Communication Skills for Professionals NOTESHUB NOTES 2018 MID TERM UNIT 1+2
Catgegory:

**Notes** -
Java IO Notes
Catgegory:

**Notes** -
computer fundamentals with no missing pages
Catgegory:

**Notes** -
Applied maths - I (Reduction Formula)
Catgegory:

**Notes** -
Manufacturing Process First Semester Akash
Catgegory:

**Question Papers** -
Manufacturing Process sessional question paper 2016
Catgegory:

**Question Papers**