小编JDu*_*a13的帖子

公钥/私钥中的RSA密钥值和模数

我正在编写一个使用PKI来保护电子邮件,文件等的应用程序.使用System.Cryptography命名空间,我正在生成一个新的密钥对RSACryptoServiceProvider.

方法是:

public static void GenerateKeys(int keySize, out string publicKey, out string privateKey)
{
    using (var provider = new RSACryptoServiceProvider(keySize))
    {
        publicKey = provider.ToXmlString(false);
        privateKey = provider.ToXmlString(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

keySize = 2048.

这会产生一个公钥(例如,它已被修剪/填充"----- START/END PUBLIC KEY BLOCK -----"包装,以保持整洁.

-----START PUBLIC KEY BLOCK-----
<RSAKeyValue><Modulus>xs1GwyPre7/knVd3CAO1pyk++yp/qmBz2TekgrehYT
WU7hs8bUCeVQrL2OB+jm/AgjdPMohWHD/tLcJy35aZgVfPI3Oa3gmXxdoLZrfNRb
nrCm3Xr1MR7wnhMyBt5XXyU/FiF46g5qJ2DUIUg7teoKDNUSAN81JTIoH0KC+rZB
oO3tu9PR7H75K5G2eT6oUWkWKcZZU/4WNCDasNtizTe41Jy99BjrChww5r2ctqG8
LvIv7UeeFaK1vhxGKaNH/7JvKJI9LbewWNtmb/nRzQg9xK3e0OhblbW+o6zg5pTw
+n37fS7pkXK7lbRfUfaQmhoGy6ox4UWGmOgm8yPu8S4Q==</Modulus><Exponen
t>AQAB</Exponent></RSAKeyValue>
-----END PUBLIC KEY BLOCK-----`
Run Code Online (Sandbox Code Playgroud)

当我看到基于PGP的公共(或私人)键,没有<RSAKeyValue>,<Modulus>或者<Exponent>关键的内部价值.

难道我做错了什么?我错过了什么吗?如果我分发此密钥,这是一个安全问题吗?

Crypto对我来说是一个新的令人兴奋的领域,所以我真的很感激这里的任何指导.我担心我已经搞砸了 - 加密密钥工作并解密私钥工作 - 我只是想知道PGP/GPG密钥在外观上有多么不同以及我需要做些什么才能纠正这个问题?

先感谢您!

rsa pki rsacryptoserviceprovider

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

pki ×1

rsa ×1

rsacryptoserviceprovider ×1