实验四:RSA加密算法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四:RSA加、解密算法实现姓名叶宏彪班级11信息安全学验目的通过上机操作,使同学生对公钥加密算法RSA密码体制的加、解过程有一个更加清晰地认识。通过本次实验,加深学生对公钥密码体制的认识,为后面的学习打下基础。实验内容及要求 1、在RSA密码体制中,有,其中、均为素数,现给定p=1874113084280153735306658132040384611093897935132757017046995662677351096773572253280762088015535511593,q=601910294070546369276551615877564447613790725357839882704111695696928780728208299489784763935240286491,以及公钥=58997,试求出私钥,使得.2、使用上述密钥,选取消息m=“学号+班级+姓名”,例如山大学信息科学与技术学院2011级信息安全班张三,分别对其进行加密和解密操作(利用平方-乘算法)。实验结果(可续页)(包括实验代码、实验结果)结果如下:(注:消息的汉字为山大学信息科学与技术学院2011级信息安全班叶宏彪”对应的拼音为hongshandaxuexinxikexueyujishuxueyuan2011jixinxianquanbanyehongbiao”)代码如下:#includeiostream#includestdio.h#includestring#includevectorusingnamespace std;//函数声明#define MAXINT 10000//整数最大位数int compare(int a[],int b[]);vectorint bigplus(vectorint ivec1,vectorint ivec2); //大整数加法vectorint bigsub(vectorint ivec1,vectorint ivec2); //大整数减法vectorint bigmult(vectorint ivec1,vectorint ivec2); //大整数乘法vectorint bigdiv(vectorint ivec1,vectorint ivec2); //大整数除法vectorint bigmod(vectorint ivec1,vectorint ivec2); //大整数模运算int compares(vectorint ivec1,vectorint ivec2); //大整数比较vectorint ExtendEcuild(vectorint ivec1,vectorint ivec2); //扩展欧几里得算法求乘法逆int power(int m,int n); //幂级数vectorint decToBin(vectorint v); //大整数十进制转二进制?vectorint squAndMult(vectorint ivec1,vectorint ivec2,vectorint ivec3); //平方-乘算法vectorint trans(string str); // 字符转换为整数//主函数int main(){ coutRSAendl; vectorint p; vectorint q; vectorint p1; vectorint q1; vectorint n; vectorint fin; vectorint e; vectorint d; vectorint m; vectorint s; vectorint s1; string str1; string str2; string str3; string str4; cout输入大素数:endl; cinstr1; cout输入大素数:endl; cinstr2;for(int i=0;istr1.size();++i) p.push_back(str1[i]-0);for(int i=0;istr2.size();++i) q.push_back(str2[i]-0); vectorint w; w.push_back(1); q1=bigsub(q,w); p1=bigsub(p,w); n=bigmult(p,q); fin=bigmult(p1,q1); cout输入公钥:endl; cinstr3;for(int i=0;istr3.size();++i) e.push_back(str3[i]-0); d

文档评论(0)

beifanglei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档