Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VB.NET加密示例中检索单个私钥_.net_Vb.net_Encryption_Cryptography - Fatal编程技术网

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

在VB.NET加密示例中检索单个私钥,.net,vb.net,encryption,cryptography,.net,Vb.net,Encryption,Cryptography,我使用Microsoft Docs中的以下示例创建加密应用程序: 该应用程序允许我加密一个文件并导出一个公钥,这允许我加密一个文本文件,它可以工作。 该应用程序还有一个解密功能,它使用生成的ASM密钥对对进行解密(文档中有更多信息) 该应用程序只导出一个.txt文件中的公钥,但我也希望它导出一个可以共享以解密的私钥。我如何能够检索和导出私钥,以便我可以使用它单独解密文件,而不必获得完整的密钥对(仅使用私钥) …但我也希望它导出一个私钥,可以共享以解密 私钥不是共享的,只有公钥!在加密之前,双方

我使用Microsoft Docs中的以下示例创建加密应用程序:

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

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

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

私钥不是共享的,只有公钥!在加密之前,双方首先交换公钥。发送方使用接收方的公钥对消息进行加密。接收方用其私钥解密加密的消息。在这种情况下,私钥不会在任何地方交换(因此称为私钥),请参见中的第3.2、3.3和3.4章

如何检索和导出私钥

从技术上讲,私钥的导出是可能的。在RSA中,公钥(字段n,e)是私钥(字段n,e,d,p,q,d mod(p-1),d mod(q-1),(q)mod(p)的倒数)的子集,即私钥也隐式包含公钥,请参见中的a.1.1 RSA公钥语法和a.1.2 RSA私钥语法章节

在中,用于密钥导出
RSA.ToXmlString(布尔)
允许您控制是导出私钥(即所有字段)(true),还是仅导出公钥(即仅n,e)(false)。在导出期间,字段被序列化为XML。以这种方式导出的两个密钥都可以与一起导入