Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

221
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda