এটি হলো জাবাস্ক্রিপ্টে BigInteger.js ব্যবহার করে একটি কার্যকর উদাহরণ। এই কোডটি উৎপাদনে ব্যবহার করা যাবেনা। কারণ codice_1 codice_2 ব্যবহার করে, যেটি নিরাপদ সাংকেতিকরণের ছদ্ম সংখ্যা উৎপাদক নয়।
'use strict';
const RSA = {};
RSA.generate = function(keysize) {
function randomPrime(bits) {
const min = bigInt(6074001000).shiftLeft(bits - 33); // min ≈ √2 × 2^(bits - 1)
const max = bigInt.one.shiftLeft(bits).minus(1); // max = 2^(bits) - 1
for (;;) {
const p = bigInt.randBetween(min, max); // WARNING: not a cryptographically secure RNG!
if (p.isProbablePrime(256)) {
return p;

// set up variables for key generation
const e = bigInt(65537); // use fixed public exponent
let p;
let q;
let lambda;

// generate p and q such that λ(n) = lcm(p − 1, q − 1) is coprime with e and |p-q| >= 2^(keysize/2 - 100)
do {
p = randomPrime(keysize / 2);
q = randomPrime(keysize / 2);
lambda = bigInt.lcm(p.minus(1), q.minus(1));
} while (bigInt.gcd(e, lambda).notEquals(1) || p.minus(q).abs().shiftRight(
keysize / 2 - 100).isZero());

return {
n: p.multiply(q), // public key (part I)
e: e, // public key (part II)
d: e.modInv(lambda), // private key d = e^(-1) mod λ(n)
};
RSA.encrypt = function(m, n, e) {
return bigInt(m).modPow(e, n);

RSA.decrypt = function(c, d, n) {
return bigInt(c).modPow(d, n);

কোড
ইতিহাস
নিরাপত্তা ও ব্যবহারিক আলোচনা
শক্তিশালী সংখ্যা তৈরির গুরুত্ব