dht.h

来自「DH简单的密钥交换」· C头文件 代码 · 共 56 行

H
56
字号
#include<iostream>
#include "math.h"
using namespace std;

class DHext{
public:
	long p;
	long g;
	void init(void);//初始化
	long generate_num(void);
	void get_x(long receive);//此处为socket
	long send_my_x(void);//此处为socket
	void generate_key(void);
	long read_key(void);
private:
	long x;//收到的对方传送的数据
	long key;
	long num;//随机保密数
	int  b_generate_num;
}client;

void DHext::init()
{
	p=0;g=0;x=0;key=0;num=0;b_generate_num=0;
}

long DHext::generate_num(void)
{
	if(b_generate_num==0)
	{
		num=3;
		b_generate_num=1;
	}
    return num;
}

void DHext::get_x(long receive)
{
	x=receive;
}

long DHext::send_my_x(void)
{
	return((g^num)%p);
	//发送 (g^num)%p; 的值
}

void DHext::generate_key (void)
{
	key=(x^num)%p;
}

long DHext::read_key(void)
{
	return key;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?