基于RSA的数字签名的设计与实现(5)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于RSA的数字签名的设计与实现(5)


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)