Window CryptoAPI:我可以在生成 RSA 密钥对时选择公共指数吗?
Posted
技术标签:
【中文标题】Window CryptoAPI:我可以在生成 RSA 密钥对时选择公共指数吗?【英文标题】:Window CryptoAPI: Can I choose the public exponent when generating an RSA key pair? 【发布时间】:2009-11-16 10:42:12 【问题描述】:使用 Windows CryptoAPI,有没有办法指定在生成新的密钥对时使用哪个公共指数(即 3 而不是 65537)?
作为附加问题:我如何使用 .NET RSACryptoServiceProvider
访问此功能?
编辑:我的猜测是答案是否定的,但我想得到确认。
【问题讨论】:
【参考方案1】:不-我们走了 :) 更严重的是CryptGenKey 您可以发送到 CryptGenKey 的唯一参数是在CryptSetKeyParam 中设置的。您可以从文档中看到,您只能为每种密钥类型设置有限数量的属性,并且只能为 RSA 密钥设置一个。
(另外,我相信你也知道,小指数无论如何都是危险的)
【讨论】:
总理?发电机?如果您说的是 KP_G 和 KP_P,那么这些是针对 DSA 的。 错了。减慢我睡着的速度:) 尽管如此,参数结构仍然适用,它是影响密钥生成的唯一方法,除了 KP_OAEP_PARAMS 之外,RSA 没有任何东西【参考方案2】:我认为这回答了你的第二个问题:
EncryptTo/DecryptTo: Encryption in .NET with CryptoAPI Certificate Stores
【讨论】:
以上是关于Window CryptoAPI:我可以在生成 RSA 密钥对时选择公共指数吗?的主要内容,如果未能解决你的问题,请参考以下文章
CryptoAPI C++ 使用 AES 与 Java 互操作
使用 WebAPI 加密数据时出现 TypeError window.crypto.subtle.encrypt()