ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:315.49KB ,
资源ID:1453088      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1453088.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二对称密码基本加密课案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二对称密码基本加密课案.docx

1、实验二对称密码基本加密课案西北师范大学计算机科学与工程学院学生实验报告学号: 201371060113 2016 年 3 月 13 日系别计算机专业2013级物联网班级物联网(1)班姓名金东海课程名称物联网信息安全实验课程类型专业课 学时数实验名称对称密码基本加密实验内容:通过运算器工具实现DES、3DES、IDEA、AES-128/192/256、SMS4等算法的加解密计算通过流程演示工具完成DES算法加解密运算的逐步演示和实例演示通过轮密钥查看工具查看3DES和AES的轮密钥生成过程查看AES算法逐步计算的动画演示对DES、3DES、IDEA、AES-128/192/256、SMS4等算法

2、的加解密进行扩展实验对DES、3DES、IDEA、AES-128/192/256、SMS4等算法的加解密进行算法跟踪实验原理:对称密码体制使用相同的加密密钥和解密密钥,其安全性主要依赖于密钥的保密性。分组密码是对称密码体制的重要组成部分,其基本原理为:将明文消息编码后的序列m0,m1,m2,mi划分为长度为L(通常为64或128)位的组m=(m0,m1,m2,mL-1),每组分别在密钥k=(k0,k1,k2,kt-1)(密钥长度为t)的控制下变换成等长的一组密文输出序列c=(c0,c1,c2,cL-1)。分组密码的模型如图1.1.41所示。图1.1.41分组密码实际上是在密钥的控制下,从一个足

3、够大和足够好的置换子集中简单而迅速地选出一个置换,用来对当前输入的明文分组进行加密变换。现在所使用的对称分组加密算法大多数都是基于Feistel分组密码结构的,遵从的基本指导原则是Shannon提出的扩散和混乱,扩散和混乱是分组密码的最本质操作。分组密码与流密码的对比:分组密码以一定大小的分组作为每次处理的基本单元,而流密码则以一个元素(如一个字母或一个比特)作为基本的处理单元;流密码使用一个随时间变化的加密变换,具有转换速度快、低错误传播的优点,软硬件实现简单,缺点是低扩散、插入及修改不敏感;分组密码使用的是一个不对时间变化的固定变换,具有扩散性好、插入敏感等优点,缺点是加解密处理速度慢、存

4、在错误传播。一、 DES算法数据加密标准(Data Encryption Standard,DES)中的算法是第一个也是最重要的现代对称加密算法,其分组长度为64比特,使用的密钥长度为56比特(实际上函数要求一个64位的密钥作为输入,但其中用到的有效长度只有56位,剩余8位可作为奇偶校验位或完全随意设置),DES加解密过程类似,加解密使用同样的算法,唯一不同的是解密时子密钥的使用次序要反过来。DES的整个体制是公开的,系统安全性完全依靠密钥的保密。DES的运算可分为如下三步:(1) 对输入分组进行固定的“初始置换”IP,可写为(L0,R0)=IP(输入分组),其中L0和R0称为“(左,右)半分

5、组”,都是32比特的分组,IP是公开的固定的函数,无明显的密码意义。(2) 将下面的运算迭代16轮(i=1,2,16):Li=Ri-1 ,Ri-1=Li-1f(Ri-1,ki);这里ki称为轮密钥,是56比特输入密钥的一个48比特字串,f称为S盒函数(S表示交换),是一个代换密码,目的是获得很大程度的信息扩散。(3) 将十六轮迭代后得到的结果(L16,R16)输入到IP的逆置换来消除初始置换的影响,这一步的输出就是DES算法的输出,即输出分组=IP-1(R16,L16),此处在输入IP-1之前,16轮迭代输出的两个半分组又进行了一次交换。DES的加密与解密算法都是用上述三个步骤,不同的是如果在

