Расшифровка RSA в Javascript - PullRequest
0 голосов
/ 03 октября 2018

У меня есть простой код, использующий библиотеки Tom Wu http://www -cs-students.stanford.edu / ~ tjw / jsbn / js, которые шифруют необработанные данные в зашифрованный текст на стороне клиента, а затем дешифруют с помощьюСерверная часть phpseclib.Есть ли способ расшифровать зашифрованные данные в JavaScript?Вот мой фрагмент кода для шифрования:

var PublicKey="public_key_hex"
var RSAEncryption=new RSAKey()
RSAEncryption.setPublic(PublicKey, "10001")
var EncryptedData=RSAEncryption.encrypt("raw_data")

Я также просматриваю источник http://www -cs-students.stanford.edu / ~ tjw / jsbn / rsa2.html , но не могувыяснить, почему в setPrivateEx () необходимо 6 значений для расшифровки.Может быть, кто-то может помочь, пожалуйста.Я также знаю, чтобы включить jsbn2.js и rsa2.js для расшифровки.Вот фрагмент кода rsa2.html:

function do_decrypt() {
  do_status("Decrypting...");
  var before = new Date();
  var rsa = new RSAKey();
  var dr = document.rsatest;
  rsa.setPrivateEx(dr.n.value, dr.e.value, dr.d.value, dr.p.value, dr.q.value, dr.dmp1.value, dr.dmq1.value, dr.coeff.value);
if(document.rsatest.ciphertext.value.length == 0) {
do_status("No Ciphertext - encrypt something first");
return;
}
var res = rsa.decrypt(document.rsatest.ciphertext.value);
var after = new Date();
if(res == null) {
document.rsatest.decrypted.value = "*** Invalid Ciphertext ***";
do_status("Decryption failed");
}
else {
document.rsatest.decrypted.value = res;
do_status("Decryption Time: " + (after - before) + "ms");
}
}
...