a
This commit is contained in:
34
libsec/egtest.c
Normal file
34
libsec/egtest.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include "os.h"
|
||||
#include <mp.h>
|
||||
#include <libsec.h>
|
||||
|
||||
void
|
||||
main(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");
|
||||
}
|
Reference in New Issue
Block a user