Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使此RSA库(仅具有en/解密功能(!)签名?_Javascript_Cryptography_Rsa - Fatal编程技术网

Javascript 如何使此RSA库(仅具有en/解密功能(!)签名?

Javascript 如何使此RSA库(仅具有en/解密功能(!)签名?,javascript,cryptography,rsa,Javascript,Cryptography,Rsa,或者具体-我正在使用javascript RSA库作为我实验项目的客户端代码。。。我希望能够对消息进行签名和验证(->使用私钥加密,使用公钥解密) 有没有一种方法可以改变密钥数据,使en/解密算法使用“反向”密钥进行修改?我试着用e和d来交换(因为在我看来,这是维基百科上的区别)——用“签名”来交换它是有效的(但我认为这是不可加密的垃圾)。。。为了“验证”,我尝试用e而不是e来计算d mod(p-1)、d mod(q-1)和1/q mod p,以便使用解密算法进行验证。。。但这真的是我想的吗?如

或者具体-我正在使用javascript RSA库作为我实验项目的客户端代码。。。我希望能够对消息进行签名和验证(->使用私钥加密,使用公钥解密)

有没有一种方法可以改变密钥数据,使en/解密算法使用“反向”密钥进行修改?我试着用e和d来交换(因为在我看来,这是维基百科上的区别)——用“签名”来交换它是有效的(但我认为这是不可加密的垃圾)。。。为了“验证”,我尝试用e而不是e来计算d mod(p-1)、d mod(q-1)和1/q mod p,以便使用解密算法进行验证。。。但这真的是我想的吗?如果是的话,我想它不必存储在私钥中,因为它很容易计算,有d,p和q

要点:如果有一种方法可以将修改过的私钥输入加密算法进行签名,而对对方也是如此,我该怎么做?钥匙需要做哪些修改?

看这里:

你不能


加密和签名有不同的填充。有时,您会看到一些建议,建议对邮件的哈希进行加密以获得签名。然而,这一建议是正确的。这会导致与正确的签名方案不兼容的情况。此外,您的实现可能实际上是不安全的。RSA填充物有很长的缺陷历史。即使是标准化委员会也不总是正确的。

您使用私钥签名,并使用公钥验证。为什么这还不够好?如果它真的有效的话,那就足够了。。。如标题所示-我使用的库不支持开箱即用。。。因此,我要么修改密钥以欺骗en/解密算法,要么我必须自己实现签名…这不是我问题的具体答案,但谢谢,我会通读一遍,并尝试用它做点什么…好的,我想我理解其中的区别。。。但是:我需要我的实现与OpenSSL兼容——你能告诉我OpenSSL是如何做到的吗?我的意思是,它使用什么摘要?等等…哦,该死,我明白了。。。PKCS签名算法!好的,再次感谢:)使用上面链接中的信息,我成功地实现了与openssl兼容的签名。。。我认为openssl是相当安全的。。。