现代密码学课程设计实验报告 -

现代密码学课程设计实验报告 -

ID:11202702

大小:125.61 KB

页数:11页

时间:2018-07-10

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

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

1、西安科技大学《现代密码学》课程设计报告题目:密码学计算器学  院:计算机科学与技术学院班  级:姓名:学 号:日期:2015.1.8一.课程设计题目密码学计算器的研究与实现二.分工对称密码程序实现Des算法组长:古典密码程序设计(置换)SHA算法ECC算法三.软件运行环境Windows7操作系统visualC++四.算法设计思想1.古典密码置换算法置换密码算法的原理是不改变明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。置换密码又称为换位密码。矩阵换位法是实现置换密码的一种常用方法。它

2、将明文中的字母按照给定的顺序安排在一个矩阵中,然后又根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明文为attackbeginsatfive,密钥为cipher,将明文按照每行6个字母的形式排在矩阵中,形成如下形式:attackbeginsatfive根据密钥cipher中各字母在字母表中出现的先后顺序,得到给定的一个置换:f=145326因此有:密钥:145326明文:attackbeginsatfive根据上面的置换,将原有矩阵中的字母按照第1列、第4列、第5列、第3列、第2列、第6列

3、的顺序排列、则有下面的形式:aacttkbingesaivfte从而得到密文:abatgftetcnvaiikse其解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由密钥给出的矩阵置换产生新的矩阵,从而恢复明文。2.ECC算法 ECC(EllipticCurvesCryptography)加密算法是一种公钥加密算法,与主流的RSA算法相比,ECC算法可以使用较短的密钥达到相同的安全程度。近年来,人们对ECC的认识已经不再处于研究阶段,开始逐步进入实际应用,如国家密码管理局颁布的SM

4、2算法就是基于ECC算法的 在引入椭圆曲线之前,不得不提到一种新的坐标系-------射影平面坐标系,它是对笛卡尔直角坐标系的扩展,增加了无穷远点的概念。在此坐标系下,两条平行的直线是有交点的,而交点就是无穷远点。两者的变换关系为:笛卡尔坐标系中的点a(x,y),令x=X/Z,y=Y/Z,则射影平面坐标系下的点a的坐标为(X,Y,Z),如点(2,3)就转换为(2Z,3Z,Z)。加法法则运算法则:任意取椭圆曲线上两点P、Q(若P、Q两点重合,则做P点的切线)做直线交于椭圆曲线的另一点R’,过R’做y轴的平

5、行线交于R。我们规定P+Q=R。(如图) 下面,我们利用P、Q点的坐标(x1,y1),(x2,y2),求出R=P+Q的坐标(x4,y4)。P,Q,R'共线,设为y=kx+b,若P≠Q,k=(y1-y2)/(x1-x2)若P=Q,k=(3x2+2a2x+a4 -a1y)/(2y+a1x+a3) 解方程组得到: x4=k2+ka1-a2-x1-x2;  y4=k(x1-x4)-y1-a1x4-a3;3.对称密码DES算法DES是一个16轮的Feistel型结构密码,它的分组长度为64比特,用一个56比特的密

6、钥来加密一个64比特的明文串,输出一个64比特的密文串。其中,使用密钥为64比特,实用56比特,另8位用作奇偶校验。加密的过程是先对64位明文分组进行初始置换,然后分左、右两部分分别经过16轮迭代,然后再进行循环移位与变换,最后进行逆变换得出密文。加密与解密使用相同的密钥,因而它属于对称密码体制。图4-3给出了DES过程框图。假设输入的明文数据是64比特。首先经过初始置换IP后把其左半部分32比特记为L0,右半部分32比特记为R0,即成了置换后的输入;然后把R0与密钥产生器产生的子密钥k1进行运算,其结

7、果计为f(R0,k1);再与L0进行摸2加得到L0f(R0,k1),把R0记为L1放在左边,而把L0f(R0,k1)记为R1放在右边,从而完成了第一轮迭代运算。在此基础上,重复上述的迭代过程,一直迭代至第16轮。所得的第16轮迭代结果左右不交换,即L15f(R15,k16)记为R16,放在左边,而R15记为L16放在右边,成为预输出,最后经过初始置换的逆置换IP-1运算后得到密文。图4-3DES框图DES的解密过程与加密过程共用了同样的计算过程。两者的不同之处仅在于解密时子密钥ki的使用顺序与加密时相反

8、。如果加密的子密钥k1,k2,…,k16,那么,解密时子密钥的使用顺序为与k16,k15,…,k1。即:用DES解密时,将以64位密文作为输入,第一轮迭代使用子密钥k16;第二轮迭代使用子密钥k15,…,第16轮迭代使用子密钥k1,其他运算与加密时一样,最后输出的便是64位明文。4.SHA算法散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输

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

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

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