您现在的位置:网站首页答辩论文计算机毕业设计其他计算机专业毕业资源

[网络安全] RSA加密算法的分析及实现(Java).doc

  • 简介:1.RSA算法描述: 密钥对的产生:根据用户输入的p和q的范围(size)随机产生两个大素数,p 和q 。计算:n = p * q ,然后随机选择加密密钥e,并根据e得出解密密钥d,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质,e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ),...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载
1.RSA算法描述:
密钥对的产生:根据用户输入的p和q的范围(size)随机产生两个大素数,p 和q 。计算:n = p * q ,然后随机选择加密密钥e,并根据e得出解密密钥d,要求 e 和
( p - 1 ) * ( q - 1 ) 互质,e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ),其中数e和n是公开密钥,数d和n 是私有密钥。
加密和解密:对明文m进行加密时,首先把m转换为字节(按照平台缺省的字符编码方式),得到对应的数字形式num,然后对num进行加密,对应的密文是:
c = num ^ e ( mod n );解密时作如下运算:mi = c ^ d ( mod n ),再把mi 转化为对应的字符形式即可得到明文。
2.编程实现:
在编程语言的选择上,我选择了用Java来实现 ,主要是因为RSA的安全性依赖于大数分解困难,公钥和私钥都是两个大素数的函数。而Java的math包中的BigInteger类可以很方便地处理不变的任意精度的整数。从而为RSA加密解密的实现提供了很大的方便。
3.Java.math.BigInteger类简介:
主要对本次实验中用到的一些方法作一些介绍:( 选自Java API )
查看评论 已有0位网友发表了看法
  • 验证码: