Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "os.h"
2
#include <mp.h>
3
#include <libsec.h>
4
 
5
void
6
main(void)
7
{
8
	EGpriv *sk;
9
	mpint *m, *gamma, *delta, *in, *out;
10
	int plen, shift;
11
 
33 7u83 12
	fmtinstall('B', mpfmt);
2 - 13
 
14
	sk = egprivalloc();
15
	sk->pub.p = uitomp(2357, nil);
16
	sk->pub.alpha = uitomp(2, nil);
17
	sk->pub.key = uitomp(1185, nil);
18
	sk->secret = uitomp(1751, nil);
19
 
20
	m = uitomp(2035, nil);
21
 
22
	plen = mpsignif(sk->pub.p)+1;
23
	shift = ((plen+Dbits-1)/Dbits)*Dbits;
24
	gamma = uitomp(1430, nil);
25
	delta = uitomp(697, nil);
26
	out = mpnew(0);
27
	in = mpnew(0);
28
	mpleft(gamma, shift, in);
29
	mpadd(delta, in, in);
30
	egdecrypt(sk, in, out);
31
 
32
	if(mpcmp(m, out) != 0)
33
		print("decrypt failed to recover message\n");
34
}