资源描述:
《2015密码学课程设计报告 (6)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程实验报告课程名称:密码学课程设计专业班级:信安1302学号:姓名:指导教师:报告日期:2015/9/28计算机科学与技术学院密码学课程设计任务书题目:SPN和RSA密码算法的快速实现与安全性分析课题内容:(1)原始SPN(教材上)算法的实现。(2)对上述算法进行线性密码分析及差分密码分析(求出所有32比特密钥)。(3)增强以上SPN的安全性(如增加分组的长度、密钥的长度、S盒、轮数等)。(4)对原始及增强的SPN进行随机性检测,对检测结果进行说明。(5)生成RSA算法的参数(如p、q、N、私钥、公钥等)。(6)快
2、速实现RSA(对比模重复平方、蒙哥马利算法和中国剩余定理)。(7)结合RSA和增强后的SPN实现文件(或通信)的加解密。课题任务要求:(1)掌握线性、差分分析的基本原理与方法。(2)体会位运算、预计算在算法快速实现中的作用。(3)可借助OpenSSL、GMP、BIGINT等大数运算库的低层基本函数,实现过程中必须体现模重复平方、中国剩余定理和蒙哥马利算法的过程。(4)独立完成课程设计内容,现场演示并讲解。(5)课程设计完成后一周内,提交课程设计报告。主要参考文献(由指导教师选定)(1)密码学原理与实践(第三版).Do
3、uglasR.Stinson著,冯登国译,电子工业出版社,2009(2)应用密码学:协议算法与C源程序(第二版).BruceSchneier 著,吴世忠等译,机械工业出版社,2014同组设计者无目录一.课设题目1二.课设内容1三.课设任务要求1四.实验原理11.SPN密码体制12.RSA密码体制6五.实验过程61.原始SPN(书上)算法的实现62.对SPN进行线性密码分析及差分密码分析83.增强以上SPN的安全性124.生成RSA算法的参数145.快速实现RSA166.结合RSA和增强后的SPN实现文件(或通信)的加
4、解密217.随机性检测29六.实验总结与心得体会31主要参考文献32一.课设题目SPN和RSA密码算法的快速实现与安全性分析二.课设内容(1)原始SPN(教材上)算法的实现。(2)对上述算法进行线性密码分析及差分密码分析(求出所有32比特密钥)。(3)增强以上SPN的安全性(如增加分组的长度、密钥的长度、S盒、轮数等)。(4)对原始及增强的SPN进行随机性检测,对检测结果进行说明。(5)生成RSA算法的参数(如p、q、N、私钥、公钥等)。(6)快速实现RSA(对比模重复平方、蒙哥马利算法和中国剩余定理)。(7)结合R
5、SA和增强后的SPN实现文件(或通信)的加解密。三.课设任务要求1.掌握线性、差分分析的基本原理与方法。2.体会位运算、预计算在算法快速实现中的作用。3.可借助OpenSSL、GMP、BIGINT等大数运算库的低层基本函数,实现过程中必须体现模重复平方、中国剩余定理和蒙哥马利算法的过程。4.独立完成课程设计内容,现场演示并讲解。5.课程设计完成后一周内,提交课程设计报告。四.实验原理1.SPN密码体制(1)迭代密码迭代密码的核心是一个密钥编排方案和一个轮函数密钥编排方案对密钥k进行变换,生成Nr个子密钥(也叫轮密钥)
6、,记为k1,k2,...,kNr轮函数g是一个状态加密函数,以ki为密钥对当前状态wr-1进行变换,输出新的状态值wr,即g(wr-1,ki)=wr;轮函数是单射函数,存在一个逆变换g-1,有g-1(wr,ki)=wr-1第32页共32页迭代密码的加密为将密钥k编排成Nr个轮密钥k1,k2,...,kNr,将明文x定义为初始状态w0,经过Nr轮变换得到wNr为密文y,即w0=x,w1=g(w0,k1),w2=g(w1,k2),...wNr-1=g(wNr-2,kNr-1),wNr=g(wNr-1,kNr)y=wNr迭
7、代密码的解密为将密文y定义为初始状态wNr,经过Nr轮逆变换得到w0为明文x,即y=wNr,wNr-1=g-1(wNr,kNr),wNr-2=g-1(wNr-1,kNr-1)...w1=g-1(w2,k2),w0=g-1(w1,k1),x=w0(2)代替-置换网络代替-置换网络是一种简单的迭代密码。处理的明文单元和状态值长度为l×m,轮函数g包括两个核心变换——代替和置换,分别记为πs和πp,有πs:{0,1}l→{0,1}lπp:{1,2,...,lm}→{1,2,...,lm}在进行轮函数变换前,先用轮密钥和状态
8、值进行异或(称为白化)(3)SPN密码体制设计设l,m,Nr是正整数,P=C={0,1}lmK⊆({0,1}lm)Nr+1是由初始密钥k用密钥编排算法生成的所有可能的密钥编排方案集合,一个密钥编排方案记为(k1,k2,...,kNr+1)状态值w长度为l×m,记为w1,w2,...,wlm;w可以看成m个长度为l的子串连接而成,记为w=w<1>