egdecrypt.c

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

C
29
字号
#include "os.h"#include <mp.h>#include <libsec.h>mpint*egdecrypt(EGpriv *priv, mpint *in, mpint *out){	EGpub *pub = &priv->pub;	mpint *gamma, *delta;	mpint *p = pub->p;	int plen = mpsignif(p)+1;	int shift = ((plen+Dbits-1)/Dbits)*Dbits;	if(out == nil)		out = mpnew(0);	gamma = mpnew(0);	delta = mpnew(0);	mpright(in, shift, gamma);	mpleft(gamma, shift, delta);	mpsub(in, delta, delta);		mpexp(gamma, priv->secret, p, out);	mpinvert(out, p, gamma);	mpmul(gamma, delta, out);	mpmod(out, p, out);	mpfree(gamma);	mpfree(delta);	return out;}

⌨️ 快捷键说明

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