c# - 是否可以在非对称加密中使用纯加密和解密 key 而不是私钥和公钥?

标签 c# .net rsa encryption-asymmetric

是否可以使用纯加密和解密 key 来代替私钥和公钥?据我所知,在 .Net 非对称 RSA 实现中私钥 RSAParameters parameters = (new RSACryptoServiceProvider()).ExportParameters(true) 是公钥的超集。使用私钥我们可以加密和解密我们的数据。但是我只需要用于解密 数据的 key 。怎么做?

我试过使 RSAParameters 字段为空,但 RSACryptoServiceProvider 对象无法导入此类参数。

最佳答案

如果你在问我认为你在问的问题,那么你正在解决这样一个问题:

您加密了一些数据。您将其发送给客户,并希望他们能够解密,但您希望他们能够加密任何内容,因为这样他们就可以说服其他客户他们就是你。

这很接近吗?您能告诉我们您正在解决什么问题吗?

对于线程中的其他人来说,OP 想要一个仅解密 key 而不是通常的仅加密公钥听起来很清楚。

编辑:评论是正确的,私钥不能用于加密,但是给定私钥生成公钥并不难。如果您拥有私钥,那么您实际上可以同时拥有这两个 key 。

编辑 2:OP,你应该看看 digital signatures .您可以签署一条消息(使用私钥),然后使用公钥确认签名,我认为这正是您所要求的。

关于c# - 是否可以在非对称加密中使用纯加密和解密 key 而不是私钥和公钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3061225/

相关文章:

java - SHA1withRSA 在 python 中验证?

javascript - TypeScript 中的 RSA 加密/解密

java - 从文件中读取公钥或私钥时如何修复 "invalid key format"?

c# - C# 中的验证框架?

c# - 以编程方式解锁 applicationHost.config 中的部分

.net - Microsoft.WindowsAzure.Messaging.NotificationHub 和 Microsoft.Azure.NotificationHubs.NotificationHubClient 之间有什么区别?

c# - 两个 .Net 应用程序之间的高效通信

c# - 如何以编程方式填充现有 PDF 文档

c# - 套接字编程或 REST 服务

c# - Unity 可序列化类自定义检查器