var RSA={};RSA.generate=function(r){function n(r){for(var n=bigInt.one.shiftLeft(r-1),t=bigInt.one.shiftLeft(r).prev();;){var e=bigInt.randBetween(n,t);if(e.isProbablePrime(256))return e}}var t,e,i,o=bigInt(65537);do{t=n(r/2),e=n(r/2),i=bigInt.lcm(t.prev(),e.prev())}while(bigInt.gcd(o,i).notEquals(1)||t.minus(e).abs().shiftRight(r/2-100).isZero());return{n:t.multiply(e),e:o,d:o.modInv(i)}},RSA.encrypt=function(r,n,t){return bigInt(r).modPow(t,n)},RSA.decrypt=function(r,n,t){return bigInt(r).modPow(n,t)},RSA.encode=function(r){for(var n="",t=0;t