基于RSA的数字签名的设计与实现(5)
时间:2016-12-24 15:58 来源:毕业论文 作者:毕业论文 点击:次
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]凭借着它的各方面的优势将成为数字签名的未来发展方向。 (责任编辑:qin) |