6、加密算法中使用的轮密钥为k1,k2,k16,则解密算法中的轮密钥就应当是k16,k15,k1,可记为(k1,k2,k16)=(k16,k15,k1)。DES算法的一轮迭代处理过程如图1.1.42所示。图1.1.42DES的计算过程如图1.1.43所示。图1.1.43在加密密钥k下,将明文消息m加密为密文c,使用DES将c在k下解密为明文,解密过程如下:(L0,R0)=IP(c)=IP(IP-1(R16,L16),即(L0,R0)=(R16,L16);在第一轮中,L1=R0=L16=R15,R1=L0f(R0,k1)=R16f(L16,k1)=L16f(R15,k16)f(R15,k16)=L1

7、5,即(L1,R1)=(R15,L15);同样的,在接下来的15轮迭代中,可以得到(L2,R2)=(R14,L14),(L16,R16)=(R0,L0);最后一轮结束后,交换L16和R16,即(R16,L16)=(L0,R0),IP-1(L0,R0)=IP-1(IP(m)=m,解密成功。二、 3DES算法DES的一个主要缺点是密钥长度较短,同时也被认为是DES仅有的最严重的弱点,容易遭受穷举密钥搜索攻击。克服密钥较短缺陷的一个解决方法是使用不同的密钥,多次运行DES算法,3DES应运而生。3DES具有四种使用模式,其中的一种为加密-解密-加密的3DES方案,加解密过程可表示为:,其中。三、 I

8、DEA算法1990年,瑞士联邦理工学院的中国青年学者来学嘉(Xuejia Lai)和著名密码专家James L. Massey在EUROCRYPT 1990国际会议上提出了一个名叫PES(Proposed Encryption Standard)分组密码算法,稍后经过改进成IPES(Improved PES),并于1992年被最终定名为国际数据加密标准(International Data Encryption Algorithm,IDEA)。国际上普遍认为IDEA是继DES之后的,又一个成功的分组密码,已经应用于Email系统的PGP(Pretty Good Privacy)、OpenPGP

9、的标准算法以及其他加密系统中。IDEA是一个分组密码,也是一个对合运算,明文和密文的分组长度为64比特,密钥长度为128比特。IDEA易于实现,软硬件实现都很方便,而且加解密速度很快。(一) 加密运算IDEA中的三个运算为:l 6位子分组的相异或;16位整数的模216加,即;16位整数的模216+1乘,即。IDEA的整体结构如图1.1.44所示,由8轮迭代和一个输出变换组成。64位的明文分为4个子块,每块16位,分别记为。64位的密文也分为4个子块,每块16位,分别记为。128位的密钥经过子密钥生成算法产生出52个16位的子密钥,每一轮加密迭代使用6个子密钥,输出变换使用4个子密钥。记为第r轮

10、迭代使用的第i个子密钥,。记为输出变换使用的第i个子密钥,。每一轮的运算步骤如下:(1) 。(2) 。(3) 。(4) 。(5) 将第(1)步和第(3)步的结果异或。(6) 将第(2)步和第(4)步的结果异或。(7) 将第(5)步的结果乘以。(8) 将第(6)步和第(7)步的结果相加。(9) 将第(8)步的结果乘以。(10) 将第(7)步和第(9)步的结果相加。(11) 将第(1)步和第(9)步的结果异或。(12) 将第(3)步和第(9)步的结果异或。(13) 将第(2)步和第(10)步的结果异或。(14) 将第(4)步和第(10)步的结果异或。(15) 第(11),(12),(13),(14

11、)步的结果为本轮加密迭代的输出结果。图1.1.44(二) 解密运算IDEA的解密过程和加密过程相同,只是所使用的子密钥不同。IDEA采用基本轮函数迭代结构,既采用混淆技术,又采用扩散技术。具体地,采用了三种不同的代数群,将其混合运算,获得了良好的非线性,增强了密码的安全性。IDEA是在Ascom-Tech AG公司的Hasler基金会的支持下完成的,在许多国家申请了专利保护,在非商业领域却是自由使用的。IDEA的商标为MediaCrypt所拥有,专利保护期到2010-2011年间。四、 AES算法美国国家标准技术协会(NIST)于1997年提出征集一个新的对称密钥分组加密算法作为取代DES的新

12、的加密标准的公告,并将这个新的算法命名为高级加密标准(Advanced Encryption Standard,AES)。2000年10月2日,NIST宣布选中了Rijndeal算法,建议作为AES使用,并于2001年正式发布了AES标准。Rijndeal算法是具有分组长度和密钥长度均可变的分组密码,密钥长度和分组长度可独立指定为128比特、192比特或256比特。为了满足AES的要求限定处理分组的大小为128比特,密钥长度为128比特、192比特或256比特,相应的迭代轮数为10轮、12轮、14轮,分别记为AES-128/192/256。Rijndeal算法采用Square结构,每一轮都使用

13、代替和混淆并行地处理整个数据分组,包括3个代替和1个混淆。此处以密钥程度与分组长度均为128比特(此时对应的轮数是10)为例,说明Rijndeal算法的加解密过程。128比特的消息(明文、密文)被分为16个字节,记为:输入分组=m0,m1,m15;同样的密钥分组也如此:k=k0,k1,k15;内部数据结构的表示为一个44矩阵:输入分组=输入密钥=Rijndeal中的轮变换记为Round(State,RoundKey),这里State是轮消息矩阵,可被看成输入或输出;RoundKey是轮密钥矩阵,由输入密钥通过密钥表导出。一轮的完成将改变State的元素的值,即改变State的状态。轮(除了最后

14、一轮)变换由四个不同的变换组成,如下所示。Round(State,RoundKey) SubBytes(State); ShiftRows(State); MixColumns(State); AddRoundKey(State,RoundKey);最后一轮稍有不同,记为FinalRound(State,RoundKey),等于不使用MixColumns函数的Round(State,RoundKey)。论变换是可逆的,以便于解密。相应的逆轮变换记为Round-1(State,RoundKey)和FinalRound-1(State,RoundKey)。SubBytes(State)函数为Sta

15、te的每一个字节x提供了一个非线性代换,任一GF(28)域上的非零字节x被如下变换所代换:y=Ax-1+b;此处A=b=ShiftRows(State)函数在State的每行上运算,对于在第i行的元素,循环左移i个位置。MixColumns(State)函数在State的每列上作用,此处只描述对一列的作用:对于一列(s0,s1,s2,s3)-1,将其表示成3次多项式s(x)=s3x3+s2x2+s1x+s0;对s(x)做如下运算得到d(x)=c(x)s(x)(mod x4+1),其中c(x)=c3x3+c2x2+c1x+c0=03x3 +01x2+01x+02,c(x)的系数是GF(28)域中的元素(以十六进制表示字节)。AddRoundKey(State,RoundKey)函数将RoundKey中的元素和State中的元素进行逐比特的异或操作。解密运算仅仅是在相反的方向反演加密,即运行AddRoundKey(State,RoundKey) -1;MixColumns(State)-1;ShiftRows(State) -1;SubBytes(State) -1;可以看出Rijndeald密码的加解密必须分别使用不同的电路和代码。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1