APP下载

SHA-256算法的安全性分析

2014-09-23何润民

电子设计工程 2014年3期
关键词:密码学攻击者差分

何润民,马 俊

(陕西工业职业技术学院 基础部,陕西 咸阳 712000)

SHA-256算法的安全性分析

何润民,马 俊

(陕西工业职业技术学院 基础部,陕西 咸阳 712000)

现有算法MD5、SHA-1等的相继破译,严重威胁到SHA-256、SAH-384等算法的安全性。本文介绍了SHA-256的算法逻辑及压缩函数的构造,探讨了生日攻击碰撞阈值和攻击步骤,分析了SHA-256在生日攻击下的安全性。通过对Chabaud-Joux攻击SHA-256的分析,找到了一个部分碰撞,其复杂度为 ,却无法找到SHA-256的一个整体碰撞。所以,在抵抗生日攻击和抵御现有差分攻击方面,SHA-256比MD5和SHA-1等具有更高的安全性。

Hash 函数;SAH-256;生日攻击;差分攻击

单向Hash 函数(也称杂凑函数)是密码学和信息安全领域中的一个非常重要的基本算法,它把任意长的消息转化为较短的、固定长度的消息摘要的算法。

SHA 安全加密标准,是至今国际上使用最为广泛的较为安全的压缩算法之一,由美国NIST和NSA两个组织共同开发的,此算法于1993年5月11日被美国NIST和NSA设定为加密标准。为了提高Hash函数的安全性能,陆续发布了改进的Hash密码算法SHA-1、SHA-224、SHA-256、SHA-384及SHA-512[1]等。但随着2004年中国密码专家王小云教授研究小组宣布对MD5、SHA-1[2]等加密算法的破解,随着密码学研究的不断深入和计算机技术的快速发展,美国政府计划从2010年起不再使用SHA-1,全面推广使用SHA-256、SHA-384和SHA-512等加密算法。由此可见,为了适应更高的信息安全需要,今后几年人们对SHA-2系列的研究将更为积极深入。

1 SHA-256算法

SHA-256算法使用了一组6个逻辑函数及一组常数 Kt,采用512比特的消息块,每一个消息块xi分成16个32比特的字M0,M1,…, M15下面简要给出SHA-256值的计算过程。

1)初始化;

3)用每一轮的散列值的中间结果初始化8个工作变量A、B、C、D、E、F、G、H。初始定义由H0(0)~H7

(7)给出。

5)每个分组的中间散列值的计算方法:

算法中使用了6个逻辑函数:

2 SHA-256的安全性分析

Hash函数的安全性很大程度上取决于抗强碰撞的能力,即攻击者找出两个涓息M和 M'(M≠M'),使得H(M)=HM' 。因此,评价一个Hash函数的安全性,就是看攻击者在现有的条件下,是否能找到该函数的一对碰撞。目前已有的对Hash函数攻击的方法包括生日攻击、彩虹表攻击、差分攻击等 。下面主要讨论SHA-256在生日攻击和差分攻击下的安全性。

2.1 生日攻击

生日攻击是一种可用于攻击任何类型Hash函数的攻击方法。从攻击原理上看,它没有利用Hash函数的结构和任何代数弱性质,只依赖于Hash值的长度。因此,抵御生日攻击最有效的方法是Hash值必须有足够的长度。

2.1.1 生日攻击的知识基础

生日悖论表明:在任意抽取的k个人中,至少出现两个人生日相同的概率大于0.5时,k的最小值是多少?假定在365天中每个人生日出现的概率是相同的,那么两个人生日相同的概率为;

通过计算,当k=23时P(365,23)=0.507 3 ,即在任意抽取的23人中,可能有两个人生日相同的概率超过0.5,当k=100时,出现两个人生日相同的概率将超过0.999 997。通过计算可看出,当任意抽取的人数k确定时,出现至少有两个人生日相同的概率比想象的要大得多。

将生日悖论推广到Hash函数的碰撞攻击中,假设Hash函数的输出值均匀分布,消息摘要的位数为m比特,则Hash值有n=2m种可能的输出,任选k(k≤n)个随机输入,则至少有一个碰撞的概率为:

根据上面计算可知,如果Hash函数有m比特的输出摘要,那么只需进行k=2m/2次尝试,就会有一个碰撞产生的概率至少为50%。

2.1.2 SHA-256在生日攻击下的安全性

生日攻击步骤:

发送方用私钥对256位的Hash值加密,并将加密结果附于消息之后一并提交给接收者,攻击者可按如下步骤实施攻击:

1)攻击者生成出消息M的2128种不同的消息变形,每一种消息变形都与原消息M具有相同的含义,同时攻击者再伪造一个假冒的消息M',并对假冒的消息生成出 2128个不同消息,其目的是试图用假冒的消息替代真实消息。

