egtest.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 35 行

C
35
字号
#include "os.h"#include <mp.h>#include <libsec.h>voidmain(void){	EGpriv *sk;	mpint *m, *gamma, *delta, *in, *out;	int plen, shift;	fmtinstall('B', mpconv);	sk = egprivalloc();	sk->pub.p = uitomp(2357, nil);	sk->pub.alpha = uitomp(2, nil);	sk->pub.key = uitomp(1185, nil);	sk->secret = uitomp(1751, nil);	m = uitomp(2035, nil);	plen = mpsignif(sk->pub.p)+1;	shift = ((plen+Dbits-1)/Dbits)*Dbits;	gamma = uitomp(1430, nil);	delta = uitomp(697, nil);	out = mpnew(0);	in = mpnew(0);	mpleft(gamma, shift, in);	mpadd(delta, in, in);	egdecrypt(sk, in, out);	if(mpcmp(m, out) != 0)		print("decrypt failed to recover message\n");}

⌨️ 快捷键说明

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