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

encryption - 非对称加密中的加密和签名有什么区别?

加密某些数据与签署某些数据(使用 RSA)有什么区别?

它只是简单地颠倒了公钥-私钥的角色吗?

例如,我想使用我的私钥生成消息,所以只有我可能是发件人。我希望我的公钥用于阅读消息,我不在乎谁阅读了它们。我希望能够加密某些信息并将其用作我的软件的产品密钥。我只关心我是唯一可以生成这些的人。我想在我的软件中包含我的公钥来解密/读取密钥的签名。我不在乎谁可以读取密钥中的数据,我只关心我是唯一可以生成它们的可验证的人。

在这种情况下签名有用吗?

0 投票
2 回答
6781 浏览

c# - 如何将 .NET 中的 RSA 公钥导入 OpenSSL

我有一个 .NET 程序和一个 Borland Win32 程序,它们需要传递一些加密安全信息。现在的计划是让 .NET 应用程序创建一个公钥/私钥对,将公钥存储在磁盘上,并在 .NET 程序运行期间将私钥保存在内存中。

然后 Borland 应用程序将从磁盘读取公钥并使用 OpenSSL 库使用公钥加密数据并将结果写入磁盘。

最后,.NET 应用程序将读取加密数据并使用私钥对其进行解密。

从 .NET 导出密钥然后将其导入 OpenSSL 库的最佳方法是什么?

0 投票
1 回答
2368 浏览

python - Python M2Crypto - 生成 DSA 密钥对并分离公共/私有组件

任何人都可以解释以下原因是什么:

显然我错过了一些东西。M2Crypto 不存在的文档无济于事。

0 投票
3 回答
24796 浏览

authentication - rsa 密钥卡如何工作?

谁能用简单的编程术语向我解释这些 RSA 密钥加密狗是如何工作的?我知道暴雪有它们用于魔兽世界和贝宝以及一些交易网站。

谢谢!

0 投票
7 回答
107723 浏览

java - SHA1 和 RSA 与 java.security.Signature 对比 MessageDigest 和 Cipher

我试图了解 Java java.security.Signature类的作用。如果我计算一个 SHA1 消息摘要,然后使用 RSA 对该摘要进行加密,我会得到与要求Signature类签署相同内容不同的结果:

结果(例如):

输入数据:这是正在签名的消息
摘要:62b0a9ef15461c82766fb5bdaae9edbe4ac2e067
密文:057dc0d2f7f54acc95d3cf5cba9f944619394711003bdd12...
签名:7177c74bbbb871cc0af922e30d2808ebae1...25

我必须对Signature正在做什么有一个根本的误解——我已经通过它进行了跟踪,它似乎正在调用MessageDigest对象的更新,算法设置为 SHA1,正如我所期望的那样,然后获取摘要,然后执行加密。是什么导致结果不同?

编辑:

Leonidas 让我检查签名方案是否应该按照我的想法去做。RFC中定义了两种类型的签名:

其中第一个(PKCS1)是我上面描述的那个。它使用散列函数创建摘要,然后使用私钥对结果进行加密。

第二种算法使用随机盐值,更安全但不确定。如果重复使用相同的密钥,上面代码产生的签名不会改变,所以我认为它不可能是 PSS。

编辑:

这是bytes2string我使用的方法:

0 投票
8 回答
24225 浏览

python - 如何在 Python 中验证 RSA SHA1 签名?

我有一个字符串、一个签名和一个公钥,我想验证字符串上的签名。密钥如下所示:

我一直在阅读 pycrypto 文档,但我不知道如何使用这种密钥制作 RSAobj。如果您了解 PHP,我正在尝试执行以下操作:

另外,如果我对任何术语感到困惑,请告诉我。

0 投票
8 回答
92757 浏览

ssl - 我的 SSL 证书应该使用什么 RSA 密钥长度?

我正在创建 CSR,我想知道哪个长度可以说是我的 RSA 密钥的最佳长度。

当然,384可能太弱了,16384可能太慢了。

根据证书的生命周期,是否就应该使用的密钥长度达成共识?

编辑:像大多数人一样,我希望我的钥匙相当强大。我不担心 NSA 可能会在 2019 年破坏我的密钥。我只想知道当一个人计划开展正常业务(例如电子商务网站)时,最佳实践是什么

0 投票
1 回答
609 浏览

svn - Subversion 的实用 RSA SecurID 身份验证?

有人用 RSA SecurID 身份验证设置 Subversion 吗?有没有办法解决不断重新提示身份验证的问题?

0 投票
7 回答
35998 浏览

php - RSA加密/解密兼容Javascript和PHP

我想用 Javascript 加密,然后用 PHP 解密。Javascript 和 PHP 有 RSA 实现,但它们不兼容。我无法在 PHP 中正确解密我用 Javascript 加密的内容。

有谁知道可以同时使用 Javascript 和 PHP 的库/代码?

谢谢。

0 投票
5 回答
297 浏览

security - 这个场景安全吗?

我正在使用 RSA 加密服务器和客户端之间的通信。假设我们有 2 个非对称密钥,密钥 1 和密钥 2。

服务器从一开始就有key1(私有),客户端有key1(公共)

所以这里是场景:

  1. 客户端生成key2
  2. 客户端连接到服务器
  3. 发送用 key1(public) 加密的 key2(public)
  4. 从现在开始,服务器将发送所有使用 key2(public) 加密的数据
  5. 客户端向服务器发送一些随机数据
  6. 服务器发回相同的散列数据
  7. 客户端验证数据是否正确

据我所知,这应该可以防止中间人攻击,还是我错过了什么?在第 7 点,客户端应该知道是否有人试图给服务器提供错误的密钥来加密,因为除了服务器之外没有其他人可以解密 key2(public)。

如果有什么可以提高安全性的方法,请告诉我。