应用密码学课程设计-RSA加密解密的设计与实现.docx

上传人:龙*** 文档编号:1095504 上传时间:2018-12-05 格式:DOCX 页数:22 大小:443.42KB
下载 相关 举报
应用密码学课程设计-RSA加密解密的设计与实现.docx_第1页
第1页 / 共22页
应用密码学课程设计-RSA加密解密的设计与实现.docx_第2页
第2页 / 共22页
应用密码学课程设计-RSA加密解密的设计与实现.docx_第3页
第3页 / 共22页
应用密码学课程设计-RSA加密解密的设计与实现.docx_第4页
第4页 / 共22页
应用密码学课程设计-RSA加密解密的设计与实现.docx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、上海电力学院应用密码学课程设计题 目: RSA 加密解密的设计与实现 院 系: 计算机科学与技术学院 专业年级: 2010 级 学生姓名: 李正熹 学号: 20103273 指导教师: 田秀霞 2013 年 1 月 8 日目录目录1. 设计要求2. 开发环境与工具3. 设计原理(算法工作原理)4. 系统功能描述与软件模块划分5. 设计核心代码6. 参考文献7. 设计结果及验证8. 软件使用说明9. 设计体会附录1.设计要求1 随机搜索大素数,随机生成公钥和私钥2 用公钥对任意长度的明文加密3 用私钥对密文解密4 界面简洁、交互操作性强2.开发环境与工具Windows XP 操作系统Micros

2、oft Visual C+ 6.01. 创建 rsa 工程2. 在 rsa 工程中创建 20103273 李正熹 cpp 文件3.设计原理RSA 算法简介公开密码算法与其他密码学完全不同,它是基于数学函数而不是基于替换或置换。与使用一个密钥的对称算法不同,公开密钥算法是非对称的,并且它使用的是两个密钥,包括用于加密的公钥和用于解密的私钥。公开密钥算法有RSA、Elgamal 等。RSA 公钥密码算法是由美国麻省理工学院 (MIT)的 Rivest,Shamir 和 Adleman在 1978 年提出来的,并以他们的名字的有字母命名的。RSA 是第一个安全、实用的公钥密码算法,已经成为公钥密码的

3、国际标准,是目前应用广泛的公钥密码体制。RSA 的基础是数论的 Euler 定理,其安全性基于二大整数因子分解问题的困难性,公私钥是一对大素数的函数。并且该算法已经经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定 RSA 的安全性,但这不恰恰说明该算法有其一定的可信度。4.系统功能描述与软件模块划分功能:1. 进行加密加密第一步,随机两个素数 p 和 q,并求出 n = p*q,然后再求出 n 的欧拉函数值 phi。第二步,在e,phi中选出一个与 phi 互素的整数 e,并根据 e*d 1(mod phi) ,求出 e的乘法逆元。至此我们已经得到了公开密钥e,n和秘密密钥d,n

4、 。第三步,让用户输入要进行加密的小于 n 一组正整数(个数不超过 MAXLENGTH) ,输入以-1 为结束标志,实际个数存入 size 中,正整数以 clearMAXLENGTH保存。第四步,对第三步所得的明文 clearMAXLENGTH进行加密。遍历 clearsize,对每一个整数用以下算法进行加密,并将加密后的密文保存在 CiphertextMAXLENGTH中。第五步,输出密文 CiphertextMAXLENGTH2. 进行解密第一步,输入加密后的密文 Ciphertext1MAXLENGTH,输入以 -1 为结束标志第二步,输入解密密钥d,phi,对密文进行解密,结果保存在

5、DecryptionTextMAXLENGTH中。第三步,输出解密后明文 DecryptionTextMAXLENGTH生成随机素数: 先生成一个随机数 然后判断它是否为素数 从而输出unsigned long foo() /生成随机数int panduan(unsigned long b) /判断是否为素数unsigned long tiqu(unsigned long srand(int)time(0);random = rand() % 300;return random;srand 函 数 是 随 机 数 发 生 器 的 初 始 化 函 数需 要 提 供 一 个 种 子 这 里 使 用

6、 time 来 获 取 系 统 当 前 时 间 rand() % 300 是随机 0-299 的整数/以下为加密算法void Encryption()/加密算法cout =100if( clearj = -1 )break;count = e;while(count 0)/对明文进行加密 Ciphertext =(clear) e mod nCiphertextj = (Ciphertextj * clearj) % n;/加密算法count- ;cout Ciphertext1u;if( Ciphertext1u = -1 )break;coutppkk;for(int j = 0; j 0

7、)/对密文进行解密 DecryptionText =(Ciphertext ) d (mod n)DecryptionTextj = (DecryptionTextj * Ciphertext1j) %kk);count- ;cout “ 解密后的明文为: “;for( int k = 0; k size; k +)cout DecryptionTextk “ “;cout endl ;6.参考文献1赛迪网RSA 2010:云安全需急迫解决的安全隐患 .旧金山:赛迪网,2010.2赛迪网RSA 主席认为云安全成 2010 安全领域趋势.旧金山:赛迪网,2010.3魏晨. 安全风向标:品味 RS

8、A 2012 信息安全大会.旧金山:赛迪网,2012.4四夕新的安全威胁而前需要新的安全架构.旧金山:赛迪网,2012.5王茜倪建伟,一种基于 RSA 的加密算法. 重庆大学学报,2005, 28 (1):68-72.6周升力RSA 密码算法的研究与改进实现现代计算机,2008:51-537管占明. 邓亚娟RSA 加密算法的研究及应用. 科技广场,2009:98- 99.8胡向东,魏琴芳等应用密码学北京市:电子工业出版社,2008: 114-1199卢开澄计算机密码学.北京市:清华大学出版社,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 9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。