SM4算法、AES算法、DES算法三种分组密码的基础分析

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SM4算法、AES算法、DES算法三种分组密码的基础分析

 分组密码当中代表性的SM4算法、AES算法、DES算法在计算机和通信系统中起着重要的实际作用,每一种的算法都会有其独有的一份结构,讲解起来其实每一种都有很大的一个篇幅。在这里主要是把这几种密码算法放在一起做一个简单的分析,也可以通过了解每一种算法来比较一下三者之间的差别。

那么,我们就通过了解SM4算法、AES算法、DES算法这几种有代表性的近代分组密码来讨论一下分组密码的基本理论及其在计算机和通信系统中的实际应用。

1、SM4算法

SM4密码算法是一个分组算法,其算法设计简沽,结构有特点,安全高效。数据分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法均采取32轮迭代结构。SM4密码算法以字节8位和字节32位作为单位进行数据处理。SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

SM4密码算法结构

SM4算法的基本内容有以下几方面:

基本运算:SM4密码算法使用模2加和循环移位作为基本运算。

基本密码部件:SM4密码算法使用了S盒、非线性变换τ、线性变换部件L、合成变换T基本密码部件。

轮函数:SM4密码算法采用对基本轮函数进行迭代的结构。利用上述基本密码部件,便可构成轮函数。SM4密码算法的轮函数是一种以字为处理单位的密码函数。

加密算法:SM4密码算法是一个分组算法。数据分组长度为128比特,密钥长度为128比特。加密算法采用32轮迭代结构,每轮使用一个轮密钥。

解密算法:SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮密铝的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

密钥扩展算法:SM4密码算法使用128位的加密密钥,并采用32轮法代加密结构,每一轮加密使用一个32位的轮密钥,共使用32个轮密钥。因此需要使用密钥扩展算法,从加密密钥产生出32个轮密钥。

SM4的安全性:SM4密码算法经过我国专业密码机构的充分分析测试,可以抵抗差分攻击、线性攻击等现有攻击,因此是安全的。

2、AES算法

2000年10月2日美国政府正式宣布选中比利时密码学家JoanDaemen和VincentRijmen提出的一种密码算法RJNDAEL作为AES,目前AES己经被一些国际标准化组织ISO,IETF,IEEE802.11等采纳作为标准。RIJNDAEL算法之所以能够最终被选为AES的原因是其安全、性能好、效率高、实用、灵活。RIJNDAEL算法是一个数据块长度和密钥长度都可变的分组加密算法,其数据块长度和密钥长度都可独立地选定为大于等于128位且小于等于256位的32位的任意倍数。

RIJNDAEL算法结构图

AES算法的基本内容有以下几方面:

状态:在RIJNDAEL算法中,加解密要经过多次数据变换操作,每一次变换操作产生一个中间结果,称这个中间结果叫做状态。各种不向的密码变换都是对状态进行的。

轮函数:RIJNDAEL加密算法的轮函数采用代替置换网络结构SP结构,由S盒变换ByteSub、行移位变换ShiftRow、列混合变换MixColumn、圈密钥加变换AddRoundKey组成。

圈密钥产生算法:圈密钥根据圈密钥产生算法由用户密钥产生得到,圈密钥产生分两步进行:密钥扩展和圈密钥选择。

加密算法:RIJNDAEL加密算法由一个初始圈密钥加、Nr-l圈的标准轮函数、最后一圈的非标准轮函数组成。

解密算法:RIJNDAEL算法不是对合运算,因此RIJNDAEL的解密算法与加密算法不同。由于RIJNDAEL设计得非常巧妙,使得我们只要略稍改变一下密钥扩展策略,便可以得到等价的解密算法,等价解密算法的结构与加密算法的结构相同,从而方便了工程实现。等价解密算法中的变换为加密算法中相应变换的逆变换。

