做算法的同学的参考模板

上传人:ji****72 文档编号:37628902 上传时间:2018-04-20 格式:DOC 页数:11 大小:333.10KB
返回 下载 相关 举报
做算法的同学的参考模板_第1页
第1页 / 共11页
做算法的同学的参考模板_第2页
第2页 / 共11页
做算法的同学的参考模板_第3页
第3页 / 共11页
做算法的同学的参考模板_第4页
第4页 / 共11页
做算法的同学的参考模板_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《做算法的同学的参考模板》由会员分享,可在线阅读,更多相关《做算法的同学的参考模板(11页珍藏版)》请在金锄头文库上搜索。

1、成 都 信 息 工 程 学 院 课 程 设 计 报 告RSARSA签名算法加密与解密的设计与实现签名算法加密与解密的设计与实现课程名称:课程名称: 密码算法程序设计密码算法程序设计 学生姓名:学生姓名: 学生学号:学生学号: 专业班级:专业班级: 任课教师:任课教师: 2014 年 11 月 12 日指导老师评阅成绩表指导老师评阅成绩表学习与工作 态度 (30%)选题意义 (10%)研究水平与设计能 力(25%)课程设计说明说(论文) 撰写质量(25%)设计创新 (10%)总分指导老师签名: 年 月 日课程设计答辩记录及评价表课程设计答辩记录及评价表学生 讲述情况教师主要 提问记录学生回答 问

2、题情况评价参考标准评分项目分 值优良中及格差评分总分选题意义1098764研究水平与设计能力252320181510 课程设计说明书(论文) 撰写质量252320181510设计创新1098764答辩评分答辩效果302825221915答辩小组成员签名答辩小组组长签名: 年 月 日课程设计成绩评定表课程设计成绩评定表评分项目评分比例分数课程设计总分 成绩汇总指导老师评分50%答辩小组评分50%目目 录录1 背景.1 2 RSA 数字签名.2 2.1 实验原理.2 2.1.1 非对称密钥加密概述.2 2.1.2 公钥加密的优点.3 2.1.3 公钥加密的缺点.3 2.2 RSA 数字签名描述.4

3、 3 RSA 数字签名的实现.4 3.1 设计目标.4 3.2 模块划分及实现.4 3.2.1 利用模重复平方法加密.4 3.2.2 利用平方乘算法解密.5 3.2.3 辗转相除法求私钥 d.6 3.2.4 Miller-Robin 检测算法 .7 3.2.5 产生满足要求的大奇素数.8 4 测试.10 结 论.12 参考文献.12第 0 页 共 12 页1 背景背景在公开密钥密码体制中,加密密钥(即公开密钥)PK 是公开信 息,而解密密钥(即秘密密钥)SK 是需要保密的。加密算法 E 和解 密算法 D 也都是公开的。虽然秘密密钥 SK 是由公开密钥 PK 决定 的,但却不能根据 PK 计算出

4、 SK。正是基于这种理论,1978 年出现 了注明的 RSA 算法,它通常是先生成一对 RSA 密钥,其中之一是 保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可 在网络服务器中注册。为提高保密强度,RSA 密钥至少为 500 位长, 一般推荐使用 1024 位。这就使加密的计算量很大。位减少计算量, 在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的 方式,即信息采用改进的 DES 或 IDEA 对话密钥加密,然后使用 RSA 密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密 钥解密并可核对信息摘要。 该算法于 1977 年由美国麻省理工学院 MIT(Massachu

5、setts Institute of Technology)的 Ronal Rivest,Adi Shamir 和 Len Adlemar 三位年轻教授提出,并以三人的姓氏 Rivest,Shamir 和 Adlernan 命 名为 RSA 算法。该算法利用了数论领域的一个事实,那就是虽然把 两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合 数分解为两个质数却十分困难。合数分解问题目前仍然是数学领域 尚未解决的一大难题,至今没有任何高效的分解方法。与 Diffie- Hellman 算法相比,RSA 算法具有明显的优越性,因为它无须收发 双方同时参与加密过程,且非常适合于电子函件系统

6、的加密。 RSA 算法是第一个能同时用于加密和数字签名的算法,也易于 理解和操作。RSA 是被研究得最广泛的公钥算法,从提出到现在的 这么多年里,经历了各种攻击考研,逐渐为人们接受,普遍认为是 目前最优秀的公钥方案之一。第 1 页 共 12 页2 RSA 数字签名数字签名2.1 实验原理实验原理2.1.1 非对称密钥加密概述非对称密钥加密概述使用对称密钥加密体制进行保密通信时,任意不同的两个用户 之间都应该使用互不相同的密钥。这样,如果一个网络中有 n 个用 户,他们之间彼此可能需要进行秘密通信,这时网络中将共需要 n(n-1)/2 个密钥(其中,每个用户都需要保存 n-1 个密钥) ,这样

7、巨大的密钥量给密钥分配和管理带来了极大的困难。另外,随着计 算机网络,特别是因特网的发展,网络上互不相识的用户可能需要 进行保密的会话(例如,如果用户在进行电子商务活动时,需要保 密的连接,这时的客户对象可能根本不是固定的对象) 。最后,对称 密钥加密机制难以解决签名验证问题。非对称密钥加密也称为公开密钥加密,或者叫做公钥加密算法。 使用公开密钥密码的每一个用户都分别拥有两个密钥:加密密钥和 解密密钥,它们两者并不相同,并且由加密密钥得到解密密钥在计 算机上是不可行的。每一个用户的加密密钥都是公开的(因此,加 密密钥也称为公开密钥) 。所有用户的公开密钥都将记录在作用类似 于电话号码薄的密钥本

8、上,而它可以被所有用户访问,这样每一个 用户都可以得到其他所有用户的公开密钥。同时,每一个用户的解 密密钥将由用户保存并严格保密(因此,解密密钥也称为私有密钥) 。非对称密码算法解决了对称密码体制中密钥管理的难题,并提 供了对信息发送人的身份进行验证的手段,是现代密码学最重要的 发明。公钥加密算法一般是将对密钥的求解转化为对数学上的困难 问题的求解,例如 RSA 算法的安全性是建立在“大数分解和素性检 测”这个数论难题的基础上,已知两个大素数 a、b,求出 a*b 是容 易计算的 ,而已知 a*b,想知道其是哪两个大素数的乘积目前还没 有好的计算方法,另外也有一些非对称加密算法(如 ELGamal 算 法)的安全性是基于求“离散对数”这个数学难题上的。在公钥密码系统中每个实体都有自己的公钥和相应的私钥。公第 2 页 共 12 页钥密码系统的加密变换和解密变换分别用 E 和 D 表示。任何实体 B 要向实体 A 发送信息 m 的步骤如下:实体 B 首先获得实体 A 的真 实公钥的拷贝(eA) ,实体 B 使用 eA 计算密文 c=E(m)并发送 给实体 A ,实体 A 使用自己的私钥 dA,计算 m=D(c)解密密文, 恢复出明文 m。这里公钥不需要保密,但要保证它的真实性,即 eA 确实是实体 A 掌握的私钥 dA 所对应的公钥。提供真实的公钥比 安全地分

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号