1、 课课 程程 设设 计计 课程名称 微机原理课程设计 题目名称 学生成绩的统计 学生学院 应用数学学院 专业班级_ 信息安全(1)_ 学 号_ _ 学生姓名_ _ 学 号_ 学生姓名_ 学 号_ 学生姓名_ 学 号_ 学生姓名_ 指导教师 2014 年 1 月 3 日 1 摘要:摘要: RSA 公钥密码体制是由美国麻省理工学院的 Rivest,Shami 和 Adleman 于 1978 年提出的。它的安全性基础是数论中的欧拉定理和 计算复杂性理论中的论断:求两个大素数的乘积是计算上容易的,但 要分解两个大素数的乘积求出它的素因子是计算上困难的, 即其安全 性是基础大数因子分解的困难性。 RS
2、A是最具代表性的公钥密码体制, 由于算法既可用于加密又可用于数字签名, 加上安全性良好,也非常 便于实现和理解,使得 RSA 成为目前应用最普遍的公钥密码系统之 一,RSA 体制是最具代表性的公钥密码体制。 RSA 算法的缺点是运算速度慢,且随着模数 n 的长度的增长,加 解密的核心运算幂模运算所需要的时间就越长,算法的效率也就越 低。因此,在保证 RSA 体制安全性的基础上,国内外 RSA 密码研究人 员对 RSA 体制的核心运算幂模运算进行优化, 以达到提高 RSA 效率的 目的。目前比较有效的算法有基于乘同余对称特性的 SMM 算法、2k 进制法、滑动窗口取幂法、利用中国剩余定理降低指数
3、法。 本论文基于 RSA 算法来制作 RSA 通信系统。 关键词关键词: :RSA 算法;RSA 通信系统;公钥密码体制;加解密. 2 第一章 RSA 开篇 . 4 1.1 实现 RSA 算法所要做的工作 4 1.2 数论知识 4 1.2.1 数和互为素数 4 1.2.2 模运算 4 1.2.3 费马定理 4 1.2.4 欧拉定理 4 1.2.5 模反元素 4 1.3 密钥生成 5 1.4 加密和解密 5 1.5 私钥解密证明 6 1.6 RSA 的可靠性 7 第二章 RSA 数学基础 . 8 2.1 数论的基础知识 8 2.1.1 最大公约数 8 2.1.2 素数 9 2.1.3 互质数 9
4、 2.2 模算术运算 9 2.2.1 模运算的概念 9 2.2.2 模运算的性质 9 2.2.3 逆元的求解: 9 2.3 欧拉定理及相关概念. 10 第三章 RSA 密码体制 10 3.1 公钥密码体制 . 10 3.1.1 公钥密码系统具有以下一般性质: 10 3.2 RSA 算法 . 10 3.2.1 RSA 算法描述 . 11 3.2.2 RSA 公钥密码体制安全性分析 . 11 3.3 实现分析:. 13 第四章 RSA 实现 14 4.1 大数的存储和运算. 14 4.2 随机大素数的产生. 15 4.3 RSA 加密与解密 . 15 4.3.1 RSA 的加密与解密过程 . 15
5、 4.3.2 密钥产生. 15 4.4 RSA 通信实现设计 . 15 4.4.1 伪随机数设计. 15 4.4.2 增强保密 RSA 通信系统方案. 16 第五章 运行与测试 16 5.1 RSA 保密通信软件安装过程 . 16 5.2 用户登录界面. 20 5.3 RSA 通信系统界面 . 21 第六章 重要代码附录 22 6.1 登录界面. 22 3 6.2 RSA 通信系统界面 . 25 第七章 学习感悟 32 7.1 陈文韬. 32 7.2 袁泽宁. 32 7.3 陈舜. 32 7.4 仇剑豪. 33 第八章 参考文献 33 4 第一章第一章 RSARSA 开篇开篇 1.11.1 实
6、现实现 RSARSA 算法所要做的工作算法所要做的工作 (1)学习RSA体制的基本原理及数学基础:RSA算法的理论研究包括RSA算法的原理及组 成。RSA 体制的基础是数论中的欧拉定理,其安全性是基于大数因子分解困难性。RSA 体制 的重要内容包括大素数的产生、 密钥对的产生和信息的加解密处理。 对 RSA 原理及数学基础 的学习为后面进一步深入学习和实现 RSA 的算法打下基础。 (2)学习 RSA 的具体算法:RSA 的实现包含各种具体的算法,在实现具体算法前必 须要熟悉它使用到的各种算法,找出自己可以编程实现的算法。RSA 中使用到的算法有素性 检测算法、公私钥产生算法、幂模运算算法三大类。 (3)实现了一