Since things didn't work out between me and mbedtls, here are the basic encryption algorithms.

Committer:
priyanshu_varshney
Date:
Sat Nov 10 20:11:01 2018 +0000
Revision:
0:65a36a7b25d0
Simple encryption algorithms apart from mbedtls(not working)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
priyanshu_varshney 0:65a36a7b25d0 1 #include<iostream>
priyanshu_varshney 0:65a36a7b25d0 2 #include<math.h>
priyanshu_varshney 0:65a36a7b25d0 3
priyanshu_varshney 0:65a36a7b25d0 4 int gcd(int a, int h)
priyanshu_varshney 0:65a36a7b25d0 5 {
priyanshu_varshney 0:65a36a7b25d0 6 int temp;
priyanshu_varshney 0:65a36a7b25d0 7 while (1)
priyanshu_varshney 0:65a36a7b25d0 8 {
priyanshu_varshney 0:65a36a7b25d0 9 temp = a%h;
priyanshu_varshney 0:65a36a7b25d0 10 if (temp == 0)
priyanshu_varshney 0:65a36a7b25d0 11 return h;
priyanshu_varshney 0:65a36a7b25d0 12 a = h;
priyanshu_varshney 0:65a36a7b25d0 13 h = temp;
priyanshu_varshney 0:65a36a7b25d0 14 }
priyanshu_varshney 0:65a36a7b25d0 15 }
priyanshu_varshney 0:65a36a7b25d0 16
priyanshu_varshney 0:65a36a7b25d0 17 int main()
priyanshu_varshney 0:65a36a7b25d0 18 {
priyanshu_varshney 0:65a36a7b25d0 19 double p = 3;
priyanshu_varshney 0:65a36a7b25d0 20 double q = 7;
priyanshu_varshney 0:65a36a7b25d0 21 double n = p*q;
priyanshu_varshney 0:65a36a7b25d0 22 double e = 2;
priyanshu_varshney 0:65a36a7b25d0 23 double phi = (p-1)*(q-1);
priyanshu_varshney 0:65a36a7b25d0 24 while (e < phi)
priyanshu_varshney 0:65a36a7b25d0 25 {
priyanshu_varshney 0:65a36a7b25d0 26
priyanshu_varshney 0:65a36a7b25d0 27 if (gcd(e, phi)==1)
priyanshu_varshney 0:65a36a7b25d0 28 break;
priyanshu_varshney 0:65a36a7b25d0 29 else
priyanshu_varshney 0:65a36a7b25d0 30 e++;
priyanshu_varshney 0:65a36a7b25d0 31 }
priyanshu_varshney 0:65a36a7b25d0 32
priyanshu_varshney 0:65a36a7b25d0 33 int k = 2;
priyanshu_varshney 0:65a36a7b25d0 34 double d = (1 + (k*phi))/e;
priyanshu_varshney 0:65a36a7b25d0 35
priyanshu_varshney 0:65a36a7b25d0 36 double msg = 20;
priyanshu_varshney 0:65a36a7b25d0 37
priyanshu_varshney 0:65a36a7b25d0 38 printf("Message data = %lf", msg);
priyanshu_varshney 0:65a36a7b25d0 39 double c = pow(msg, e);
priyanshu_varshney 0:65a36a7b25d0 40 c = fmod(c, n);
priyanshu_varshney 0:65a36a7b25d0 41 printf("\nEncrypted data = %lf", c);
priyanshu_varshney 0:65a36a7b25d0 42
priyanshu_varshney 0:65a36a7b25d0 43 double m = pow(c, d);
priyanshu_varshney 0:65a36a7b25d0 44 m = fmod(m, n);
priyanshu_varshney 0:65a36a7b25d0 45 printf("\nOriginal Message Sent = %lf", m);
priyanshu_varshney 0:65a36a7b25d0 46
priyanshu_varshney 0:65a36a7b25d0 47 return 0;
priyanshu_varshney 0:65a36a7b25d0 48 }