2015密码学课程设计报告 (6)

2015密码学课程设计报告 (6)

ID:12818576

大小:666.50 KB

页数:41页

时间:2018-07-19

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

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

1、课程设计报告课程名称:密码学课程设计专业班级:信息安全201302班学号:姓名:指导教师:报告日期:2015年9月29日计算机科学与技术学院目录2一.任务书3二.课题任务要求3三.实验原理3四.实验过程8五.实验结果35六.体会40一.任务书(1)原始SPN(教材上)算法的实现。(2)对上述算法进行线性密码分析及差分密码分析(求出所有32比特密钥)。(3)增强以上SPN的安全性(如增加分组的长度、密钥的长度、S盒、轮数等)。(4)对原始及增强的SPN进行随机性检测,对检测结果进行说明。(5)生成RSA算法的参数(如p、q、N、私钥、公钥等)。(6)快速实现RSA(对比模重复平方、蒙哥马利算

2、法和中国剩余定理)。(7)结合RSA和增强后的SPN实现文件(或通信)的加解密。二.课题任务要求(1)掌握线性、差分分析的基本原理与方法。(2)体会位运算、预计算在算法快速实现中的作用。(3)可借助OpenSSL、GMP、BIGINT等大数运算库的低层基本函数,实现过程中必须体现模重复平方、中国剩余定理和蒙哥马利算法的过程。(4)独立完成课程设计内容,现场演示并讲解。(5)课程设计完成后一周内,提交课程设计报告。三.实验原理3.1分组密码SPN(1)迭代密码:迭代密码的核心是一个密钥编排方案和一个轮函数密钥编排方案对密钥k进行变换,生成Nr个子密钥(也叫轮密钥),记为k1,k2,...,k

3、Nr轮函数g是一个状态加密函数,以ki为密钥对当前状态wr-1进行变换,输出新的状态值wr,即g(wr-1,ki)=wr;轮函数是单射函数,存在一个逆变换g-1,有g-1(wr,ki)=wr-1将密钥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解密:将密文y定义为初始状态wNr,经过Nr轮逆变换得到w0为明文x,即y=wNr,wNr-1=g-1(wNr,kNr),wNr-2

4、=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}在进行轮函数变换前,先用轮密钥和状态值进行异或(称为白化)(3)SPN密码体制:设l,m,Nr是正整数,P=C={0,1}lmK⊆({0,1}lm)Nr+1是由初始密钥k用密钥编排算法生成的所有可能的密钥编排方案集合,一个密钥编排方案记为(k1,k

5、2,...,kNr+1)状态值w长度为l×m,记为w1,w2,...,wlm;w可以看成m个长度为l的子串连接而成,记为w=w<1>,w<2>,...,w,其中w=w(i-1)l+1,w(i-1)l+2,...,w(i-1)l+l(4)SPN加密算法:SPN(x,πs,πp,(k1,k2,...,kNr+1))w0=xforr=1toNr-1{ur=wr-1⊕kr//白化fori=1tom{vr=πs(ur)//代替}wr=(vrπp(1),vrπp(2),...,vrπp(lm))//置换}uNr=wNr-1⊕kNrfori=1tom{vNr=πs(uNr<

6、i>)//代替}y=vNr⊕kNr+1//白化最后一轮不做置换returny(5)SPN解密算法解密算法为加密算法的逆过程,故不再赘述。2.线性密码分析(1)线性密码分析:是通过分析S盒的线性特性,从而发现明文比特、密文比特和密钥比特之间可能存在的线性关系,如果S盒设计不当,这种线性关系会以较大的概率存在,称为概率线性关系。是一种已知明文攻击方法,已知x和y,确定k或k的部分比特。(2)线性密码分析思路:是找到足够多的明文-密文对,对可能的密钥进行穷举,计算相关随机变量的偏差,正确的密钥作用下,偏差的绝对值最大,不需要对全部密钥空间进行穷举,只需要对随机变量有影响的密钥比特进行穷举,这些密

7、钥比特称为候选子密钥。对随机变量有影响的密钥比特:置换置换K5u4v4u46u48u414u416y<4>y<1>y<3>⊕k5<2>y⊕k5<4>y<2>只需要穷举密钥中的8位即可,即穷举28=256个密钥y<2>和k5<2>异或,可得到v4<2>,再通过逆置换可得到u4<2>,最终得到u46和u48。同样的方法可以得到u414和u416(3)线性密码分析算法:线性攻击(T,T,πs-1)for(L1,L2)=(0,0

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

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

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