问题标签 [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 投票
2 回答
2810 浏览

apache-flex - AS3Crypto RSA 签名

我在将 RSA 返回的值与 actionscript as3crypto 库中的 Base64 SHA1 哈希值与 c# 中返回的结果相匹配时遇到了一些麻烦。

我将解码为字节数组的 Base64 哈希传递给 as3crypto 中提供的 sign() 函数,并对结果进行 base64 编码。但是,此结果永远不会与执行相同任务的 ac# 函数返回的结果相匹配。即使函数在字节数组级别工作,该函数接受并返回十六进制是否重要?

请查看我下面的签名功能以检查我没有遗漏任何内容!

有人对 AS3Crypto 库有很多经验吗?

任何帮助都会很棒!!!

谢谢,

乔恩

0 投票
4 回答
50830 浏览

c# - RSA 加密,长度变差

调用以下函数时:

我现在收到错误:长度错误。

使用较小的字符串它可以工作,任何问题可能是我传递的字符串的任何想法都在 200 个字符以下。

0 投票
5 回答
3236 浏览

c# - C# RSA 解密问题

我有这个函数用来解密在我的开发机器上运行良好的值。但是当在另一台服务器上运行时 - 给出了这个确切的错误消息:

该系统找不到指定的文件。

这是功能:

更新

伙计们,我最初走这条路是因为经过数小时的搜索后,我在 stackoverflow 上得到了答案,这种加密/解密方法完全适用于字符串,无需导入/导出密钥。

所以....现在我缺少一个密钥文件?这怎么可能我什至没有创建密钥文件。

0 投票
2 回答
7939 浏览

c# - 在 .net 框架中使用先前生成的 RSA 公钥/私钥

我有一个预先存在的用于 RSA 加密的公钥/私钥对,我需要在 .net 中使用它。我可以在网上找到的所有示例都演示了如何生成新的私有/公共对然后加密/解密。IE。像这样的东西:

可以看出,没有指定预先存在的公钥/私钥的途径。

有人知道如何完成我想要做的事情吗?任何帮助将非常感激。

干杯纳伦

0 投票
3 回答
3703 浏览

encryption - Openssl pkeyutl 期望什么格式签名?

我正在尝试验证通过使用 SHA-1 散列并使用 RSA 私钥加密散列来签名的文件。

显然我正在使用 RSA 公钥进行验证。密钥采用 DER 格式。

签名验证使用 Java 的 Signature 类可以正常工作。

我正在尝试的 openssl 命令(和结果)是:

我在 openssl 配置文件中看不到任何适用的内容,因此我认为该警告并不重要。

savedDigitalSignature.txt 文件包含签名字节。

我的理论是,openssl 正在寻找某种特定文件格式的数字签名,但我在文档中没有找到任何表明应该是什么的内容。

想法?

0 投票
3 回答
8404 浏览

encryption - 如何将 AES 初始化向量传达给客户端以进行混合密码系统

我需要为客户端-服务器通信实现安全性。我已经实现了以下混合密码系统

为了在混合密码系统中加密发给 Alice 的消息,Bob 执行以下操作:

  1. 获得 Alice 的公钥。
  2. 为数据封装方案生成一个新的对称密钥。
  3. 使用刚刚生成的对称密钥在数据封装方案下对消息进行加密。
  4. 在密钥封装方案下,使用 Alice 的公钥加密对称密钥。
  5. 将这两种加密都发送给 Alice。

为了解密这个混合密文,Alice 执行以下操作:

  1. 使用她的私钥解密包含在密钥封装段中的对称密钥。
  2. 使用此对称密钥来解密数据封装段中包含的消息。

我将 RSA 用于公钥密码系统,将 AES 用于对称密钥密码系统。一切正常,但我不确定如何处理 AES 初始化向量。目前,我正在连接 AES 密钥和初始化向量,用公钥对其进行加密并将其发送到服务器。

我只是想就这种方法获得一些意见。其他通信协议 SSL 等如何解决此问题。

谢谢。

0 投票
2 回答
3637 浏览

c# - 没有填充的 C# RSA

我正忙于移植看起来像这样的 Java 代码

到 C#,但似乎 RSACryptoServiceProvider 会强制您使用 OEAP 或 PKCS1 填充。我知道没有填充是不安全的,但在这种情况下,我使用的是闭源客户端,所以我对此无能为力。有没有办法解决这个填充问题?

0 投票
3 回答
472 浏览

encryption - 我应该使用哪种加密方法?

我需要一个系统来交换非常机密的数据(源代码是商业机密)。我将使用 Crypto++,所以实际上我可以使用所有加密算法,尽管我更喜欢使用行业标准。

目前我正在考虑这些方法:

  1. 让服务器生成 2048/4096 位 RSA 密钥,将公钥发送给客户端,让客户端加密数据,然后将其发送给服务器。
  2. 使用像 Diffie-Hellman(正确的是 Diffie-Hellman-Merkle)这样的密钥交换方法来交换 AES-256 密钥。
  3. 启动 TLS 连接并直接告诉服务器 AES 密钥。

你认为我应该使用哪种方法?只要合理,我不关心性能;安全才是最重要的。如果都没有,请建议另一种方法。

PS:我可能会在对称算法上使用链接,例如 AES-Twofish-Serpent。

编辑:任何推荐的软件都必须在不会限制专有使用的许可证中。LGPL 尽可能严格。这排除了 GPL。

0 投票
1 回答
5250 浏览

cryptography - 基于密钥大小的 RSA 性能

一个不依赖于实现的理论问题,1024 位与 4096 位 RSA 的性能下降了多少?

谢谢

0 投票
3 回答
3360 浏览

java - Java:为什么 512 位 RSA KeyPairGenerator 返回 65 字节的密钥?

这可能是一个新手问题。我正在使用 Java 生成密钥对:

现在我一直认为 privateKey.getModulus() 和 privateKey.getPrivateExponent() 形成“私钥”,并且它们与传递给密钥生成器的密钥大小(512 位)一样大。

但是,privateKey.getPrivateExponent().toByteArray() 有时返回 64 字节(如我所料),有时返回 65 字节数组。

为什么有时是 65 个字节?我在这里错过了什么吗?