Sei sulla pagina 1di 3

CODE:

#include<stdio.h>

#include<conio.h>

double modulo(double n1, double n2) {


while (n1 >= 0) {
n1 -= n2;
}
return n1 + n2;
}

double calc_pow(double n1, double n2) {


double r = 1;
while (n2) {
r = r * n1;
n2--;
}
return r;
}

double calc(double n1, double n2, double n3) {


return modulo(calc_pow(n1, n2), n3);
}

int main() {
double p, q, a, b, alice, bob, alice_key, bob_key;

printf("ENTER THE VALUE FOR \'p\': ");


scanf("%lf", & p);

printf("\nENTER THE VALUE FOR \'q\': ");


scanf("%lf", & q);

printf("\n\n\nENTER THE VALUE OF \'a\' for ALICE: ");


scanf("%lf", & a);

alice = calc(q, a, p);


printf("AFTER COMPUTING (q^a) mod p...\nTHE VALUE SENT TO BOB IS: %d",
(int) alice);
printf("\n\n\n\nENTER THE VALUE OF \'b\' for BOB: ");
scanf("%lf", & b);

bob = calc(q, b, p);


printf("AFTER COMPUTING (q^b) mod p...\nTHE VALUE SENT TO ALICE IS: %d",
(int) bob);

alice_key = calc(bob, a, p);


bob_key = calc(alice, b, p);

printf("\n\n\n\nSECRET KEY OF ALICE: %d\nSECRET KEY OF BOB: %d\n", (int)


alice_key, (int) bob_key);

return 0;
}
OUTPUT:

CONCLUSION:
Thus, Diffie Hellman algorithm was studied and practically implemented using C programming
language.

Potrebbero piacerti anche