RIJNDEAEL的安全性:RIJNDEAEL算法的安全设计策略是宽轨迹策略WideTrai1Strategy,具有很高的安全性,能有效抵抗自前己知的攻击,如线性攻击、插值攻击、差分攻击和相关密钥攻击等。RIJNDEAEL的数据块长度和密钥长度都可变,因此能够适应不同的安全应用环境。

3、DES算法

DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。DES综合用了置换、代替、代数等多种密码技术。它设计精巧、实现容易、使用方便,堪称是适应计算机环境的近代传统密码的一个典范。设计DES的目标是用于加密保护静态存储和传输信道中的数据,安全使用1O~15年。

DES算法整体结构

DES算法的基本内容有以下几方面:

DES的加密过程。

子密钥的产生:64位密钥经过置换选择1、循环左移、置换选择2等变换,产生出16个48位长的子密钥。

初始置换IP:初始置换IP是DES的第一步密码变换。初始置换的作用在于将64位明文打乱重排,并分成左右两半。

加密函数f:加密函数f是DES的核心部分,由选择运算E,代替函数组S和置换运算P组成。

逆初始重换IP-1:逆初始置换IP-1是初始置换凹的逆置换。它把第十六次加密迭代的结果打乱重排,形成64位密文。至此,加密过程完全结束。

DES的解密过程:由于DES的运算是对和运算,所以解密和加密可共用同一个运算,只是子密钥使用的顺序不同。

DES的安全性:几十年来的应用实践证明了DES作为商用密码,用于其设计目标是安全的。DES在总的方面是极其成功的,但同时也不可避免地存在着密钥较短、存在弱密钥等弱点和不足。

三重DES:3DES即可以使用三个密钥,也可以使用两个密钥。它有三个显著的优点:首先它的密钥长度是168位,完全能够抵抗穷举攻击;其次是相当安全,该加密算法比任何其他加密算法受到分析的时间都要长;其三,由于3DES的底层加密算法与DES相同,所以许多现有的DES软硬件产品都能方便地实现3DES,因此使用方便。

SM4算法、AES算法、DES算法这三种分组密码各有各的不同,但作为分组密码在计算机系统中都有广泛的应用,学习了之后我们便可理解并讨论它们的基本理论及其在计算机和通信系统中的实际应用。

这里的分组密码中各种密码算法是属于信息安全工程师教程中的其中一点内容,想要学习这方面知识的同学们可以前往课课家教育平台:信息安全工程师视频教程

辽宁11选5

AV10492到底是什么啊?sm666呢?最好有图解,实在是不懂?

av10492:日本有个宗教组织(正常宗教学会,但是风评不太好)叫创价学会,因为会长发表过";二次元无用论";而遭到了n站死宅们的围攻

于是就有人用该教的各种宣传视频作为素材做了很多恶搞视频,从意义不明的猎奇动画到音mad(你可以理解为一种类似中国的鬼畜的艺术形式,不过实际区别挺大的)都有

av10492就是转载了n站那边的几个比较猎奇的创价恶搞视频

顺带一提,现在在b站看到别人做的创价音mad不要跟风刷10492,那样是对作者的不尊重

至于sm666就只是某个youtube用户名为nana825763的爱好人偶和蚂蚁的(猎奇)艺术家做的动画而已,并没有什么恐怖的传说这个作者的作品很多都有影射现实的意味在里面,不过sm666想表达什么看不太懂呢

和女朋友聊天话题大全,让你不再苦于没有话题

女朋友是一个文静的女孩,每次出去都不知道和女朋友聊什么,常常是有上句没下句,两个人干坐着微笑非常尴尬。和女朋友可以聊什么?为什么和女朋友聊天的时候经常尴尬?和女生聊天常常有上句没下句?今天小编为大家带来和女朋友聊天话题大全,让你不再苦于没有话题。

1、生活琐事你喜欢吃什么?为什么喜欢吃这种口味的东西呢?

如果你有500万,你会去做什么?

如果可以选择城市,你最希望住在哪个城市?为什么?

最近读了什么书?有没有特别喜欢的作者?最喜欢他什么书?

你人生中做过最让你印象深刻的事情是什么?

相关文档
最新文档