.Net中的私钥加密

时间:2011-04-28 10:34:55

标签: c# .net encryption encryption-asymmetric

我正在寻找一种在C#中进行私有密钥加密的方法。

我以为我可以使用RSACryptoServiceProvider,但它只支持公开密钥加密。

我在这个主题上找到的唯一一件事是这个项目,但我宁愿使用我能在.net中找到的东西:http://www.codeproject.com/KB/security/PrivateEncryption.aspx

请注意我正在寻找签名。

请注意我要求非对称加密。

有什么想法吗?

背景故事:

我正在将加密文件发送到另一个运行应用程序的系统。加密确保文件不会被任何人(或多或少)更改或查看。应用程序能够使用公钥解密文件并对其执行某些操作。

我知道几乎任何人都能从应用程序中获取公钥,在这种情况下这不是问题。

2 个答案:

答案 0 :(得分:2)

  

加密确保任何人都无法更改或查看该文件

公钥加密 - 当“按书”完成时 - 分离加密和签名(“不能更改”)。在您的情况下,使用两个密钥对,一个在应用程序中,一个在您的站点。使用公共应用程序密钥加密文件,并使用私有密钥对文件进行签名。

这是一种非常普遍的用法,我甚至喜欢称之为“最佳实践”。至于downvote,我只能猜测,在你的问题中签署的裁决引发了这一点。

答案 1 :(得分:1)

不应该这样做。请改为签名并使用对称加密。