在VB.NET加密示例中检索各个私钥



我在创建加密应用程序时使用Microsoft Docs中的此示例:https://learn.microsoft.com/en-us/dotnet/standard/security/walkthrough-creating-a-cryptographic-application

该应用程序允许我加密文件并导出公钥,这允许我加密文本文件,并且它可以工作。该应用程序还具有解密功能,使用生成的ASM密钥对进行解密(文档中提供了更多信息(。

该应用程序只导出.txt文件中的公钥,但我也希望它导出一个可以共享解密的私钥。我如何能够检索和导出私钥,以便使用它单独解密文件,而不必仅使用私钥获得完整的密钥对。

。。。但我也希望它导出一个可以共享解密的私钥。

私钥不是共享的,只有公钥!在加密之前,双方首先交换公钥。发送方使用接收方的公钥对消息进行加密。接收方用其私钥对加密的消息进行解密。在这种情况下,私钥不会在任何地方交换(因此术语private(,请参阅RSA中的3.23.33.4章节(cyrptosystem(。

如何检索和导出私钥。。。

从技术上讲,可以导出私钥。在RSA中,公钥(字段ne(是私钥的子集(字段nedpq,请参阅RFC8017中的A.1.1 RSA公钥语法

A.1.2 RSA私钥语法在链接的示例代码中,RSA.ToXmlString(Boolean)用于密钥导出。RSA.ToXmlString(Boolean)允许您使用布尔参数值控制是否导出私钥(即所有字段((true(,或者是否仅导出公钥(即仅nefalse。在导出过程中,字段被序列化为XML。以这种方式导出的两个密钥都可以使用RSA.FromXmlString(String)导入。

最新更新