Diffie-Hellman密钥交换,获得会话密钥 C++实现

密码学实验

就以书本为例了

#include
using namespace std;
#define p 97
#define a 5
#define Xa 36
#define Xb 58

int candp(int m,int b,int c)    //数据处理函数,实现幂的取余运算
{
	int r=1;
	while(b--!=0)
		r=(r*m)%c;
	return r;
}

void main()
{
	int Ya,Yb;
	int K;//会话密钥
	Ya=candp(a,Xa,p);
	Yb=candp(a,Xb,p);
	K=candp(Yb,Xa,p);
	cout<<"p: "<<p<<endl<<"a: "<<a<<endl<<"Xa: "<<Xa<<endl<<"Xb: "<<Xb<<endl;
	cout<<"会话密钥为:"<<K<<endl;
}

运行截图如下:
Diffie-Hellman密钥交换,获得会话密钥 C++实现_第1张图片

你可能感兴趣的:(密码学)