版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上海电力学院应用密码学课程设计题 目: RSA 加密解密的设计与实现院 系:计算机科学与技术学院专业年级:2010 级学生姓名:李正熹 学号:指导教师:田秀霞2013年1月8日目录目录1 .设计要求2 .开发环境与工具3 .设计原理(算法工作原理)4 .系统功能描述与软件模块划分5 .设计核心代码6 .参考文献7 .设计结果及验证8 .软件使用说明9 .设计体会附录1.设计要求1 随机搜索大素数,随机生成公钥和私钥2 用公钥对任意长度的明文加密3 用私钥对密文解密4 界面简洁、交互操作性强2. 开发环境与工具Windows XP操作系统Microsoft Visual C+1. 创建 rsa
2、工程3. 设计原理RS颇法简介公开密码算法与其他密码学完全不同,它是基于数学函数而不是基于替换或置换。与使用一个密钥的对称算法不同,公开密钥算法是非对称的,并且它使用的是两个密钥,包括用于加密的公钥和用于解密的私钥。公开密钥算法有RSA、 Elgamal 等。RSg钥密码算法是由美国麻省理工学院 (MIT)的Rivest , Shamir和Adleman在1978 年提出来的,并以他们的名字的有字母命名的。RSA第一个安全、实用的公钥密码算法, 已经成为公钥密码的国际标准,是目前应用广泛的公钥密码体制。RSA 的基础是数论的 Euler 定理,其安全性基于二大整数因子分解问题的困难性,公私钥是
3、一对大素数的函数。并且该算法已经经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA勺安全性,但这不恰恰说明该算法有其一定的可信度。4. 系统功能描述与软件模块划分功能:1. 进行加密加密第一步, 随机两个素数p 和 q, 并求出 n = p*q , 然后再求出 n 的欧拉函数值phi 。第二步,在e , phi中选出一个与phi互素的整数e,并根据e*d三1 (modphi), 求出 e 的乘法逆元。至此我们已经得到了公开密钥 e , n 和秘密密钥 d , n 。第三步,让用户输入要进行加密的小于 n 一组正整数(个数不超过MAXLENGT)H,输入以-1为结束标志,实际个
4、数存入size中,正整数以clearMAXLENGTH保存第四步,对第三步所得的明文clearMAXLENGTH艇行力口密。遍历 clearsize,对 每一个整数用以下算法进行加密,并将加密后的密文保存在CiphertextMAXLENGTH 中。第五步,输出密文CiphertextMAXLENGTH2. 进行解密第一步,输入加密后的密文 Ciphertext1MAXLENGTH ,输入以 -1 为结束标志第 二 步 , 输 入 解 密 密 钥 d,phi, 对 密 文 进 行 解 密 , 结 果 保 存 在DecryptionTextMAXLENGTH 中。第三步,输出解密后明文Decry
5、ptionTextMAXLENGTH生成随机素数: 先生成一个随机数然后判断它是否为素数从而输出unsigned long foo() 金山:赛迪网, 2010.2赛迪网.RSA主席认为云安全成2010安全领域趋势.旧金山:赛迪网,2010.3 魏晨 . 安全风向标:品味RSA 2012信息安全大会. 旧金山:赛迪网, 2012.4 四夕新的安全威胁而前需要新的安全架构 . 旧金山:赛迪网, 2012.5王茜.倪建伟,一种基于RSA勺加密算法.重庆大学学报,2005, 28:68-72.6周升力.RSA密码算法的研究与改进实现.现代计算机,2008: 51-53.7管占明.邓亚娟.RS劭口密算
6、法的研究及应用.科技广场,2009: 98- 99.8 胡向东,魏琴芳等应用密码学北京市:电子工业出版社, 2008: 114-119 9 卢开澄计算机密码学 . 北京市:清华大学出版社, 2002: 73-7710 史予荣 软件加密技术从入门到精通, 北京市: 清华大学出版社 2007: 74-77.7. 设计结果及验证进行加密得到公钥( 113, 11021)和私钥(2105, 11021)加密明文 123 587 114 56 18 9得到密文1453 385 7882 6329 4873 2744输入密文解密得到先前加密的明文123 587 114 56 18 98. 软件使用说明1
7、.选才¥ RSAfi口解密系统功能1 为加密 2 为解密 0 为退出 输入其他错误重新输入2. 输入 1 进行加密过程输入需要加密的明文3 个一组 空格空开 -1 结束生成密文 并且返回主界面2. 输入 2 进行解密输入加密好的密文-1 结束输入密钥d n解密得到加密前明文解密成功返回主界面9. 设计体会RSA1程设计中,包含了加解密的过程,刚开始对做设计的时候,觉得对于RSA的加解密只要套用公式就可以很方便地进行,实现并不是非常困难。但是在真正实现的时候还是碰到了不少的问题,在随机产生素数的时候,不同的实现方法会具有不同的复杂度,从而使得时间效率也有所不同,若直接生成素数,系统需要
8、很长一段时间来生成,而随机生成一个数后再判断是否为素数可以减少很多时间,效率也就提高了。在加解密的时候,起初使用的是int 型的整形变量,但是发现int 型只有 4 位长度 8 字节,所以在计算时,数字一大就会产生溢出,所以使用了数组进行了加解密。而在大素数生成时,可以生成非常大的素数,但是在加密时,因为程序效率过于低以至于一天都没有算出结果,所以在实现时使用了可进行运算和实现较大的素数而并不是大素数。随机大素数进行RS劭口解密的程序还需要时间进行进一步改进。需要进一步调用大整数的加减乘除算法,素数明文密文密钥公钥都要使用数组才能加以实现,在此暂时保留这个程序,将用更充分的时间来实现。总结这次
9、课程设计,不可否定又是一次对于自己编程能力的提升以及团队合作的加深,自己动手编程真的是一种成就感,然而在这以外,我还发现了自己会有一些突发奇想的思路,会发现和挖掘实现实验时某些过程的优化,而这些思路又可以帮助自己来完成程序。这次课程设计的不足是还没有完全完成课程设计所需要的任务要求,写的程序还是略微有点简单化了,可能自己能力还是有限,在静候的时间里还需要更加的磨练才行。附录#include <iostream>#include <ctime>#include <cstdlib>#include <cmath>using namespace std;#define MAXLENGTH 500 行加密"<<endl;cout<<"2.进行解密"<<endl;cout<<"0.退出系统"<<endl;cout<<" "<<endl;cout<<" 请输入 !"<<endl;int choice;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度绿色环保型农村房屋修建合同2篇
- 二零二五年度公司股权转让与品牌授权合同3篇
- 二零二五年度航空货运公司驾驶员聘用合同协议书3篇
- 2024年中国特重润滑油市场调查研究报告
- 2024年中国燃烧效率分析仪市场调查研究报告
- 2025年度农产品电商平台合作伙伴招募与管理合同3篇
- 2024年塑料扫帚头项目可行性研究报告
- 2024年地面旋转烟花项目可行性研究报告
- 《基于ANSYS-LS-DYNA的齿轮故障特性仿真分析》
- 2024年全自动识别分析红外信号译码器项目可行性研究报告
- 2025年云南昆明经济技术开发区投资开发(集团)有限公司招聘笔试参考题库附带答案详解
- HSE基础知识培训
- 安徽省蚌埠市2023-2024学年高一上学期期末考试 地理 含答案
- GB/T 5483-2024天然石膏
- 2024年度托管班二人合伙协议书3篇
- 山东中医药大学中西医临床(专升本)学士学位考试复习题
- 2024-2025学年九年级语文上册部编版期末综合模拟试卷(含答案)
- 乡村振兴暨干部素质提升培训班学习心得体会
- IATF16949:2024标准质量手册
- 饲料加工混凝土施工合同
- 会议会务服务投标方案投标文件(技术方案)
评论
0/150
提交评论