#include "os.h"
#include <9pm/mp.h>
#include <9pm/libsec.h>
void
main(void)
{
RSApriv *rsa;
int n;
mpint *clr, *enc, *clr2;
rsa = rsagen(1024, 16, 0);
if(rsa == nil)
sysfatal("rsagen");
clr = mpnew(0);
clr2 = mpnew(0);
enc = mpnew(0);
strtomp("123456789abcdef123456789abcdef123456789abcdef123456789abcdef", nil, 16, clr);
rsaencrypt(&rsa->pub, clr, enc);
for(n = 0; n < 10; n++)
rsadecrypt(rsa, enc, clr);
for(n = 0; n < 10; n++)
mpexp(enc, rsa->dk, rsa->pub.n, clr2);
if(mpcmp(clr, clr2) != 0)
printf("%s != %s\n", mptoa(clr,0,0,0), mptoa(clr2,0,0,0));
}
syntax highlighted by Code2HTML, v. 0.9.1