密码学课程设计报告

密码学课程设计报告

ID:12163230

大小:1.76 MB

页数:40页

时间:2018-07-15

密码学课程设计报告_第1页
密码学课程设计报告_第2页
密码学课程设计报告_第3页
密码学课程设计报告_第4页
密码学课程设计报告_第5页
资源描述:

《密码学课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告题目:SPN和RSA密码算法的快速实现与安全性分析课程名称:密码学课程设计专业班级:信息安全1302班学号:姓名:指导教师:报告日期:2015年9月6日计算机科学与技术学院密码学课程设计任务书题目:SPN和RSA密码算法的快速实现与安全性分析课题内容:(1)原始SPN(教材上)算法的实现。(2)对上述算法进行线性密码分析及差分密码分析(求出所有32比特密钥)。(3)增强以上SPN的安全性(如增加分组的长度、密钥的长度、S盒、轮数等)。(4)对原始及增强的SPN进行随机性检测,对检测结果进行说明。(5)生成RSA算法的参数(如p、q、N、私钥、公钥

2、等)。(6)快速实现RSA(对比模重复平方、蒙哥马利算法和中国剩余定理)。(7)结合RSA和增强后的SPN实现文件(或通信)的加解密。课题任务要求:(1)掌握线性、差分分析的基本原理与方法。(2)体会位运算、预计算在算法快速实现中的作用。(3)可借助OpenSSL、GMP、BIGINT等大数运算库的低层基本函数,实现过程中必须体现模重复平方、中国剩余定理和蒙哥马利算法的过程。(4)独立完成课程设计内容,现场演示并讲解。(5)课程设计完成后一周内,提交课程设计报告。主要参考文献(由指导教师选定)(1)密码学原理与实践(第三版).DouglasR.Stinson

3、著,冯登国译,电子工业出版社,2009(2)应用密码学:协议算法与C源程序(第二版).BruceSchneier 著,吴世忠等译,机械工业出版社,2014同组设计者无III目录1原始SPN(教材上)算法的实现11.1实验目的11.2实验要求11.3实验原理11.4实验设计31.5实验结果42SPN的线性分析52.1实验目的52.2实验要求52.3实验原理52.4实验设计62.5实验结果63SPN的差分分析83.1实验目的83.2实验要求83.3实验原理83.4实验设计93.5实验结果104增强SPN的安全性114.1实验目的114.2实验要求114.3实验原

4、理114.4实验设计124.5实验结果125对原始以及增强后的SPN进行随机性检测135.1实验目的135.2实验要求145.3实验原理145.3.1CBC模式145.3.2随机性检测155.4实验设计165.5实验结果166生成RSA算法的参数236.1实验目的236.2实验要求24III6.3实验原理246.4实验设计246.5实验结果267快速实现RSA267.1实验目的267.2实验要求277.3实验原理277.3.1模重复平方算法277.3.2中国剩余定理287.3.3蒙哥马利算法297.4实验设计297.5实验结果308结合RSA和增强的SPN实

5、现文件加解密308.1实验目的308.2实验要求308.3实验原理308.4实验设计318.5实验结果328.5.1加密功能328.5.2解密功能32III1原始SPN(教材上)算法的实现1.1实验目的通过编程实现书上的简单SPN算法,加深我们对SPN加密的理解与认识,提高我们的动手实践能力。同时,让我们在编写程序的过程中,体会到SPN加密流程中的不足,为后续的线性分析实验、差分分析实验以及增强SPN安全性的实验的实施打下基础。1.2实验要求参照教材上的算法与流程图,实现原始的SPN算法。1.3实验原理SPN是一类特殊的迭代密码,它的定义如下:设l和m都是正

6、整数,明文和密文都是长为lm的二元向量(即lm是该密码的分组长度)。一个SPN包括两个变换,分别记为和。与都是置换,置换叫做S盒[字母“S”表示“substitution”(代换)],它用一个l比特向量来代替另一个l比特向量。置换用来置换lm个比特。给定一个lm比特的二元串,可将其看作是m个长为l比特的子串的并联。因此,,其中,。将要给出的SPN由Nr轮组成,在每一轮(除了最后一轮稍有不同外),我们先用异或操作混入该轮的轮密钥,再用进行m次代换,然后用进行一次置换。基于和,我们现在给出一个SPN,参见密码体制1。36密码体制1代换-置换网络(SPN)设l,m

7、和Nr都是正整数,和都是置换。设是由初始密钥用密钥编排算法生成的所有可能的密钥编排方案之集。对一个密钥编排方案,我们用来算法1加密明文x。密码体制1在算法1中,ur第r轮对S盒的输入,vr是第r轮对S盒的输出。wr由vr应用置换得到,然后ur+1由轮密钥Kr+1异或wr得到(这叫做轮密钥混合),最后一轮没有用置换。因此,如果对密钥编排方案做适当修改并用S盒的逆来取代S盒,那么该加密算法也能用来解密。算法1SPN(x,,,)算法1线性攻击值得注意的是,该SPN的第一个和最后一个操作都是异或轮密钥,这叫做白化(whitening)。白化可使一个不知道密钥的攻击者

8、,无法开始进行一个加密或解密操作。本次要实现的SPN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。