首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有RSACryptoServiceProvider.Encrypt的OAEP参数

带有RSACryptoServiceProvider.Encrypt的OAEP参数
EN

Stack Overflow用户
提问于 2021-06-01 11:17:04
回答 1查看 679关注 0票数 2

RSACryptoServiceProvider.Encrypt有一个f0AEP参数,可以设置为"true以使用OAEP填充执行直接RSA加密(仅在运行Windows或更高版本的计算机上可用)“。

问题是..。对于OAEP,您有参数,如哈希、MGF哈希和标签。如何使用RSACryptoServiceProvider设置这些?当不设置时,它们默认为什么?即使他们不能被设置,他们仍然应该默认一些我假设的东西?

RSA.Decrypt(Byte[],RSAEncryptionPadding)看起来更加通用,它应该是首选的方法,但是我只是想更多地理解RSACryptoServiceProvider,因为我继承了一些使用它的遗留代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-01 17:24:24

RSACryptoServiceProvider应用默认值(来自RFC8017),即用于摘要和空标签的SHA1。.NET文档没有详细描述这一点。有关SHA1的提示可以在关于重载Encrypt(Byte[], RSAEncryptionPadding)的备注中找到。最终,由于文档稀少,必须对其进行测试。

对于其他摘要,必须使用其他实现,例如RSACng。即使在这里,这两个摘要也只能选择相同的内容。标签无法设置(但是,通常也没有设置)。

由C#实现的BouncyCastle /OAEP允许独立设置摘要。同样,可以设置标签(称为encodingParams)。这里是C#/Bouncy城堡的一个例子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67787835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档