分组密码算法发展及安全性研究概要
无线网络机制中分组密码标准安全性分析
无线网络机制中分组密码标准安全性分析作者:刘佳来源:《价值工程》2013年第09期摘要:分组密码算法凭借其在各种软件和硬件平台上的高效率特点,广泛地应用在无线通信系统的安全认证及保密机制中。
本文对几种著名分组密码标准(美国高级加密标准 AES 算法、韩国分组加密标准 SEED 算法、欧洲分组加密标准Camellia 算法和中国商用密码标准SMS4 算法)的安全性进行了分析,通过研究分组密码算法中的非线性结构 S 盒的密码学性质,对比分组密码算法抵抗插入攻击、差分密码分析攻击和线性密码分析攻击的能力,揭示各种算法的安全性。
Abstract: With the characteristics of high efficiency in a variety of software and hardware platforms, block ciphers are widely used in wireless communication systems' security authentication and privacy. A detailed analysis of the cryptographic properties of several well-known block ciphers, such as AES, SEED, Camellia and SMS4, is made in this paper. S-box, which brings nonlinearity to block cipher, is well investigated and the attack capability resisting to insertion attacks, differential cryptanalysis and linear cryptanalysis is also provided. The security of AES,SEED, Camellia and SMS4 is revealed as compared with each other.关键词:分组密码;S盒;布尔函数;差分密码分析攻击;线性密码分析攻击Key words: block cipher;S-boxes;boolean function;differential cryptanalysis attack;linear cryptanalysis attack中图分类号:TP393 文献标识码:A 文章编号:1006-4311(2013)09-0196-040 引言由于无线网络能够使用户真正实现随时、随地、随意地接入网络,无线网络的使用群体在不断地扩大,用户对无线网络的要求也日益提高,例如,终端之间的安全认证、信息的安全传输等。
几个国际标准分组密码算法的安全性分析
几个国际标准分组密码算法的安全性分析分组密码是加解密双方用同一密钥进行加密和解密运算的密码算法,是保障数据机密性与完整性的重要技术。
分组密码的安全性分析有利于发现算法中存在的不足,以确保算法在实际应用中的安全,并指导新的算法设计。
上世纪末,随着美国AES计划[1]、欧洲NESSIE计划[2]和日本CRYPTREC计划[3]的相继实施,对相应标准密码算法的安全性分析被国际密码学者广泛关注,极大地推动了分组密码分析与设计工作的发展。
本文主要对三个国际标准分组密码算法AES、Camellia和CLEFIA的安全性进行分析,提出一些有意义的密码学性质,并与国际上最前沿的分析结果相比得到最优的结果。
1、分组密码AES的安全性分析分组密码Rijndael是由两位比利时密码学者Daemen和Rijmen于1997年设计,并于2000年10月被美国国家标准和技术研究所(NIST)公布为高级加密标准AES (Advanced Encryption Standard)。
之后,AES 被CRYPTREC工程和NESSIE工程推荐,并由国际标准化组织(ISO)选定为国际标准ISO/IEC18033-3。
AES的分组长度为128比特,采用SPN结构,密钥长度有128比特、192比特和256比特三个版本,本文分别用AES-128、AES-192与AES-256表示。
AES的中间相遇攻击是由Demirci和Selcuk于2008年FSE会议上提出[7],他们利用4轮AES区分器给出了7轮AES-192和8轮AES-256的分析结果。
在2010年亚密会上,Dunkelman, Keller和Shamir提出了差分列举技术思想和Multiset技术,有效的减少了Demirci和Selquk攻击的存储和时间复杂度。
同时,利用数据/时间/存储折衷技术给出了7轮AES-128的中间相遇分析结果。
在2013年欧密会上,Derbez, Fouque和Jean利用Hash函数分析中的反弹(Rebound)技术,极大减少了Dunkelman等人攻击的时间和存储复杂度。
分组密码算法sms4的安全性分析
山东大学硕士学位论文恢复攻击。
差分分析的基本方法如下:分组密码算法的S盒是带来算法不均衡性的主要因素,因此首先需要统计出该算法的S盒的差分分布表,这是差分分析的基础。
其次,根据特定的密码的具体密码结构以及上面得到的S盒差分分布表,计算出该算法多轮差分的高概率差分特征及差分特征的概率。
故而可以确定若要保证攻击成功需要选取的明文对的数量。
最后选取适合的明文对使差分是某个选定的值,进行加密流程得到密文,结合特定算法最后一轮的性质,通过分析得到最后一轮密钥或其部分比特的相关信息。
选取足够多的明文对后便可以猜测出最后一轮轮密钥或其部分比特信息,其余若干比特密钥信息可以使用穷搜的方法得到。
对于分组密码的差分分析方法有很多变种和扩展:(1)推广到更一般的情况,包括高阶差分分析【1】、回旋棒攻击[15]、矩阵攻击【16】、截断差分分析、不可能差分分析[9】等;(2)相关密钥模型下的推广,包括密钥(不可能)差分密码分析、相关密钥(回旋棒)矩阵攻击等;(3)差分密码分析与其他分析方法相结合,如差分.线性密码分析、差分故障分析等。
本文主要引入的对SMS4算法的安全分析方法是不可能差分分析方法。
1.1.3不可能差分密码分析概述不可能差分分析的历史可以追溯到1999年,Biham,Biryukov和Shamir共同针对Skipjack分组密码算法提出了不可能差分分析方法[20】。
在此之前,利用不可能事件的思想对分组密码进行分析的方法已经存在,但是99年他们首先提出了不可能差分分析这一概念。
并且系统地描述了不可能差分分析的原理和方法。
不可能差分由于自身的简单有效等特性,一经提出便在密码分析领域得到了广泛的运用。
不可能差分分析方法最初应用于大量的分组密码算法,ffU女DTwofish,IDEA,AES,CRYPTON,MISTY,Camellia,SHACAL和AR队等,经过一段时间的应用,密码学家们更是总结出了利用不可能差分分析一些广泛使用的算法结构的统一方法,例如Rijndael结构和广义Feistel结构。
分组密码发展报告11-15
Ding and J. Yuan, A Family of Skew Hadamard Difference C. Carlet, Comp. Theory,2006 Sets, J. K. Feng, An Infinite Class of Balanced Functions with Optimal
F.
MMB Block Cipher,SAC 2009 W. Zhang, W. Wu, D. Feng. B. Su,Some New Observations on the SMS4 Block Cipher,ISPEC 2009 X. Sun, X. Lai, The Key-Dependent Attack on Block Ciphers, ASIACRYPT 2009
Embedded Systems)
Hardware and
主要侧信道攻击:
计时攻击 能量攻击 错误攻击 电磁攻击 缓存攻击
传统分析方法
分组密码算法和流密码算法的安全性分析
分组密码算法和流密码算法的安全性分析当今是一个网络时代,人们的生活方式与过去相比发生了很大的变化,足不出户就可以通过网络解决衣食住行中的绝大多数需求,例如,用淘宝网购买所需、用支付宝进行日常支付、用电子银行转账等等。
生活变得快捷而又方便。
然而,事物都有两面性,伴随着生活的便捷而来的是财产安全和个人隐私的保障问题。
这时,密码的使用就是在网络上对我们进行保护的一个关键技术点。
它是类似防火墙似的存在,是一切网络活动的基石。
在网络传输时一般使用的是对称加密算法来进行加密操作,如流密码算法和分组密码算法。
因此,对现有的被广泛重视和使用的分组密码算法和流密码算法的安全性进行研究和分析是非常有必要的。
在本文中,首先,我们针对分组密码算法建立统计积分区分器和多结构体统计积分区分器新模型,并将模型应用于实际算法中;其次,基于MILP方法首次将S盒的差分特征和线性特征考虑进不可能差分路线和零相关路线的自动化搜索中,首次给出ARX算法通用的不可能差分路线和零相关路线的自动化搜索方法,并将该方法应用于实际算法中;最后,在相关密钥场景下利用不可能差分方法给出流密码算法Lizard的安全性分析结果。
具体结果如下。
提出分组密码算法统计积分区分模型,并利用该模型理论破解Skipjack变种算法、给出CAST-256的最优攻击结果和IDEA的最优积分攻击结果:积分攻击是对称密码领域最强大的分析方法之一,被广泛的应用于分组密码算法的安全性分析中。
它是基于概率为1的平衡特性来构建区分器。
攻击者可以通过固定输入的一部分比特而遍历剩下的所有比特的可能取值,观察相应的输出值在某些比特上是否为均匀分布来区分真实算法和随机置换。
为了增加积分区分器的覆盖轮数,攻击者通常会在整个明文空间的限制条件下以特定的结构来遍历更多的明文比特以使得平衡特性依然成立。
然而这一要求限制了积分攻击在很多算法分析中的应用。
在本文中,为降低积分分析中使用的数据复杂度,我们基于超几何分布和多项分布为算法和随机置换构造不同的概率分布来进行区分,从而构建了统计积分这一新模型。
分组密码
密码类型
01 研究历史
03 设计分析
目录
02 研究内容 04 设计原则
05 AES征集
07 技术总结
目录
06 算法要求
分组密码(block cipher)的数学模型是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为 n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
研究历史
现代分组密码的研究始于 丰硕的研究成果。
对于分组密码,在早期的研究,基本上是围绕DES进行的,推出了一些类似的算法,例如:LOKI,FEAL, GOST等。进入20世纪90年代,人们对DES算法研究更加深入,特别是差分密码分析(differential cryptanalysis)和线性密码分析(linear cryptanalysis)的提出,迫使人们不得不研究新的密码结构。 IDEA密码打破了DES类密码的垄断局面,随后出现了SQUARE、SHARK、SAFER-64等采用了结构非常清晰的代替— 置换(SP)网络,每一轮由混淆层和扩散层组成,从理论上给出了最大差分特征概率和最佳线性逼近优势的界, 证明了密码对差分密码分析和线性密码分析的安全性。
谢谢观看
1997年-2000年,AES的征集掀起了分组密码研究的新高潮,15个AES候选算法反映了当前分组密码设计的水 平,也可以说是近几年研究成果的一个汇总。
目前分组密码所采用的整体结构可分为Feistel结构(例如CAST—256、DEAL、DFC、E2等)、SP网络(例如 Safer+、Serpent等)及其他密码结构(例如Frog和HPC)。加解密相似是Feistel型密码的一个实现优点,但它 在密码的扩散似乎有些慢,例如需要两轮才能改变输入的每一个比特。SP的网络结构非常清晰,S被称为混淆层 (非线性层),主要起混淆作用。P被称为扩散层,主要起扩散作用。
分组加密算法的研究与实现
南京邮电大学毕业设计(论文)题目分组加密算法的研究与实现专业信息与计算科学学生姓名班级学号指导教师评阅教师指导单位日期:年月日至年月日毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。
除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。
对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。
论文作者签名:日期:年月日摘要随着信息化技术的广泛应用和深入发展,信息安全越来越受到人们的高度关注,已成为影响国家安全、经济发展、社会稳定的重要因素。
作为信息安全的核心之一的加密技术也越来越重要,加密算法的好坏也决定信息的安全性。
分组密码是现代密码学的重要体制之一,具有加密速度快、安全性好、易于标准化等特点,广泛地应用于数据的保密传输、加密存储等场合。
在研究分组密码的基础上,本文对AES和DES两种算法进行研究。
主要内容如下:1.对分组密码进行分析。
2.对AES和DES两种加密算法详细分析。
3.根据两种加密算法,用Visual C++编写加密软件,并对软件进行测试。
关键词:分组密码;AES;DES;ABSTRACTWith the wide application and further development of information technology, information security has attracted more and more attention.It has become an important factor to influence national security, economic development, social stability. As one of the core of information security encryption technology become more and more important, the quality of the encryption algorithm also determines the security of information.Block cipher is one of the important institutional of the modern cryptography,it has a fast encryption speed,security,easy standardization and other characteristics,widely used in the confidentiality of data transmission,encrypted storage and other occasions.On the basis of the study of block cipher,this thesis conducts the research to AES and DES.The main contents are as follows:1. Analysis for the block cipher.2.A detailed analysis for two encryption algorithms of AES and DES.3. According to two encryption algorithm, using Visual C + + to write encryption software, and testing the software.Key words:block cipher;AES;DES;目录第一章分组密码的原理 (1)1.1分组密码概述 (1)1.2分组密码的设计原则 (1)1.2.1针对安全性的一般设计原则 (1)1.2.2针对实现的设计原则 (2)1.3 分组密码常见的设计方法和原理 (2)1.4分组密码的工作模式 (3)1.4.1电子密码本ECB (3)1.4.2密文块链接CBC (4)1.4.3密文反馈模式CFB (4)1.4.4输出反馈模式OFB (5)1.5常见的分组加密算法 (6)1.5.1 DES (6)1.5.2 AES (6)1.5.3 IDEA算法 (6)1.5.4 RC6算法 (6)1.5.5 Skipjack算法 (7)1.5.6 Camellia算法 (7)第二章DES加密算法 (8)2.1 DES的产生背景 (8)2.2 DES的基本结构 (8)2.3 DES的初始置换和逆初始置换 (9)2.4 DES的F函数 (11)2.4.1扩展置换 (11)2.4.2代换盒 (11)2.4.3置换运算 (13)2.5 DES的密钥生成 (14)第三章 AES加密算法 (15)3.1 AES的产生背景 (16)3.2 AES的基本结构 (16)3.3 AES加密 (18)3.3.1字节代换 (18)3.3.2行移位 (19)3.3.3列混合 (20)3.3.4轮密钥加 (21)3.3.5密钥扩展 (21)3.4 AES的解密 (22)第四章加密软件设计 (24)4.1 DES加密软件设计 (24)4.1.1开发平台 (24)4.1.2功能要求 (24)4.1.3主要模块设计 (24)4.1.4软件界面 (28)4.2 AES加密软件设计 (29)4.2.1开发平台 (29)4.2.2功能要求 (29)4.2.3主要模块设计 (29)4.2.4软件界面 (34)结束语 (35)致谢 (36)参考文献 (37)第一章分组密码的原理1.1分组密码概述分组密码是对称密码的一种,是密码系统中最重要的组成部分。
分组密码算法的安全性分析
分组密码算法的安全性分析虽然早在1949年Shannon就提出了现代分组密码算法设计所遵循的两大安全性准则——混淆(Confusion)与扩散(Diffusion),但是现代分组密码算法的研究却真正开始于20世纪70年代中期,以数据加密标准DES的颁布为标志。
20世纪90年代差分分析、线性分析等分析方法的出现以及计算能力的突飞猛进,促使美国和欧洲分别开始了AES以及NESSIE工程。
这些征集工作极大地推动了分组密码算法的设计与分析理论的发展。
由于差分分析与线性分析的有效性,种种基于这两种分析方法的新的分析模型被逐渐引入到分组密码算法分析领域。
差分分析关注密码算法中出现的差分值的高概率传播现象并围绕此特性构建模型进行密钥恢复攻击。
作为差分分析的衍生方法,不可能差分从另一个角度关注算法结构:利用算法中不可能出现的差分(概率为0)来排除错误的密钥猜测(正确密钥下不可能出现的差分)。
由于不可能差分在对诸多算法的分析中取得的显著成果,以及线性分析与差分分析的相似性(都是基于算法结构中出现的高概率事件进行密钥恢复),线性领域中类似于不可能差分这样强有力的分析工具的存在性成为值得考量的问题。
2012年,Bogdanov与Rijmen提出的零相关线性分析的概念(Zero-Correlation Linear Cryptanalysis)开启了这个方向的研究。
线性分析依赖于分组密码算法中存在的具有高概率偏差的线性逼近(或者线性壳),而零相关线性分析则从另一个角度入手,依赖于分组密码算法中存在的相关度为零(偏差为零)的线性逼近。
Bogdanov和Rijmen展示了如何利用算法中存在零相关线性逼近进行密钥恢复攻击。
然而对于高数据复杂度的需求极大的限制了零相关线性分析的应用。
借鉴多重线性分析的思想,FSE 2012上Bogdanov和Wang利用大量零相关线性逼近,提出用区分统计分布的形式进行密钥恢复的新模型——多重零相关线性分析。
分组密码算法的研究与实现概要
第33卷第6期成都理工大学学报(自然科学版Vol. 33No. 62006年12月JOURNAL OF CHEN G DU UNIV ERSITY OF TECHNOLO GY (Science&Technology EditionDec. 2006[文章编号]167129727(2006 0620640205[收稿日期]2005211208[作者简介]孙旭(1956- , 男, 副教授, 从事计算机网络的教学与科研工作.孙旭(61005932DES 算法效率低的弊端, 提出了利用Rijn 2。
该算法采用block 结构和S 2盒采用有限域GF (28 中的乘, 提高了安全性和效率。
大量的测试结果表明, 该算法与其他分组密码算法相比更安全、效率更高等特点。
该文给出了DES 算法的数学表达式。
[关键词]分组加密算法;DES ; 密钥;Rijndael [分类号]TP393[文献标识码]A1分组密码算法的理论基础(1 混乱和扩散技术:分组密码算法利用Shannon 提出的混乱和扩散两种技术来隐蔽明文消息中的冗余度。
混乱可隐藏明文、密文和密钥之间的任何关系。
扩散就是把单个明文位或密钥位的影响尽可能扩大到更多的密文中去。
(2 乘积密码(product cip her :在一个密码中以不同的组合方式多次混合扩散和混乱。
(3 SP (代替2置换网络:由代替和置换层构成的分组密码。
(4 Feistel 网络:大多数分组算法都是Feis 2tel 网络[1], 即取一个长度为n (n 为偶数的分组,然后把它分成长度为n/2的L 和R 两半部分。
可以定义一个迭代型的分组密码算法, 其第i 轮的输出取决于前一轮的输出:L i =R i-1R i =L i-1 f (R i-1, K i并且肯定满足:L i-1 f (R i-1, K if (R i-1, K i =L i-1, 即保证了可逆性, 这就使得加密和解密用同一个算法。
分组密码 (2)
I4
⊙
输入:
4个16bit子串: I1 , I 2 , I3 , I4 6个16bit子密钥: Z1 , Z2 , Z3 , Z4 , Z5 , Z6
Z2
⊞
⊙
⊞ ⊞
⊙
⊙
Z4 Z3
Z5
输出: 4个16bit子 串
O 1 , O2 , O3 , O4
⊞
Z6
O1 O2
2015-5-2
O3 O4
2015-5-2
RC5解密
解密也是很容易的,把密 文分>>>是循环右移
2015-5-2
BlowFish算法
BlowFish算法用来加密64Bit长度的字符串。 BlowFish算法使用两个“盒”——unsignedlongpbox[18] 和unsignedlongsbox[4,256]。 BlowFish算法中,有一个核心加密函数:BF_En。该函数输 入64位信息,运算后,以64位密文的形式输出。 用BlowFish算法加密信息,需要两个过程:
K1 K6 K7 K12
W11 W12 W13 W14 第2轮 W21 W22 W23 W24 … Y1 W71 W72 W73 W74 第8轮 W81 W82 W83 W84 输出变换 Y2 Y3 Y4 … … …
K43 K48 K49 K52
… …
密文: Y(64bit)
8轮迭代
Z1
I1
I2
I3
2015-5-2
对于密钥扩展的过程如下: (1)将128bit的密钥作为EK的前8byte
(2)将前8byte循环左移25bit,得到下一8byte, 将这个过程循环7次 (3)在第7次循环时,取前4byte作为EK的最后 4byte
分组密码的结构与安全性研究
分组密码的结构与安全性研究分组密码是现代密码学中最核心的研究方向之一。
由于其加解密速度快、便于软硬件实现而且容易标准化,分组密码被广泛应用到各个领域的信息安全保障中,在实现数据加密,构造消息认证码、流密码、哈希函数及伪随机数生成器等诸多方面都起到了重要的作用。
近年来不断涌现出各种分组密码算法,它们中的一些还将投入到正式使用中,因此,对其安全性的分析和评估显得更加重要。
随着分组密码研究的不断深入及计算机技术的发展,各类设计方法和分析方法也不断地得到改进和提升。
差分分析和线性分析都是针对DES的安全性分析提出的,几乎对所有的分组密码都可以应用,设计新的分组密码算法时,也都会考虑能够抵抗这两种分析方法的水平。
多数分组密码的设计采用的是轮函数迭代多轮的形式,马尔可夫密码理论是研究这种迭代密码抵抗差分分析和线性分析能力的重要理论基础。
不可能差分分析是在差分分析基础上的扩展,已被用来攻击多种分组密码算法并取得良好的结果。
本文中,我们主要对不可能差分分析和马尔可夫密码理论进行研究。
不可能差分分析方面,不可能差分特征的存在性是不可能差分分析的核心,我们针对ARIA密码算法和类MARS结构进行不可能差分特征的搜索与构造;马尔可夫密码理论方面,我们研究了第二大特征值的估算方法和理论在实际密钥扩展算法下的适用性。
我们的主要成果如下:1.初次将UID方法应用到SPN结构的分组密码算法上。
我们在UID通用搜索方法的基础之上做了一些改进,对ARIA所有的明文差分和密文差分对进行搜索与判断,最终得到了89 136个长为四轮的不可能差分特征,包含了所有先前的四轮不可能差分特征结果。
发现并证明了使用UID方法不能找到ARIA四轮以上的不可能差分特征。
2.类MARS结构是在MARS密码核的基础上定义的一种广义Feistel结构,其轮变换中一个子块将会影响到其他所有子块。
我们针对一种(被异或到其他子块的)轮函数输出相同的类MARS结构,用UID实例来表示明文、密文和中间状态的差分,构造不可能差分特征。
分组密码学
分组密码以及安全性研究1引言分组密码是对称密码学的一个重要分支,在信息安全领域发挥着极其重要的作用,其研究的主要内容包括分组密码的设计和分析这两个既相互对立又相互统一的方面。
一方面,针对已有的密码分析手段,密码设计者总希望设计出可以抵抗所有已知攻击的密码算法;另一方面,对已有的密码算法,密码分析者总希望可以找到算法的某些安全缺陷。
这两方面的研究共同推进了分组密码理论的发展。
2 分组密码2.1概念分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。
分组密码的研究包括三方面:分组密码的设计原理,分组密码的安全性分析和分组密码的统计性能测试。
2.2内容目前对分组密码安全性的讨论主要包括差分密码分析、线性密码分析和强力攻击等。
从理论上讲,差分密码分析和线性密码分析是目前攻击分组密码的最有效的方法,而从实际上说,强力攻击是攻击分组密码最可靠的方法。
到目前为止,已有大量文献讨论各种分组密码的安全性。
与序列密码每次加密处理数据流的一位或一个字节不同,分组密码处理的单位是一组明文,即将明文消息编码后的数字序列m0,m1,m2,…,mi划分成长为L位的组m=(m0,m1,m2,…,mL-1),各个长为L的分组分别在密钥k=(k0,k1,k2,…,kt-1)(密钥长为t)的控制下变换成与明文组等长的一组密文输出数字序列c=(c0,c1,c2,…,cL-1)。
L通常为64或128。
设明文m与密文c均为二进制0、1数字序列,它们的每一个分量mi,ciεDF(2)(i=0,1,2,…,n-1),则明文空间为{0,1,…,2n-1},密文空间也为0,1,…,2n-1},分组密码是由密钥k=(k0,k1,k2,…,kt-1)确定的一个一一映射,也就是空间{0,1,…,2n-1},到自身的一个置换F,由于置换F是由密钥k所确定,一般地,我们把这个置换表示为C=Fk(m)。
简述分组密码算法的要求及采用的方法
一、分组密码算法的要求分组密码算法是一种广泛应用于数据加密和保护的密码算法,其要求具有以下特点:1. 安全性:分组密码算法需要保证加密后的数据在没有密钥的情况下不容易被解密,即具有高度的安全性,能够抵御各种攻击手段。
2. 效率:除了安全性之外,分组密码算法在加密和解密过程中需要具有较高的运算效率,不会过多消耗计算资源。
3. 可逆性:加密后的数据需要能够通过相应的密钥进行解密,还原原始的明文数据。
4. 弹性:分组密码算法需要能够根据不同的应用场景和需求,灵活地使用不同的密钥长度和数据块大小。
5. 抗攻击能力:分组密码算法需要能够抵御不同类型的攻击,如差分攻击、线性攻击、差分攻击等。
二、采用的方法为了满足上述要求,分组密码算法采用了以下方法来保证安全性和效率:1. 替代与置换:分组密码算法中常常采用替代与置换的方法,通过将明文数据进行替代和置换,从而混淆数据的结构,在密文中隐藏原始信息。
2. 数据扩散:通过多轮的置换和替代操作,将明文数据扩散到密文的不同位置,增加了攻击者破解的难度。
3. 密钥调度:分组密码算法通过密钥调度算法,将密钥的信息混淆、扩散到整个加密过程,增加了密码算法的强度。
4. 轮函数:分组密码算法通常采用多轮加密的方式,每一轮通过不同的轮函数进行替代、置换和扩散操作,增加了密码算法的复杂度和混淆程度。
5. 非线性变换:在分组密码算法中,使用非线性函数进行变换操作,增加了密码算法的复杂性和难度,提高了安全性。
分组密码算法在满足安全性、效率、可逆性、弹性和抗攻击能力等要求的基础上,采用替代与置换、数据扩散、密钥调度、轮函数和非线性变换等方法来保证加密过程的安全性和有效性。
随着密码学和计算机技术的不断发展,分组密码算法也在不断完善和改进,以适应不同的应用需求和安全标准。
分组密码算法是数据加密领域的一个非常重要的分支,它是许多安全通信协议和系统中必不可少的核心部分。
而实现一个安全可靠的分组密码算法并不是一件容易的事情,它需要满足一系列严格的要求和采用一系列复杂的方法。
几个轻量级分组密码算法的安全性分析
几个轻量级分组密码算法的安全性分析随着信息技术的飞速发展,密码学作为保障信息安全的核心技术,在现代信息安全领域中发挥着越来越重要的作用。
分组密码作为现代密码学的一个重要分支,其研究内容主要包括分组密码设计和分析两个方面。
一方面,密码设计人员的目标是设计出能够抵抗所有已知攻击的安全强度高的密码算法,而另一方面,密码分析者是在努力寻找密码算法的安全性漏洞和破译密码算法的攻击方法。
这两方面的研究相互促进,共同推动了分组密码理论的发展。
随着物联网的发展,RFID芯片和无线传感网络等微型计算设备的应用越来越广泛,在给人们的生活带来了极大便利的同时,如何确保了这类资源受限设备上信息的安全性,越来越引起密码学家的重视。
为了适应物联网上所使用的微型计算设备资源受限的特点,设计既具有低功耗和低资源占用又满足所需要的安全性要求的轻量级分组密码算法应运而生。
例如TWINE,PRESENT,LED,LBlock,SIMON 和 SPECK 等。
由于轻量级分组密码的设计目标是力求寻找安全性与执行性能的最佳折衷,然而在受限环境下运行的密码算法受资源条件约束,算法的安全性必然会受到一定影响,因此对轻量级密码算法的安全性评估显得尤为重要。
2005年,王小云教授提出了模差分比特分析方法和消息修改技术,破解了MD系列Hash函数,引起了 Hash函数研究的新高潮。
在分组密码研究中,因为密钥是未知的,不能直接运用消息修改技术。
分组密码中带密钥的比特条件方程如何求解?对于该困难问题,我们提出了动态密钥猜测的技术,取得了两项重要成果。
第一,我们充分研究密码算法中非线性运算的异或差分特性,提出基于比特的动态密钥猜测技术,极大地降低了猜测密钥的空间。
第二,对4比特S盒的差分特性进行了详细的分析,提出基于半字节运算的密钥猜测技术求解条件方程,降低攻击的复杂度。
使用该方法对轻量级分组密码算法SIMON和LBlock进行安全性评估,主要研究成果简要介绍如下:· SIMON族分组密码算法的动态密钥猜测差分分析SIMON算法是美国国家安全局(NSA)于2013年提出的一族分组密码算法,其设计思路是使之在硬件上有较高的性能。
分组密码简单研究
2 分组密码的原理2.1 分组密码概述分组密码是对称密码的一种,是密码系统中最重要的组成部分。
分组密码除了能够加密数据,也可以作为核心算法应用在其他密码技术中,如构造伪随机数生成器、流密码、认证码和散列函数;分组密码也是消息认证技术、数据完整性机制、实体认证协议及数字签名方案的核心算法。
分组密码是将明文分成固定长度的组,如64位一组,用同一密钥和算法对每一块分组加密,输出固定长度的密文。
分组密码加密函数实际上是从n位明文块到n位密文块之间的映射。
通常记Ek 为密钥为k时的加密函数,称Ek的逆函数为密钥为k时的解密函数,记为Dk。
分组密码的数学模型如图2.1所示。
图2.1 分组密码的数学模型分组密码具有速度快、易于标准化和便于软硬件实现等特点。
通常是信息与网络安全中实现数据加密和认证的核心体制,它在计算机通信和信息系统安全领域有着最广泛的应用。
2.2 分组密码的设计原则a. 针对安全性的一般设计原则分组长度和密钥长度:当明文分组长度为n位时,至多需要2n个明文-密文对就彻底破解了密码。
当密钥长度为n位时,对一个截获的密文,至多需要试验2n个密钥就破解了该密文。
因此从安全性角度来考虑,明文分组长度和密钥长度尽可能大。
扰乱原则:又称混淆原则,是指人们所设计的密码应使得密钥和明文以及密文之间的信赖关系相当复杂以至于这种依赖性对密码分析者来说是无法利用的。
扩散原则:人们所设计的密码应使得密钥的每一位影响密文的许多位以防止对密钥进行逐段破译,因而明文的每一位也应影响密文的许多位以便隐蔽明文的统计特性。
b. 针对实现的设计原则软件实现的设计原则:使用子块和简单的运算。
密码运算在子块上进行,要求子块的长度能自然地适应软件编程。
在软件实现中,移位置换,是难于实现的,因此应尽量避免使用它,子块所进行的密码运算应该是一些易于软件实现的。
硬件实现的设计原则:加密和解密的相似性,即加密和解密过程应该仅仅在密钥的使用方式不同,以便同样的器件既可以加密又可以解密。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分组密码算法发展及安全性研究高彩云中国矿业大学计算机学院,江苏徐州 (221116E-mail:摘要:分组密码一直以来都是人们普遍使用的密码体制,其典型代表为DES ,但DES 的安全性很脆弱,在实际应用中,人们通常使用扩展的三重DES 。
AES 作为新的,高级加密标准,其设计的基本要求就是比三重DES 快并且至少与三重DES 一样安全。
关键词:分组密码;DES ;三重DES ;AES ;安全性1. 引言数据加密作为一项基本技术是所有通信安全的基石。
数据加密过程是由形形色色的加密算法来具体实施,它以很小的代价提供很大的安全保护。
在多数情况下,数据加密是保证信息机密性的唯一方法。
据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。
如果按照收发双方密钥是否相同来分类,可以将这些加密算法分为私钥密码算法和公钥密码算法,而分组密码算法属于私钥密码算法。
粗略地讲,分组密码是用一个固定的变换对一个比较大的明文数组进行操作。
2. 分组密码算法发展分组密码即对明文进行加密时,首先需要对明文进行分组,每组的长度都不相同,然后对每组明文分别加密得到等长的密文。
分组加密算法的特点是加密密钥与解密密钥相同。
分组加密算法主要有DES (数据加密标准),AES (高级加密标准)。
2.1 DES 数据加密算法DES 算法是由IBM 公司的W. TuChMan 和 C. Meyer 开发,并由美国国家标准局于1977年1月15日正式发布实施的数据加密标准。
[1]DES 利用56比特串长度的密钥K 来加密长度为64位的明文,得到长度为64位的密文。
其主要流程如图1:图1 DES迭代流程图图2 DES获取子密钥流程图由四个部分组成:1. 初始置换函数IP : X 0 = IP(M = L 0R 0;2.获取子密钥K i :流程图如图2所示,其中第1、2、9、16轮是循环左移1位,其余轮是循环左移2位;3.计算函数F :F 函数由扩展置换(E、异或、S 盒替代和P 盒置换组成,可表示为f (R i -1 , Ki = P (S (E (R i -1 ⊕ K i ;4.末置换函数IP -1:C = IP -1(R 16L 1616次迭代可表示为:L i := Ri -1R i := Li -1 ⊕ f (R i -1 , K i ,i = 1, 2, …, 162.2 多重DES为提高DES 的安全性能,并充分利用有关DES 的现有软件和硬件资源,可以使用多重DES 。
多重DES 就是是用多个密钥利用DES 对明文进行多次加密。
使用多重DES 可以增加密钥量,从而大大提高抵抗对密钥的穷举搜索攻击的能力。
(1)双重DES设K 1和K 2是两个长度为56为的密钥,给定明文M ,则密文为C = Ek2(Ek1(M。
其模型为:图3 双重DES 模型如果对于任意两个56为的密钥K 1和K 2,都存在一个56位的密钥K 3,使得DES K2(DES K1(M ))=DESK3(M ),则双重DES 就等价于是用一个56位的单重DES 。
在这种情况下,双重DES 以及任意多重DES 都没有任何实际价值,因为它们不仅没有提高安全性能,反而增加了计算量。
幸运的是,已经证明双重DES并不等价于是用一个56位密钥的单重DES 。
(2)三重DES设K 1,K 2,K 3是三个长度为56位的密钥。
给定明文M ,则密文为C=DESK3(DESK2-1(DESK1(M,其模型为:M图4 三重DES 模型在三重DES 中,如果K 1=K2或K 2=K3,则三重DES 就退化为使用一个56位密钥的单重DES 。
在三重DES 的中间一步采用解密形式的目的仅仅是为了可以和用三重DES 对单重DES 加密的数据进行解密。
2.3 AES 高级加密标准1997年4月15日美国国家标准技术研究所NIST 发起征集AES 算法的活动,目的是为了确定一个安全性能更好的分组密码算法用于取代DES 。
在众多参加算法中,比利时密码专家Joan DaeMen和VinCent RijMen提出的“Rijndael数据加密算法”[2]最终获胜。
“Rijndael数据加密算法”成为高级加密标准AES 。
2001年11月26日,NIST 正式公布高级加密标准AES ,并于2002年5月26日正式生效。
AES 被设计为支持128/192/256 bit (/32=Nb 数据块大小,128/192/256 bit(/32=Nk 密钥长度,在10进制里,对应3.4×1038、6.2×1057、1.1×1077个密钥。
AES 的迭代次数N r ,分组长度N b ,与密钥长度N k 的关系如表1:表1 AES的迭代次数N r 与密钥长度N k 的关系图密钥长度(N k 个字)分组长度(N b 个字)迭代次数(N r 个字)AES中,各种运算是以字节为单位来进行处理,分组长度为128位,分为16个字节,按顺序排列为4×4的矩阵。
每一轮迭代都经历字节代替变换SubBytes(,行移位变换ShiftRows(,列混合变换MixColuMns(,和圈密钥加法变换AddRoundKey(。
需要注意的是第一轮迭代之先进行一个AddRoundKey(,最后一轮迭代只进行SubBytes(,ShiftRows(和AddRoundKey(。
字节代替变换是一个关于字节的可逆非线性变换,包括有限域GF (28)上的求逆运算和有限域GF (2)上的放射运算。
可以通过查字节代替表来完成字节代替变换;行移位变换对一个状态的每一行循环左移不同的位移量。
第0行不移位,第一行循环左移1个字节,第二行循环左移2个字节,第三行循环左移3个字节;列混合变换对一个状态逐列进行变换,它将一个状态的每一列视为有限域GF(28 上的一个多项式,并与固定多项式a(x={03}x3+{01}x2+{01}x+{02}相乘后模x 4+1。
圈密钥加法变换将一个圈密钥按位异或到一个状态上,圈密钥的长度为4个字节,圈密钥按顺序取自扩展密钥。
扩展密钥是由原始密钥经过扩展后得到的。
AES 流程图如图5:图5 AES迭代流程图 3. 分组密码算法安全性3.1 DESDES 的安全性主要集中在(1)DES 的密钥长度( 56 位)可能太小;(2)DES 的迭代次数可能太少;(3)S 盒中可能有不安全因素;(4)DES 的一些关键部分不应当保密;(5)DES 的密钥中存在弱密钥,半弱密钥和互补密钥。
3.2 双重DES双重DES 无法抵抗中途相遇攻击,设K 1和K 2是两个长度为56位的密钥,C=DESK2(DESK1(M, 则显然有DES K1(M=DESK2-1(C。
假设明文M 以及与之对应的C 已知,密钥K 1和K 2未知。
现在我们来利用中途相遇攻击的方法找到正确的K 1和K 2。
首先,用所有256个可能的密钥K1’对M 进行加密,得到256各密文C’,将所有的(K 1’,C’)按C’从小到大或从大到小的顺序排成一个表L 。
然后,用每一个可能的密钥K 2’对C 进行解密得到C’’,在表L 中查找C’’。
满足C’’= C’的(K 1’,C’)和(K 1’,C’’)可能有很多。
因此,当C’’= C’时,再选择一个明文M’以及对应的密文C1,检验C1=DESK2’(DESK1’(M’是否成立。
如果上式成立,则我们就接受K 1’和K 2’为正确的K 1和K 2.3.3 三重DES三重DES 可抵抗中途相遇攻击,可以很好的抗穷举攻击,使用3个不同的密钥,密钥将达到 168位,安全性是很好的(目前没有什么密码分析方法可以不使用穷举密钥来攻击DES )。
但3重DES 使用不同的3个密钥会增加你系统秘钥管理的负担, 软件实现的效率低(每个分组作3次DES 变换,DES 变换的设计初衷本来就是方便用硬件实现),只支持64位分组(对大量数据来说,分组太小了)。
3.4 AESAES 对密钥的选取没有任何限制,每轮常数的不同消除了密钥的对称性,密钥扩展的非线性消除了相同密钥的可能性,加解密使用不同的变换,消除了在DES 里出现的弱密钥和半弱密钥存在的可能性。
能有效地抵抗密钥已知的攻击方法的攻击,目前最有效的攻击还是穷尽密钥搜索攻击。
4. 总结分组密码的安全性主要依赖于密钥,通过某个置换来实现对明文分组的加密变换。
为了保证密码算法的安全强度,对密码算法应有如下要求:(1)分组长度足够大。
当分组长度较小时,分组密码类似于古典的代替密码,它仍然保留了明文的统计信息,这种统计信息将给攻击者留下可乘之机,攻击者可以有效地穷举明文空间,得到密码变换本身。
(2)密钥量足够大。
分组密码的密钥所确定密码变换只是所有置换中极小一部分。
如果这一部分足够小,攻击者可以有效地穷举明文空间所确定所有的置换。
这时,攻击者就可以对密文进行解密,以得到有意义的明文。
(3)密码变换足够复杂。
使攻击者除了穷举法以外,找不到其他快捷的破译方法。
对于分组密码算法中的DES 和AES ,在应用方面,尽管DES 在安全上是脆弱的,但由于快速DES 芯片的大量生产,使得DES 仍能暂时继续使用,为提高安全强度,通常使用独立密钥的三级DES 。
但是DES 迟早要被AES 代替。
而随着密码技术,破译技术的发展,AES 的安全性也会受到质疑,分组密码会经受更多的考验。
参考文献[1] Douglas R. Stinson. Cryptography theory and praCtiCe[M]. seCond edition. Beijing: Publishing house of eleCtroniCs industry, 2002.[2] Joan Daemen, Vincent Rijmen. AES Proposal: Rijndael,1998Cipher algorithm development and security researchGAO CaiyunSchool of Computer Science and Technology, China University of Mining and Technology.Xuzhou, Jiangsu ( 221116AbstractCipher has been the widespread use as cryptography, the typical representative is DES, but the safety of DES is very fragile, so in practical application, people often use itsexpansion -the Triple DES. AES as a new, Advanced Encryption Standard, the basic requirement for its design is faster than Triple DES and it should at least the same security as Triple DES.。