- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第三章分组密码;3.1概述;不论是数、还是其它信息,经过编码后都变为二进制串,
可称之为数据。如果对其加密,数据就是明文:;;P盒-permutationbox;S盒-substitutionbox。;Feistel结构;分组密码:
多次迭代一个轮函数,同时处理一组明文段。
密钥长度固定,且对不同明文段保持不变。;3.2DES(数据加密标准);L;32Bit!;一共
16轮!;DES的加密函数f:;密钥扩展:;Feistel结构:;;明文M(8bit);(1)如果密钥扩展过程中,
P1=(41768253),
P2=(571842),
Q=(3142),R=(4312),
输入主密钥为
K
求经密钥扩展后的K1和K2。
(2)如果IP=,
f函数如左图所示,
两个S盒见下页。;解:(1)经置换,C1D1=10010101,经P2得K1=001110
C2D2=01100110,经P2得K2=010001。二、DES的特点;三、多重DES;;三重DES:;3.3AES(高级加密标准);15种算法参加第一轮评选,5种进入第二轮:
RC6、Rijndael、Serpent、Twofish、Mars
2000年获胜者是Rijndael算法,是比利时密码设计者所作。;;AES是面向字节的算法:字节为最小单位进行处理。
输入明文分组:128bit=16×8bit=16个字节,
排成4×4的字节数组,称为状态矩阵(StateMatrix);乘以常数字(4字节);AES解密过程:;?;AES中的列混合:;二、AES中的运算;任意分组表示为128bit的二进制串,分为12个字节,每个字节表示为2位十六进制(省略0x),例如:;;1、中的运算(字节运算);?;对于域的乘法,要模一个8次既约多项式m(x),
AES中选取的;?;?;?;更高次的乘法可以通过重复使用xtime()实现。;57?02=xtime(57)=xtime(01010111)=ae
57?04=xtime(ae)=xtime(10101110)=47
57?08=xtime(47)=xtime(01000111)=8e
57?10=xtime(8e)=xtime(10001110)=07
57?13=57?(01⊕02⊕10)=57⊕ae⊕07=fe;例题:求多项式模的逆元。;因为:;?;53的字节代替。二进制为01010011,
表示的域元素为;?;2、系数在的多项式运算(字运算);AES中两个
字相加的含义!;乘法是多项式相乘后,模一??4次多项式,;?;?;?;AES中的列混合:;例题:;AES列混合的性质:
混合前后两列的四个字节之和保持不变。;三、AES的特点;逆S盒;对于AES的攻击:主要利用AES代数结构的特点。
积分分析:通过预测几轮之后的积分值来猜测密钥。
代数攻击:用某种代数方程系统描述S盒。
侧信道攻击:加密中间过程电磁泄漏可能暴露密钥信息。
(sidechannelattack)(差分能量攻击)
;Feistel结构;3.4SM4(我国商用密码算法);;Electronic-CodeBook(ECB):电码本模式
Cipher-BlockChaining(CBC):密码分组链接模式
CipherFeedBack(CFB):密码反馈模式
OutputFeedBack(OFB):输出反馈模式;;但这种模式存在以下问题:
相同明文对应相同密文。;CBC模式(cipherblockchaining);64-j位j位;64-j位j位;64-j位j位;64-j位j位;计数器模式:;习题三:;第三章分组密码
文档评论(0)