WEB开发网
开发学院软件开发C语言 C# 基于大整数类的RSA算法实现(公钥加密解密,私... 阅读

C# 基于大整数类的RSA算法实现(公钥加密解密,私钥加密解密)

 2009-04-27 08:27:42 来源:WEB开发网   
核心提示: 最近因为项目需要通过RSA加密来保证客户端与服务端的通信安全,但是C#自带的RSA算法类RSACryptoServiceProvider只支持公钥加密私钥解密,C# 基于大整数类的RSA算法实现(公钥加密解密,私钥加密解密),即数字证书的使用,所以参考了一些网上的资料写了一个RSA的算法实现,算法实现是基于网

最近因为项目需要通过RSA加密来保证客户端与服务端的通信安全。但是C#自带的RSA算法类RSACryptoServiceProvider只支持公钥加密私钥解密,即数字证书的使用。

所以参考了一些网上的资料写了一个RSA的算法实现。算法实现是基于网上提供的一个大整数类。

一、密钥管理

取得密钥主要是通过2种方式

一种是通过RSACryptoServiceProvider取得:

/// <summary>
/// RSA算法对象,此处主要用于获取密钥对
/// </summary>
private RSACryptoServiceProvider RSA;

/// <summary>
/// 取得密钥
/// </summary>
/// <param name="includPrivateKey">true:包含私钥   false:不包含私钥</param>
/// <returns></returns>
public string ToXmlString(bool includPrivateKey)
{
      if (includPrivateKey)
      {
             return RSA.ToXmlString(true);
      }
      else
      {
            return RSA.ToXmlString(false);
      }
}

/// <summary>
/// 通过密钥初始化RSA对象
/// </summary>
/// <param name="xmlString">XML格式的密钥信息</param>
public void FromXmlString(string xmlString)
{
      RSA.FromXmlString(xmlString);
}

一种是通过BigInteger中的获取大素数的方法

1 2 3 4 5 6  下一页

Tags:基于 整数 RSA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接