Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

222
Vistas
Javascript RSA implementation doesn't generate correctly

The problem is at generating either e or d. But what? The math seems good to me.

e > 1 and coprime to ϕ

d satisfies de≡1(modϕ(n))

Please help

var m = 4, //Message
    p = 13
    q = 7

    n = p * q
    T = (q - 1) * (p - 1)
    d = new Number;


//Calculate e:
for (let i = 2; i < T; i++) {

    if( (gcd(i,T) == 1) ) { var e = i; break; }
}

//Calculate d:
while ( e * d % T != 1 ) d++;

function gcd(k, n) {
    return k ? gcd(n % k, k) : n;
}


var e_m = m ** e % n,      // To encrypt
    d_m = e_m ** d % n    // To decrypt

console.log(`m: ${m}\np: ${p}\nq: ${q}\nn: ${n}\nT: ${T}\n\ne: ${e}\nd: ${d}\n\nencrypted: ${e_m}\ndecrypted: ${d_m}`);

//Results:
// encrypted: 23
// decrypted: 28 (not 4)

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda