RSA非对称加密/解密 - 正在使用哪个密钥

问题描述 投票:0回答:1

当我使用以下代码创建公钥/私钥时:

    // Create the CspParameters object and set the key container   
    // name used to store the RSA key pair.  
    CspParameters cp = new CspParameters();
    cp.KeyContainerName = ContainerName;

    // Create a new instance of RSACryptoServiceProvider that accesses  
    // the key container MyKeyContainerName.  
    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);

如果我再打电话

    rsa.Encrypt (....
    OR
    rsa.Decrypt(..

我如何知道正在使用哪个密钥。在每种情况下是使用公钥还是私钥取决于应用程序。如何确定使用哪个?

encryption rsa encryption-asymmetric
1个回答
1
投票

使用公钥完成加密,并使用私钥完成解密。因此只有私钥的持有者才能解密。

您不打算使用公钥解密,因此接口不会为您提供执行此操作的方法。

签名利用私钥加密,使用公钥解密+一些单向散列逻辑,但在这种情况下,接口只允许使用特定的签名方法(SignData(..)VerifyData(..))。

© www.soinside.com 2019 - 2024. All rights reserved.