C#RSA密码算法

时间:2010-04-21 11:35:02

标签: c# cryptography

C#'RSACryptoServiceProvider'加密算法是否是Microsoft-CryptoAPI的一部分?

  1. 通过在.Net中的“RSACryptoServiceProvider”上使用CryptoAPI,我们对正常的非对称加密有什么好处?
  2. 我无法理解他们之间的区别?哪一个最好又安全? 你能帮忙吗?
  3. 由于

    KARTHIK

2 个答案:

答案 0 :(得分:2)

CryptoAPI (通常缩写为“CAPI”)是一组基于C的API,应用程序(在Windows下)可用于访问加密服务。特别是,使用密钥(例如RSA加密)的密码操作被委托给称为“CSP”(加密服务提供商)的可插拔模块。 CSP本身执行加密操作。从概念上讲,只有CSP知道实际的键;它可以被视为存储密钥的(虚拟或真实)硬件的驱动程序。

RSACryptoServiceProvider类是.NET的一部分,提供对计算RSA的CSP的访问。该类是一组.NET类的一部分,这些类是CryptoAPI的一种.NET版本。

RSACryptoServiceProvider是您在.NET世界中使用的;大部分时间,为了调用CryptoAPI最终使用相同的 CSP进行往返C世界的往返看起来像一个多余的复杂功能。此外,RSACryptoServiceProvider具有使用RSA签名和加密消息的标准(大端)表示的良好品味,与CryptoAPI相反,后者“反转”字节。

答案 1 :(得分:0)

RSA是一种不对称加密算法,与Rijndael等对称算法完全不同。

RSA使用两个密钥:一个公钥,一个只能加密数据;一个私钥,也可以解密数据。
有关详细信息,请参阅Wikipedia