问题标签 [rsa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
74000 浏览

c# - 如何存储/检索 RSA 公钥/私钥

我想使用 RSA 公钥加密。存储或检索私钥和公钥的最佳方式是什么?XML在这里是个好主意吗?

如何获得钥匙?

因为 RSAParameters 有以下成员:D, DP, DQ, Exponent, InverseQ, Modulus, P, Q

哪一个是关键?

0 投票
6 回答
59960 浏览

c# - 如何在 C# 中使用 RSA 加密文件(大数据)

我是加密新手。我需要实现非对称加密算法,我认为它使用私钥/公钥。我开始使用 RSACryptoServiceProvider 的示例。可以加密小数据。但是当在相对较大的数据“2行”上使用它时,我得到异常 CryptographicException “Bad Length”!

然后我找到了一些使用 CryptoStream 加密大数据(或文件)的示例,并且只使用了 DES 或 3DES 等对称算法,这些算法具有 CreateEncryptor 函数以返回 ICryptoTransform 作为 CryptoStream 构造函数的输入之一!!!

使用 RSA 加密文件的方法是什么?

0 投票
1 回答
2476 浏览

java - 使用 Java 进行 RSA 解密

我正在尝试使用 RSA 解密字符串。它在 iPhone 上用 C# 加密,我有私钥。这似乎是一个愚蠢的问题,但我看到的所有示例都显示生成私钥。我有私钥(它是十六进制的字节 [])。它使用 PKCS#1 填充。我不知道该怎么做的部分是使用我已经拥有的私钥创建一个 java.security.Key 对象。

我是否需要让他们分两部分给我私钥……模数和指数?

提前致谢。

0 投票
3 回答
1144 浏览

c# - Bouncycastle:AddKeyTransRecipient 的 subKeyID-Parameter 有什么作用?

我正在尝试使用 bouncycastle 对任意长度的消息进行不对称加密。(1.4+ 使用 C#)

这是我现在拥有的代码。它应该(但不会)生成一条 CMS 消息,其中数据本身使用 AES256 和随机密钥进行加密,并且密钥使用来自keyPair.

keyPair是一个 RSA 密钥 (RsaKeyParameters)

方法中的subKeyId参数是Encrypt什么,它需要具有什么值?

0 投票
4 回答
14182 浏览

c# - 读取 ASN.1 DER 编码的 RSA 公钥

我正在编写一个应用程序来更好地了解 DKIM。规范说我从域 TXT 记录中检索“ASN.1 DER 编码”公钥。我可以在“s1024._domainkey.yahoo.com”上看到密钥 =“MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrEee0Ri4Juz+QfiWYui/E9UGSXau/2P8LjnTD8V4Unn+2FAZVGE3kL23bzeoULYv4PeleB3gfm”。

如何从 .net 使用此密钥?我看到的示例从 X509Certificate2 或包含 RSAParameters 的 XML 文件中获取密钥。

更正:我从 network-tools.com DNS 工具复制/粘贴了上面的密钥,该工具必须缩短它。nslookup 给了我完整的密钥:

s1024._domainkey.yahoo.com文本= “K = RSA;吨= Y; P = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrEee0Ri4Juz + QfiWYui / E9UGSXau2P8LjnTD8V4Unn + 2FAZVGE3kL23bzeoULYv4PeleB3gfm” “JiDJOKU3Ns5L4KJAUUHjFwDebt0NP + sBK0VKeTATL2Yr / S3bTxhy + 1xtj4RkdV7fVxTn56Lb4udUnwuxK4V5b5PdOKj + XcwIDAQAB; N = A 1024位的密钥;”

所以 abelenky 在 BASE64 上走在了正确的轨道上。

0 投票
4 回答
15566 浏览

c# - 在 C# 中使用 RSA 加密和在 Java 中使用解密时出现填充错误

目前,当我使用 Java 解密用 C# 制作的 Base64 编码的 RSA 加密字符串时,我收到以下错误:

javax.crypto.BadPaddingException:不是 PKCS#1 块类型 2 或零填充

.NET 和 Java 交换之间的设置过程是通过在 .NET 密钥存储中创建私钥然后从提取的 PEM 文件中完成的,使用 keytool 创建一个带有私钥的 JKS 版本。Java 加载已经创建的 JKS 并将 Base64 字符串解码为字节数组,然后使用私钥解密。

这是我在 C# 中创建加密字符串的代码:

这是我在Java中解密输入字符串的代码:

是否有人看到缺少步骤或需要更改填充或项目?我已经在这个网站和其他网站上阅读了数小时,但还没有真正找到具体的解决方案。

非常感谢您的帮助。

谢谢。-马特

0 投票
2 回答
696 浏览

java - RSA 安全 ID 的替代解决方案

我们是否有任何替代解决方案来替换用 JAVA-Servlet 开发的 Web 应用程序的 RSA 安全 ID?

更多细节:

当前应用程序使用 RSA 安全 ID 进行身份验证。现在我们正计划替换“RSA Security ID”技术。

有没有办法实现这种身份验证?(不推荐简单的db/ldap密码)

0 投票
3 回答
121635 浏览

c# - 如何通过 RSA 生成唯一的公钥和私钥

我正在构建一个自定义购物车,其中 CC 编号和 Exp 日期将存储在数据库中,直到处理(然后删除)。我需要加密这些数据(显然)。

我想使用 RSACryptoServiceProvider 类。

这是我创建密钥的代码。

现在计划将私钥 xml 存储在连接到管理器密钥链的 USB 驱动器上。

每当经理离开公司时,我都希望能够生成新的公钥和私钥(并用新的公钥重新加密所有当前存储的 CC 号码)。

我的问题是这段代码生成的密钥总是相同的。我如何每次生成一组唯一的密钥?

更新。我的测试代码如下:
注意:这里的“privatekey”参数是原始私钥。为了更改密钥,我需要验证私钥是否有效。

在 Default.aspx.cs

在 Crytpography.cs 中:

0 投票
2 回答
9019 浏览

c# - 如何正确解密 C#.NET 中的 RSA 数据?

我的服务器创建一个 RSACryptoServiceProvider 并将其参数导出到一个变量 (RSAKeyInfo)。

然后,将公钥发送给客户端,客户端使用该公钥加密某些内容。

现在,我需要能够在将这些数据发送回服务器时对其进行解密 - 因此 RSA 在我的情况下很有用。

但是,在尝试使用从之前创建的第一个 RSACryptoServiceProvider 导入的参数重新创建 RSACryptoServiceProvider 时,出现“错误数据”异常。

...代码可能更清晰。

创建加密货币:

稍后访问它以进行解密:

我在这一行得到“坏数据”异常:

我究竟做错了什么?我怎样才能正确地做到这一点?谢谢 :)

PS:请不要发送 MSDN 或明显的 Google 结果链接,我已经阅读了所有这些页面,但仍然无法正常工作。

0 投票
3 回答
5089 浏览

rsa - 如何结合 n 和 e 在 RSA 中创建公钥?

我有一个 128 字节(1024 位)模数(字节数组格式)和我的指数(也是字节数组格式)。我需要创建一个代表公钥的 128 字节数组。

根据维基百科,“公钥由模数 n 和公共(或加密)指数 e 组成。” 但这并没有告诉我如何混合两者。

正确的操作是什么?
- n^e(会保持 128 字节长吗?)
- 只是 n?
-n 后跟 e?
-n 添加到 e?
- 别的东西?