17:58 Diffie-Hellman example | |
#include <iostream> #include <cstdlib> using namespace std; long long Exp(long long base, long long exp) { long long r=base; for(int i=1;i<exp;i++) r*=base; return r; } int main() { long long A,B; long long base,mod; for(;;) { cout << "Base: " << endl; cin >>base; cout << "Modulus: " << endl; cin >>mod; cout << "Alice, choose your secret number: " << endl; cin >>A; cout << "Bob, choose your secret number: " << endl; cin >>B; long long a=Exp(base,A)%mod; long long b=Exp(base,B)%mod; cout << "Alice's value: " << a << endl; cout << "Bob's value: " << b << endl; long long akey=Exp(b,A)%mod; long long bkey=Exp(a,B)%mod; cout << "Alice's key: " << akey << endl; cout << "Bob's key: " << bkey << endl; } system("PAUSE"); return EXIT_SUCCESS; } | |
|
Total comments: 0 | |