2)比较上述两个集合,找出具有相同Hash值的一对消息Mi和M'j,依照生日悖论原理,攻击者找到碰撞的概率大于0.5。如果没找到,则重新伪造一个消息,并生成 2128个变形,直至找到碰撞为止。

3)攻击者将消息Mi(与伪造消息M'j有相同Hash值)提交给A请求签名,后将该签名连同伪造消息M'j一起发送给接收者。

表1 常用Hash函数的碰撞阈值Tab.1 Common threshold value of collision for the Hash function

2.2 差分攻击

差分攻击是目前破译迭代Hash函数最有效的手法之一,其基本方法是利用明文的输入差值对输出差值的影响,运用差分的高概率的继承或者消除来产生最终的相同输出。2004年以来,随着我国密码专家王小云利用差分攻击和明文修改技术对MD5、SHA-1等进行了破译,人们对SHA-256、SHA-384等的安全性研究将成为今后一个时期新的热点。2005年Biryukon和Yoshida从差分入手在34步以内找到了SHA-256的一个变种的伪碰撞 。2003年Handschuh和Gilbert 利用Chabaud-Joux 攻击,给出了SHA-256的一个9步迭代差分方法,理论上得到了SHA-256的一个部分碰撞,给出了部分碰撞复杂度为266[6-7],并证明了SHA-256可抵御Chabaud-Joux攻击。以下是利用Chabaud-Joux对SHA-256实施攻击的描述:

3 结 论

用于消息唯一性和数据完整性验证的Hash函数,其安全性依赖于函数本身的属性和对碰撞的抵抗。Hash函数的算法结构特点和Hash值的长度是决定函数抗碰撞性的主要因素,Hash值越长,越能抵御生日攻击。SHA-256有256比特Hash值,MD5和SHA-1分别有128和160比特的Hash值。因此,SHA-256比MD5和SHA-1能抵抗生日攻击。通过对Chabaud-Joux攻击SHA-256的分析,找到了SHA-256的一个部分碰撞,其复杂度为 266,但无法找到SHA-256的一个整体碰撞,因此,SHA-256也能抵御现有的差分攻击。由此可见,在抵抗生日攻击和抵御已知差分攻击方面,SHA-256比现在广泛使用的MD5和SHA-1等更具安全性。

[1] FIPS 180-1.Secure hash standard[S].NIST,US Department of Commerce.Washington D C:Springer-Verlag,1996.

[2] Hsu W H,Tung M C,W u L Y.An integrated end to-end QoS anycast routing on DiffServ net works[J].Computer Commun cations.2007,30(6):1406-1418.

[3] 葛辉.一种256位hash函数算法[J].大众科技,2005,5 (57):107-108.

GE Hui. A kind of 256 bit Hash function algorithm[J].Popular Science & Technology, 2005,5(57):107-108.

[4] 黄月江,祝世雄.信息安全与保密[M].北京:国防工业出版社,2008.

[5] 杨晓元,魏立线.计算机密码学[M].西安:西安交通大学出版社,2007.

[6] GLBERT H,HANDSCHUH H.Security analys is of SHA-256 and sisters [C] // Selected Areas in Cryptography'03, Lecture Notes inComputer Science,2003,(3006):175-193.

[7] Chabaud F,Joux A,Differential collisions in SHA -0[C] // Advances in Crypyology-CRYPYO'98,Lecture Notes in com puter Science,1998,(1462):56-71.

[8] YOSH DA H,BRYUKOV A. Analysis of a SHA-256 variant [C]//Selected Areas in Cryptography (SAC2005),Kingston On tario,2005:245-260.

Analysis safety of SHA-256 algorithm

HE Run-min, MA Jun
(Department of Basic,Shaanxi Polytechnic Insitiute, Xianyang ,712000,China)

Existing algorithms MD5, SHA-1 etc. have been deciphered,itis a serious threat to the SHA-256, SAH-384 algorithms such as security. This article describes the SHA-256 algorithm logic and structure of the compression function, explores the collision threshold birthday attack and attack procedures, and analyzesthe security of SHA-256 in birthday attack security.After analysis Chabaud-Joux attack by the SHA-256 analysis,that it find a part of the collision, its complexity is , but it could not find a whole SHA-256 collisions. So, in the resistance birthday attack and defend against the existing differential attacks, so SHA-256 has higher security than MD5 、SHA-1 and so on.

Hash function; SAH-256; birthday attack; differential attack

TN701

A

1674-6236(2014)03-0031-03

2013–06–08 稿件编号:201306052

何润民(1961—),男,陕西户县人,硕士,副教授。研究方向:密码理论与网路安全 。

猜你喜欢

密码学攻击者差分
RLW-KdV方程的紧致有限差分格式
机动能力受限的目标-攻击-防御定性微分对策
数列与差分
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
正面迎接批判
密码学课程教学中的“破”与“立”
应用型本科高校密码学课程教学方法探究
有限次重复博弈下的网络攻击行为研究
基于差分隐私的大数据隐私保护
相对差分单项测距△DOR