Blame


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