- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RSA算法实验代码
RSA算法实验代码#includestdio.h#define MAX_NUM 63001#define MAX_PRIME 251//! 返回代码#define OK 100#define ERROR_NOEACHPRIME 101#define ERROR_NOPUBLICKEY 102#define ERROR_GENERROR 103unsignedintMakePrivatedKeye( unsignedintuiP, unsignedintuiQ );unsignedintGetPrivateKeye( unsignedintiWhich );unsignedintMakePairkey( unsignedintuiP, unsignedintuiQ, unsignedintuiD );unsignedintGetPairKey( unsignedint d, unsignedint e );intrsa_encrypt( int n, int e, intmw,intp,int q);intrsa_decrypt( int n, int d, intcw, intp,int q);voidoutputkey();//! 保存私钥d集合structpKeyset{unsignedint set[ MAX_NUM ];unsignedint size;}pset;//! 保存公、私钥对structpPairkey{unsignedint d;unsignedint e;unsignedint n;}pairkey;// 名称:isPrime// 功能:判断两个数是否互质// 参数:m: 数a; n: 数b// 返回:m、n互质返回true; 否则返回falseboolisPrime( unsignedint m, unsignedint n ){unsignedint i=0;bool Flag = true;if( m2 || n2 )returnfalse;unsignedint tem = ( m n ) ? n : m;for( i=2; i=tem Flag; i++ ){boolmFlag = true;boolnFlag = true;if( m % i == 0 )mFlag = false;if( n % i == 0 )nFlag = false;if( !mFlag !nFlag )Flag = false;}if( Flag )returntrue;elsereturnfalse;}// 名称:MakePrivatedKeye// 功能:由素数P、Q生成公钥e// 参数:uiP: 素数P; uiQ: 素数Q// 返回:私钥dunsignedintMakePrivatedKeye( unsignedintuiP, unsignedintuiQ ){unsignedint i=0;//! 得到所有与z互质的数( 私钥d的集合 )unsignedint z = ( uiP -1 ) * ( uiQ -1 );pset.size = 0;for( i=0; iz; i++ ){if(isPrime( i, z ) ){pset.set[pset.size++ ] = i;}}returnpset.size;}// 名称:MakePairKey// 功能:生成RSA公、私钥对// 参数:uiP: 素数P; uiQ: 素数Q; uiD: 私钥d// 返回:错误代码unsignedintMakePairkey( unsignedintuiP, unsignedintuiQ, unsignedintuiD ){boolbFlag = true;unsignedint i = 0, d;unsignedint z = ( uiP-1 ) * ( uiQ-1 );unsignedint e = pset.set[uiD];if( !isPrime( z, e ) )return ERROR_NOEACHPRIME;for( i=2; iz; i++ ){if( (i*e)%z == 1 ){d = i;bFlag = false;}}if(bFlag )return ERROR_NOPUBLICKEY;if( (d*e)%z != 1 )ERROR_GENERROR;pairkey.d = d;pairkey.e = e;pairkey.n = uiP * uiQ;return OK;}// 名称:GetPairKey// 功能:对外提供接口,获得公、私钥对// 参数:uiP: 素数P; uiQ: 素数Q; uiD: 私钥d// 返回:unsignedintGetPairKey( unsignedi
您可能关注的文档
- Eclipse3.3_(windows7)连接远程hadoop.doc
- VMware Workstatio虚拟机linux5.4指引.docx
- 英语语法简单句、并列句.ppt
- 补充:局域网互联.ppt
- hadoop集群配置范例及问题总结.doc
- 湖南高考英语阅读填空题中的层次与框架_____何淑华.ppt
- 2010年全国及各省高考英语试题单项选择分类汇编与解析1.doc
- shark+hive+spark+tachyon+hadoop安装配置(网络版).doc
- 仁爱英语八年级Unit1句型转换专项练习 试题.doc
- 在RedHat Linux上安装GitGitosis环境.docx
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
最近下载
- 目的论视角下奢侈品香水广告的汉译策略研究——以迪奥为例.docx
- 2022年新版大象版六年级科学上册全册PPT课件.pptx
- 【新结构】湖北省七市州2024届高三下学期3月联合统一调研测试数学试题+答案解析.pdf VIP
- 物流和供应链(英文).ppt
- 北师大版数学八年级下册第四章 因式分解 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一致性).docx
- 2023欧洲车身会议资料010_SUV full aluminium case_Hyundai and Alumobility.pdf
- 心衰的新药物治疗.pptx VIP
- 老旧小区外立面改造安全生产和文明施工措施.doc
- 口腔科护理质量查检表.docx VIP
- 《管理学习题》无答案.docx VIP
文档评论(0)