做算法的同学的参考模板

发布时间 : 星期三 文章做算法的同学的参考模板更新完毕开始阅读

成都信息工程学院

课程设计报告

RSA签名算法加密与解密的设计与实现

课程名称: 密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师:

2014年11 月 12 日

指导老师评阅成绩表 学习与工作态度(30%) 选题意义(10%) 研究水平与设计能课程设计说明说(论文)力(25%) 撰写质量(25%) 设计创新(10%) 总分 指导老师签名: 年 月 日 课程设计答辩记录及评价表 学生 讲述情况 教师主要 提问记录 学生回答 问题情况 评分项目 选题意义 答辩评分 分值 10 优 9 23 23 9 28 评价参考标准 良 中 及格 8 20 20 8 25 7 18 18 7 22 6 15 15 6 19 差 4 10 10 4 15 评分 总分 研究水平与设计能力 25 课程设计说明书(论文)25 撰写质量 设计创新 10 答辩效果 30 答辩小组成员签名 答辩小组组长签名: 年 月 日 课程设计成绩评定表 评分项目 成绩汇总

评分 比例 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 RSA数字签名的实现 ................................................................................................................... 4

3.1 设计目标 ............................................................................................................................ 4 3.2 模块划分及实现 ................................................................................................................ 4

3.2.1利用模重复平方法加密 .......................................................................................... 4 3.2.2 利用平方乘算法解密 ............................................................................................. 5 3.2.3 辗转相除法求私钥d .............................................................................................. 5 3.2.4 Miller-Robin检测算法 ............................................................................................ 5 3.2.5 产生满足要求的大奇素数 ..................................................................................... 5

4 测试 .............................................................................................................................................. 6 结 论 .............................................................................................................................................. 8 参考文献........................................................................................................................................... 8

1背景

在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。正是基于这种理论,1978年出现了注明的RSA算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。位减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。

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

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在的这么多年里,经历了各种攻击考研,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

第1 页 共 11 页

联系合同范文客服:xxxxx#qq.com(#替换为@)