JavaScript中基于模和私有指数的RSA私钥

JavaScript中基于模和私有指数的RSA私钥,javascript,cryptography,rsa,private-key,Javascript,Cryptography,Rsa,Private Key,我有一个模和私有指数。如何从中生成JavaScript中的RSA私钥 或者,如果这些值不足以生成RSA私钥。我可能需要的其他值是什么 在Java7中,它能够生成带有mod和private Exp的RSA私钥。我正在寻找JavaScript中的等价物 我还尝试了npm ursa模块,不幸的是没有成功 能够创建可以解密的RSA私钥 var sk = new RSAKey(); sk.setPrivate("<modulus hex>", "<public exponent hex&

我有一个模和私有指数。如何从中生成JavaScript中的RSA私钥

或者,如果这些值不足以生成RSA私钥。我可能需要的其他值是什么

在Java7中,它能够生成带有mod和private Exp的RSA私钥。我正在寻找JavaScript中的等价物

我还尝试了npm ursa模块,不幸的是没有成功

能够创建可以解密的RSA私钥

var sk = new RSAKey();
sk.setPrivate("<modulus hex>", "<public exponent hex>", "<private exponent hex>");
var plaintext = sk.decrypt("<ciphertext hex>");
var sk=new RSAKey();
sk.setPrivate(“,”,“);
var plaintext=sk.decrypt(“”);
在解密过程中不使用公共指数,因此您可以简单地向其中传递一些垃圾十六进制,但它可以是“03”(3)、“11”(17)或“010001”(65537)


您需要包括jsbn.js、jsbn2.js、rsa.js和rsa2.js。请记住,解密速度将比使用完整RSA密钥慢4倍,因为无法使用中国剩余定理。

从技术上讲,模数和私有指数足以抽象地生成RSA私钥;它们仅仅不足以生成一个带有输入的RSA私钥,用于使用。(,有些实现能够执行这种非优化解密;但是,有些实现不能。)


要创建一个完整的RSA私钥,并将其输入用于优化,您需要原始素数
p
q
。没有简单的、确定性的方法可以从模和私有指数中获得它们,但是有方法可以在足够小的空间中搜索它们。请参阅此问题的答案:

谢谢Artjon。但是有没有办法让我得到完整的私钥呢。也许PEM文件或所有其他私钥组件看起来JSBN无法读取或写入PEM编码的密钥,但您当然可以自己编写解码器/编码器。关键的部分总是可用的:可能重复关于分解模数的好建议,但我不认为这个问题是重复的。