当前位置: 首页 > 知识库问答 >
问题:

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

柴俊捷
2023-03-14

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

共有1个答案

王声
2023-03-14

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

var sk = new RSAKey();
sk.setPrivate("<modulus hex>", "<public exponent hex>", "<private exponent hex>");
var plaintext = sk.decrypt("<ciphertext hex>");

在解密过程中不使用公共指数,所以您可以简单地向它传递一些垃圾十六进制,但它可以是“03”(3)、“11”(17)或“010001”(65537)。

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

 类似资料:
  • 我一直在阅读一些RSA文献和堆栈溢出问题,但我没有得到明确的答案。 仅给定一个RSA私钥模和私钥指数,这是我所拥有的全部(也足够用于所有密码相关操作),我能得到相关的公钥模和公钥指数吗? 另外,我是否可以仅用这两个参数获得私钥的编码形式?我在java中尝试了以下方法(java不是实际的请求),但是支持它的OpenSSL引擎失败,错误为:04000090:RSA例程:openSSL_internal

  • 我试图找到Java(本机或BouncyCastle提供程序)实现,以使用给定的参数{e,n,d}在PKCS#1中生成RSA私钥。 Dan Boneh的一篇论文描述了这样做的算法。PyCrypto(Python)提供了该解决方案,并且Mounir IDRASSI发布了一个独立的实用程序,用于在SFM格式(n,e,d)和CRT格式(p,q,dp,dq,u)之间转换RSA密钥,或者相反。然而,我无法找到

  • 我想解密使用RSA公钥加密的1024位数据。我有权访问 我没有访问私钥指数的权限。没有RSA private exponent和所有这些可用的API,有没有办法解密数据?我正在使用openssl进行RSA操作。我听说有了中文提示therem,我们只需要p、q、指数1、指数2和系数就可以进行RSA解密。但我正在寻找openssl中的API。在openssl中有没有什么有用的方法可以在没有私有指数的情

  • 我试图从模数&私有/公共指数重建一个RSA keypair。对公钥的转换是正确的,但对私钥的转换在比较编码的私钥时失败。 当使用此重建私有/公共键盘进行加密时,它工作(!)在Java中,但是在PHP中使用rebuild keypair时,解密部分失败(加密工作),所以在我看来,rebuild私钥与“原始”私钥是不同的。 仅供参考:使用“原始”keypair在PHP中一切都很好。 所以我的问题是:如

  • 本书之前提到了“封装”的概念,即指将一系列指令放在一个函数体内部的处理过程。而这样的做法则是为了将函数的接口与它的实现分离(函数接口指如何使用这个函数,函数实现则指如何去实现这个函数及实现具体做了些什么)。 上面提到这种封装可以命名为“功能封装”,用以区分本章将要介绍的“数据封装”。数据封装是基于这样的理念提出的:每一个结构的定义应当包括应用于本结构的函数集以及阻止对内部的无限制访问。 数据封装的

  • 我是新到cryptopp,并一直在努力为ECDSA签名创建私钥。 我有一个十六进制编码的私有指数。这存储为字符串。 我想用它来使用ECDSA签署文本块。我的代码看起来有点像这样 此代码在 Visual Studio 中生成以下错误,当我尝试执行 privateKey.load(...) 我猜我正在做一些有点愚蠢的事情...任何帮助都会很棒??? PS我在GMAC一代中使用ECDH时遇到了类似的问题