【问题标题】:C# RSA Cryptographic AlgorithmC# RSA 加密算法
【发布时间】:2010-04-21 11:35:02
【问题描述】:

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

  1. 通过在 .Net 中使用 CryptoAPI 而非“RSACryptoServiceProvider”,我们对正常的非对称加密有何优势?
  2. 我无法理解它们之间的区别?哪一个是最好和安全的? 你能帮忙吗?

谢谢

卡提克

【问题讨论】:

  • 为什么这个问题被投票?

标签: c# cryptography


【解决方案1】:

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

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

RSACryptoServiceProvider 是您在 .NET 世界中使用的;大多数时候,为了调用 CryptoAPI 以使用 same CSP 来回 C 世界,这看起来像是一个多余的复杂问题。此外,RSACryptoServiceProvider 擅长使用 RSA 签名和加密消息的标准(大端)表示,这与 CryptoAPI 不同,后者“反转”字节。

【讨论】:

    【解决方案2】:

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

    RSA 使用两个密钥:一个只能加密数据的公钥和一个也可以解密数据的私钥。
    如需更多信息,请参阅Wikipedia

    【讨论】:

    • 是一种“非对称加密算法”,后备箱里有垃圾吗?
    猜你喜欢
    • 1970-01-01
    • 2015-03-16
    • 2013-11-23
    • 1970-01-01
    • 2012-01-03
    • 2012-11-27
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    相关资源
    最近更新 更多