- 21
- 0
- 约4.42千字
- 约 10页
- 2019-06-28 发布于江西
- 举报
PAGE
PAGE 1
密码学课程报告
《RSA加密解密算法》
专业:信息工程(信息安全)
班级:1132102
学号:201130210214
姓名:周林
指导老师:阳红星
时间:2014年1月10号
一、课程设计的目的
当前最著名、应用最广泛的公钥系统RSA是在1978年,由美国麻省理工学院(MIT)的Rivest、Shamir和Adleman在题为《获得数字签名和公开钥密码系统的方法》的论文中提出的。
RSA算法是第一个既能用于数据加密也能用于数字签名的算法,因此它为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册,人们用公钥加密文件发送给个人,个人就可以用私钥解密接受。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。
????公钥加密算法中使用最广的是RSA。RSA算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。此外,RSA加密系统还可应用于智能IC卡和网络安全产品。
二、RSA算法的编程思路
确定密钥的宽度。????
随机选择两个不同的素数p与q,它们的宽度是密钥宽度的1/2。
计算出p和q的乘积n 。???
在2和Φ(n)之间随机选择一个数e , e 必须和Φ(n)互素,整数e用做加密密钥(其中Φ(n)=(p-1)*(q-1))。?
从公式ed ≡ 1 mod Φ(n)中求出解密密钥d 。???
得公钥(e ,n ), 私钥 (d , n) 。??
公开公钥,但不公开私钥。???
将明文P (假设P是一个小于n的整数)加密为密文C,计算方法为:
C = Pe mod n
9.将密文C解密为明文P,计算方法为:P = Cd mod n
然而只根据n和e(不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密
三、程序实现流程图:
1、密钥产生模块:
2、解加密流程模块:
四、部分算法代码
判定一个数是否为素数
bool test_prime(Elemtype m) {
if (m = 1) {
return false;
}
else if (m == 2) {
return true;
}
else {
for(int i=2; i=sqrt(m); i++) {
if((m % i) == 0) {
return false;
break;
}
}
return true;
}
}
求最大公约数
Elemtype gcd(Elemtype a, Elemtype b) {
order(a,b);
int r;
if(b == 0) {
return a;
}
else {
while(true) {
r = a % b;
a = b;
b = r;
if (b == 0) {
return a;
break;}
用扩展的欧几里得算法求乘法逆元
Elemtype extend_euclid(Elemtype m, Elemtype bin) {
order(m,bin);
Elemtype a[3],b[3],t[3];
a[0] = 1, a[1] = 0, a[2] = m;
b[0] = 0, b[1] = 1, b[2] = bin;
if (b[2] == 0) {
return a[2] = gcd(m, bin);
}
if (b[2] ==1) {
return b[2] = gcd(m, bin);
}
while(true) {
if (b[2] ==1) {
return b[1];
break;
}
int q = a[2] / b[2];
for(int i=0; i3; i++) {
t[i] = a[i] - q * b[i];
a[i] = b[i];
b[i] = t[i]; }}}
加密
void encrypt() {
if(flag == 0) {
coutsetkey first:endl;
produce_key();
}
la
您可能关注的文档
最近下载
- DB37_T 4811.3-2025 工业互联网标识解析 仪器仪表 第3部分:应用服务平台数据元规范.docx VIP
- 数据备份管理制度(3篇).docx VIP
- 洗胃技术操作要点及考核评分标准.pdf VIP
- 高清:2024年河南省高考对口升学汽车类专业课试题卷及参考答案.docx VIP
- DB37_T 4819-2025 燃料电池用氢气全过程信息追溯技术规范.docx VIP
- 中华人民共和国危险化学品安全法.pptx VIP
- 马克思励志名言马克思经典名言【精选80句】.doc VIP
- 基于PLC的备用电源自动投入装置控制系统的设计.pdf VIP
- 老年人能力评估师(高级)教学大纲和培训计划.docx VIP
- 市政学自考资料.pdf VIP
原创力文档

文档评论(0)