4.3 加密
public static string RSAEncrypt(string publickey, string content)
{ //加密,返回密文比特流
publickey = 公钥;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
//实例化RSA服务类
byte[] cipherbytes;
rsa.FromXmlString(publickey);
cipherbytes = rsa.Encrypt(content, false);
//content,为待加密比特流,cipherbytes为加密后的比特流
return cipherbytes;
}
4.4 解密
public static string RSADecrypt(string privatekey, string content)
{ //解密,返回明文比特流。
privatekey = 私钥;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
//实例化RSA服务类
byte[] cipherbytes;
rsa.FromXmlString(privatekey);
cipherbytes = rsa.Decrypt(content, false);
//content为待解密比特流,cipherbytes是解密后的比特流
return cipherbytes;
}
5总结
通过对这个基于RSA数字签名的设计,我学到了很多的知识,对密码技术,公钥密码体制和数字签名都有了新的认识。本文介绍了有关密码学的一些知识和RSA算法的安全性,着重对RSA的算法原理进行深入研究分析,并详细阐述了基于RSA算法数字签名的实现过程。在分析实现的过程中也使得自己对数字签名的概念和RSA数字签名的实现都有了初步了解。RSA算法虽然有自己的优势但仍存在加密速度慢、占用空间大等不少缺点而且随着计算机技术的不断发展,RSA算法的安全性也将受到挑战,ECC算法[13]凭借着它的各方面的优势将成为数字签名的未来发展方向。 基于RSA的数字签名的设计与实现(5):http://www.751com.cn/jisuanji/lunwen_1488.html