- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实 验 报 告
学号: 2011221104220026 姓名:孙元喜
课程名称
信息安全课程设计
实验课时
n
实验项目
RSA加密算法的实现
实验时间
2013.06.02
实验目的 通过编程实现RSA的加密和解密过程,加深对公钥(非对称)密码算法的认识。
实验环境
Windows7 VS2012 实验内容(算法、程序、步骤和方法)
实验原理:
实验准备:
对RSA公钥密码体制进行分析,它是基于大整数素分解问题,且包含参数:n公开参数,e 公钥,以及解密参数p,q,其中p,q是两个大素数,是关于p,q的参数,d是解密密钥,由 ,e计算所得。
根据参数分析以及必要的数学基础分析,需要两基本算法:模n的大数幂乘的快速算法;模n求逆的算法。
算法实现需要参数导入。
算法的分步实现
根据算法首先对密文数据进行文件导入并存入相应的数组:
if ((fp=fopen(data.txt,r))==NULL)
{printf(cannot open the file\n);
exit(0);
}
while(!feof(fp))
{fscanf(fp,%d,c[i]);
i++; }
sl=i-1;
printf(打开文件密文数据:\n);
for(j=0;ji-1;j++)
{printf(%d ,c[j]);
if(j0 j%10==0) printf(\n);}
}
整数的素因子分解
输入数据n=18923,利用遍历算法寻找n的因子;
对n的因子数据p,q进行素数检验;
for(i=n-1;i1;i--)
if(n%i==0)
{p1=i;
q1=n/i;
for(i=2;i=p1;i++)
if(p1%i==0)break;
if(i==p1)p=p1;
else continue;
for(j=2;j=q1;j++)
if(q1%j==0)break;
if(j==q1)q=q1;
else continue;
}
③ 根据以上算法,可以得数据:p=127,q=149;
3、模n求逆算法
①根据2所得的p,q进行求解求得=18648;
②输入数据e=1261,并根据,并对算法进行分析利用辗转相除的原理实现算法求逆;
n1=nn;
n2=e;
q=n1/n2;
r=n1-q*n2;
while(r!=0)
{n1=n2;
n2=r;
t=b2;
b2=b1-q*b2;
b1=t;
q=n1/n2;
r=n1-q*n2;
}
if(n2==1)
{d=(b2+nn)%nn;
printf(请输出逆元:%d\n,d);
}
else printf(逆元不存在:);
}
③根据以上算法,可以得数据:d=5797;
4、大数幂乘算法
①根据导入数据的参数密文c:12423 11524 7243 7459 14303 6127 10964 16399 9272 13629调用,以及进行求解m:
for(i=0;isl;i++)
{char m1[100];
c1=1;j=0;
a=c[i];
b=d;
while(b0)
{if(b%2==0)
{b=b/2;
a=(a*a)%n;}
else{b=b-1;c1=(c1*a)%n;}}
②根据算法可得明文数据:5438 1364 2925 14571 14303 5746 8805 4588 1144 40
数字转化为字符
将所得的数字数据转化为字符数据:
for(i=0;isl;i++)
{int j=0;
char m1[100];
while(m[i]!=0)
{m1[j]=m[i]%26+a;
m[i]=m[i]/26;
j++;}
将所得的字符数据的方向输出:
for(k=j-1;k=0;k--)
printf(%c,m1[k]);
printf(%c, );}
输出的数据:
ibe cam ein vol ved ina nar gum bsa bo
实验数据记录 打开文件密文数据:
12423 11524 7243 7459 14303 6127 10964 16399 9272 13629
请输出n的值:18923
请输出p、q的值:127 149
请输出nn的值:18648
请输出e的值:1261
请输出逆元:5797
请输出明文:
5438 1364 2925 14571 14303 5746 8805 4588 1144 40
请输出明文:
ibe cam ein vol ve
您可能关注的文档
- 余杭区2010年节能工作实施方案余杭区2010年节能工作实施方案.doc
- 体育场给排水施工组织设计体育场给排水施工组织设计.doc
- 何捷:搭建“支架”,写作教学的核心任务何捷:搭建“支架”,写作教学的核心任务.docx
- 余杭组团2号地块设计招标文件(终)余杭组团2号地块设计招标文件(终).doc
- 余热发电工程整组启动调试措施余热发电工程整组启动调试措施.doc
- 佛山一中2011-2012高二下学期第二次段考政治佛山一中2011-2012高二下学期第二次段考政治.doc
- 佛山一中2012届高二下学期第二次段考(政治)佛山一中2012届高二下学期第二次段考(政治).doc
- 佛山一中2013届高一上学期期中考试(语文)佛山一中2013届高一上学期期中考试(语文).doc
- 佛山中学领导班子教育活动实施方案(定)佛山中学领导班子教育活动实施方案(定).doc
- 佛山区域材料管理制度佛山区域材料管理制度.doc
- 信息技术与初中物理课程教学整合的思考信息技术与初中物理课程教学整合的思考.doc
- 信息技术与化学实验教学整合模式的探讨信息技术与化学实验教学整合模式的探讨.doc
- 信息技术与物理教学整合技巧信息技术与物理教学整合技巧.doc
- 信息技术与物理学科整合的研究(打印)信息技术与物理学科整合的研究(打印).doc
- 信息技术创新口语交际教学信息技术创新口语交际教学.doc
- 信息技术个我带来的思考信息技术个我带来的思考.doc
- 信息技术在中学生物教学中应用的研究信息技术在中学生物教学中应用的研究.doc
- 信息技术与课程整合结题报告信息技术与课程整合结题报告.doc
- 信息技术在中学语文教学中的应用研究信息技术在中学语文教学中的应用研究.doc
- 信息技术在小学数学空间与图形的应用指导策略信息技术在小学数学空间与图形的应用指导策略.doc
最近下载
- 档案整理及数字化投标方案(517页).doc VIP
- 2025解读新《监察法实施条例》核心要点与条文速览PPT学习课件(含文字稿).pptx VIP
- 铁路信号电缆配线作业.ppt VIP
- 2025江苏邳州农村商业银行招聘10人笔试历年典型考题及考点剖析附带答案详解.docx
- 采砂船水上船舶运输安全应急预案 .docx VIP
- 2025年自贡市中考英语试卷(含答案解析).docx
- 2024年北京昌平四年级(下)期末英语(含答案).pdf
- 七年级下册数学期末试卷.pdf VIP
- SH_T 3043-2014石油化工设备管道钢结构表面色和标志规定.pdf VIP
- 新人教版数学四年级上册课本练习题《练习一》可编辑可打印.pdf VIP
文档评论(0)