使用 RSACryptoServiceProvider 生成随机 RSA 密钥

发布于 2024-10-03 20:57:04 字数 130 浏览 0 评论 0原文

如何使用 RSACryptoServiceProvider 类生成随机 RSA 公钥和私钥 (RSAParameters)? 每次创建 RSACryptoServiceProvider 的新实例时,我最终都会导出相同的密钥。

谢谢

How do I generate random RSA public and private keys (RSAParameters) using RSACryptoServiceProvider class?
Each time I create a new instance of RSACryptoServiceProvider, I end up exporting the same keys.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不打扰别人 2024-10-10 20:57:04

我对以下代码做了一些测试,导出的参数总是不同:

var rsaAlgo1 = new RSACryptoServiceProvider();
var rsaAlgo2 = new RSACryptoServiceProvider();

var xml1 = rsaAlgo1.ToXmlString(true);
var xml2 = rsaAlgo2.ToXmlString(true);

if (xml1 != xml2)
{
   // it always goes here...
}

I did some test on the following code, and the exported parameters are always different:

var rsaAlgo1 = new RSACryptoServiceProvider();
var rsaAlgo2 = new RSACryptoServiceProvider();

var xml1 = rsaAlgo1.ToXmlString(true);
var xml2 = rsaAlgo2.ToXmlString(true);

if (xml1 != xml2)
{
   // it always goes here...
}
掌心的温暖 2024-10-10 20:57:04

使用以下代码,您永远不会得到所有相同的密钥,

var rsa = new RSACryptoServiceProvider();
var rsaParams = rsa.ExportParameters(true);

但是您应该注意,指数密钥可以是相同的,并且通常是65537(0x010001)

“选择一个整数 e,使得 1 < e < φ(n) 且 gcd(e, φ(n)) = 1;即,e 和 φ(n) 互质。
e 作为公钥指数发布。
较短的位长度和较小的汉明权重可实现更高效的加密 – 最常见的是 216 + 1 = 65,537。然而,在某些设置中,较小的 e 值(例如 3)已被证明不太安全。”
RSA wiki

Using the following code you should never get all the same keys out

var rsa = new RSACryptoServiceProvider();
var rsaParams = rsa.ExportParameters(true);

However you should note that the Exponent key can be the same and if often is 65537(0x010001)

"Choose an integer e such that 1 < e < φ(n) and gcd(e, φ(n)) = 1; i.e., e and φ(n) are coprime.
e is released as the public key exponent.
e having a short bit-length and small Hamming weight results in more efficient encryption – most commonly 216 + 1 = 65,537. However, much smaller values of e (such as 3) have been shown to be less secure in some settings."
RSA wiki

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文