- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(密码学课设报告
目录一.实验目的1二.实验内容及基本要求12.1、分组密码SPN的编程实现12.2、RSA的加/解密及快速加/解密12.3、随机性检测1三.实验原理13.1、分组密码SPN13.2、RSA的加/解密及快速加/解密63.3、随机性检测6四.实验过程75.1、分组密码SPN75.1.1 SPN加密75.1.2 线性密码分析105.1.3 差分密码分析125.2、RSA的加/解密及快速加/解密155.1.1 生成大素数155.1.2 运用模重复平方的RSA加/解密185.1.3 运用蒙哥马利的RSA快速加解密205.1.4 运用中国剩余定理的RSA解密235.3、随机性检测25五.实验结果256.1、分组密码SPN256.2、RSA的加/解密及快速加/解密286.3、随机性检测31六.实验心得总结33实验目的通过课程设计,使学生进一步熟悉密码算法以及算法安全性的基本概念和原理;培养学生将密码理论和技术应用于实际的能力,使学生具备实施数据加/脱密和基本的密码分析的能力。实验内容及基本要求2.1、分组密码SPN的编程实现①加密:输入初始加密密钥和一串有意义的字符串,显示相应的加密结果;②线性分析:通过对明密文对的线性分析,破解出初始加密密钥;③差分分析:通过对明密文对的差分分析,破解出初始加密密钥;④设计用户界面,界面要有加密选择,线性与差分分析选择,输入密钥与明文栏以及密文显示栏;2.2、RSA的加/解密及快速加/解密① 编制或网上下载大素数生成算法,产生二个大素数p和q;② 编写RSA的加/解密过程和快速加/解密过程;③ 通过调用时钟对二种加/解密方法的时间开销进行测试;④ 设计用户界面,界面要有加/解密方式选择,快速方式与一般方式的选择及时间开销显示。2.3、随机性检测密文的随机性反映了密码的强度,通过设计随机性测试算法或运用工具对SPN生成的密文进行随机性检测,来测试SPN的密码强度。实验原理3.1、分组密码SPN (1)迭代密码迭代密码的核心是一个密钥编排方案和一个轮函数密钥编排方案对密钥k进行变换,生成Nr个子密钥(也叫轮密钥),记为k1,k2,...,kNr轮函数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=g-1(wNr-1,kNr-1)...w1=g-1(w2,k2), w0=g-1(w1,k1),x=w0(2)代替-置换网络(Substitution-Permutation Network)代替-置换网络(Substitution-Permutation Network)是一种简单的迭代密码。处理的明文单元和状态值长度为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,k2,...,kNr+1)状态值w长度为l×m,记为w1,w2,...,wlm;w可以看成m个长度为l的子串连接而成,记为w=w1,w2,...,wm,其中wi=w(i-1)l+1,w(i-1)l+2,...,w(i-1)l+l加密过程使用如下算法描述:w0=xfor r=1 to Nr-1 { ur=wr-1⊕kr // 白化 for i=1 to m {vri=πs(uri) // 代替 } wr=(vrπp(1),vrπp(2),...,vrπp(lm)) // 置换}uNr=wNr-1⊕kNrfor i=1 to m { vNri=πs(uNri) // 代替}y=vNr⊕kNr+1 // 白化return y具体加密过程如图3.1所示: 图3.1 SPN加密过程示例(4)线性密码分析线性密码分析,是通过分析S盒的线性特性
您可能关注的文档
最近下载
- 冠心病合并房颤的抗凝抗栓策略.ppt VIP
- 副高中医护理试题及答案.docx
- 员工职业发展通道设计课程.ppt VIP
- 注册安全工程师中级其他安全生产专业实务(电气安全)模拟试卷3.pdf VIP
- VDI2230高强度螺栓连接的系统计算中文版.pdf VIP
- 汉威KB500可燃气体报警控制器使用说明书.pdf
- 2024-2030全球摩托车和机车头盔行业调研及趋势分析报告.docx
- 2024-2030全球全面式蓝牙摩托车头盔行业调研及趋势分析报告.docx
- 神木市东安煤业有限公司煤炭资源整合项目(0.60Mt_a)(重大变动)环境影响报告书.pdf VIP
- (高清版)DB11∕T 1702-2019 生活饮用水样品采集技术规范.pdf VIP
文档评论(0)