下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州大学学生实验报告开课学院及实验室:年月日学院年级、专业、班姓名学号实验课程名称成绩实验项目名称实验4非对称密码算法实验指导老师实验目的掌握产生RSA密钥对的程序设计方法掌握产生RSA加密/解密的程序设计方法实验内容编写函数求出1~65535之间的全部素数取8-bit的两个素数p,q,并用来生成一对RSA密钥编写RSA加密/解密程序(可以限制N为16-bit,并利用上述的p,q)加密你的学号+姓名并随后解密实验步骤【RSA算法流程】加密:1、取8-bit的两个素数p,q,并用来生成一对RSA密钥2、根据欧拉函数,求得r=(p-1)(q-1)3、选择一个小于r的整数e,求得e关于模r的模反元素,命名为d。(模反元素存在,当且仅当e与r互质)4、(N,e)是公钥,(N,d)是私钥。Alice将她的公钥(N,e)传给Bob,而将她的私钥(N,d)藏起来。5、利用公式将n加密为c,公式:,其中e为公钥解密:利用公式将c加密为n,公式:,其中d为私钥RSA算法的C代码实现判断是否为素数随机产生素数p,q,最大为8bit产生公钥e(根据欧拉函数r,从2开始遍历寻找符合条件的e,直到int变量溢出)产生私钥d(从1开始遍历符合条件的d,直到变量溢出)5、实现加解密公式的代码(a是加解密文本,b为公钥或私钥,c为N=pq)运行结果截屏:实验中遇到的问题与解决方法:p,q值过大,导致加密后数据溢出(将获得的p,q的结果mod254后加1)加密后的数据用char类型存储溢出(char类型太小,改用int或更大的数据类型存储加密结果更好)cin遇到空格直接返回结果,没有获取空格后的字符串,无法一次读取学号+空格+姓名(改用gets函数)scanf函数与gets函数冲突(这是因为二者使用的结束标记不同。输入字符串时,scanf()或cin>>遇到空格、回车、Tab结束,但在缓冲区中还留着这些结束符,此后如果使用gets()想去获取下一行字符串,它碰到的却是前面遗留下来的回车(或者回车之前还有空格等空白符),那么这次gets()就直接失效了,解决方法:用一句while(getchar()!='\n');来处理掉缓冲区里的回车换行符,或者改用cin函数)p,q值过小,导致N过小,加密后的字符无法被解密还原为原文(这是因为公式modN,结果的范围从0~N-1,所以假如N小于原文的值则解密将出错,解决方法为扩大p,q取值,所以p,q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44916-2024船舶和海上技术船用超低温闸阀设计与试验要求
- 工作总结之仿真实习总结报告
- 2023年环保特种电线电缆投资申请报告
- 银行内部资金调拨制度
- 部编版小学一年级语文阅读练习题四十篇+全册练习题+全册《识字表》生字带拼音三词
- 热力管道施工合同
- 陕西省汉中市宁强县2023-2024学年八年级上学期期末学业水平检测数学试卷(含解析)
- 《保护珍稀野生动物》课件
- 反腐倡廉课件
- 广东省阳东广雅学校2025届高三第二次诊断性检测语文试卷含解析
- 购物中心安全风险评估报告
- 消防安全重点单位微型消防站备案表
- 高速铁路轨道平顺性技术研究
- “思想政治工作”与“思想政治教育”概念辨析
- ISO22000-2018食品安全管理体系内审及管理评审全套资料
- 国开中国当代文学专题形考任务2-3-5-6答案
- 合同法期末复习资料
- 物业项目信报收发员作业规程
- 千年伟人马克思光辉的一生简介课件
- 地下水与环境课件
- 国开电大本科《管理英语3》机考真题(第二套)
评论
0/150
提交评论