bignum library
Functions
pkcs1pad2(s, n) #
pkcs1pad2(s,n) {
if(n < s.length + 11) {
print("Message too long for RSA");
return null;
}
var ba = new Map();
var i = s.length - 1;
while(i >= 0 && n > 0) ba[--n] = s.codeUnitAt(i--);
ba[--n] = 0;
var rng = new SecureRandom();
var x = new Map();
while(n > 2) { // random non-zero pad
x[0] = 0;
while(x[0] == 0) rng.nextBytes(x);
ba[--n] = x[0];
}
ba[--n] = 2;
ba[--n] = 0;
return new BigInteger(ba);
}
parseBigInt(str, r) #
parseBigInt(str,r) {
return new BigInteger(str,r);
}
prng_newstate() #
prng_newstate() {
return new Arcfour();
}