欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
MBA论文
当前位置:首页 > MBA论文
对 Raviyoyla v1 的实际伪造攻击
来源:一起赢论文网     日期:2015-06-20     浏览数:3127     【 字体:

    随着移动互联网的兴起和大数据时代的来临,人们迫切需要安全高效的认证密码算法。2013 年,在 NIST 的赞助下, Bernstein 等人发起了名为 CAESAR 的认证密码竞选。 对竞选算法的安全性评估已成为当前对称密码学领域的热点问题。Raviyoyla v1 是提交到 CAESAR 第一轮竞选的候选算法之一。 它是建立在 eStream 计划的候选算法 MAG v2 基础上的流密码算法,并采用带密钥的杂凑函数进行认证。虽然设计者声称 Raviyoyla v1 具有 128 比特的完整性,但是本文成功地构造了一种针对 Raviyoyla v1 的实际伪造攻击,从而说明该算法是极不安全的。具体地,通过在明文消息中引入特殊形式的差分,攻击者能够使算法的内部状态在输出认证标签时没有差分。而且,这种差分并不局限于某些具体值,从而可以利用同一个消息得到多个伪造。理论分析表明,该形式的差分有超过 0.307143 的概率使得内部状态发生碰撞。因此,平均而言只需要大约三次试验即可成功地进行伪造。特别地,若将差分限定到一些特殊值上,成功概率非常接近 1。单机实验结果显示,攻击者能够在几秒钟之内成功地进行伪造。 尽管设计者针对上述攻击提出了一种可能的改进方案, 但文章的进一步分析表明改进并不是本质的,修改后的算法仍然不能抵抗基于差分的伪造攻击。针对设计者提出的各种可能的修正,本文都给出了实际可行的攻击。实验证实,这些攻击具有很高的成功概率且在单机上只需花费几秒钟的时间。文章最后列举了所有可能的情形下的伪造示例。据我们所知,公开文献中尚无对 Raviyoyla v1 及其改进版的认证部分的分析,因此本文对 CAESAR 竞选有重要意义。

关键词  CAESARRaviyoyla v1;伪造攻击;差分分析

1 引言

加密和认证是密码学的两大重要课题。尽管在过去二十年里,NESSIE 计划 eStream 计划 已经成功地选出了很多优秀的密码算法,而且已有不少认证模式被提出,但是随着移动互联网的兴起和大数据时代的来临,人们迫切需要更加安全、高效的认证密码算法。由于认证模式通常采用分组密码作为内部的随机置换,其效率显然没有直接将加密和认证设计为一体的认证密码算法高。这很大程度上也制约了 HTTPS 等密码协议的运用。2013 年,在 NIST 的赞助下,Bernstein 等人发起了名为 CAESAR 的算法竞选 。竞选旨在选出比 AES-GCM 更加高效的、且具有广泛的适应性的认证密码算法。

截止目前,共有 57 个算法被提交到第一轮的竞选当中,其中 9 个算法因为设计缺陷被撤回。从密码学会议近期收录的文章(ASIACRYPT 2014上发表的对COBRAPOET的伪造攻击[1]SAC 2014 上发表的对 AEGIS 的线性分析[2] PAES 的伪造攻击和区分攻击[3]INDOCRYPT 2014 上发表的对 FASER128/256 Trivia-ck 的线性区分攻击[4] NSS 2014 上发表的对 Sablier 的猜测确定攻击[5] CANS 2014 上发表的对 PANDA 的伪造攻击[6])可以看出,对CAESAR 竞选算法的安全性评估已然成为对称密码学领域的热点问题。Raviyoyla v1 是提交到 CAESAR 第一轮的竞选算法之一。它由异或流密码和带密钥杂凑函数的组成,采用数组作为内部数据结构,类似于eStream MAG v2

  Raviyoyla v1 采用的运算都是简单的 CPU 指令,其软件效率非常高,加密速度远远超过 AES[7]。而且,它还可以通过多个处理器进行并行运算。因而,如果它是安全的,则将会是一个有力的竞选算法。最后,其设计者声称算法具有 128 比特的消息完整性和相关数据完整性。Raviyoyla v1 算法提交后不久,Samuel Neves给出了一个密钥流区分器 ,但 Raviyoyla v1 的认证部分的安全性仍然有待评估。本文主要研究了Raviyoyla v1 及其改进版的认证部分的差分性质,并在此基础上构造了单一询问的实际伪造攻击。差分性质反映了算法的混淆和扩散效果,是差分分析的基础。如果能够找到高概率的差分路径,则很容易通过修改消息的方法进行伪造攻击。事实上,作为密码分析的一种重要手段和认证安全的主要威胁,差分分析已经被成功地应用于 MD5 SHA-1 等杂凑函数的攻击当中, 例如:[8, 9]。针对 Raviyoyla v1 的分析表明,在两次明文吸取的间隔中,算法的混淆效果非常差。具体地,如果在消息的两个字中引入差分,则该差分有很高的概率只能传播到有限的几个数组元素中。利用后续的消息,攻击者可以很容易地抵消这些差分。对于随机选取的差分值,有超过0.307143 的概率会发生这种现象,进而攻击者只需三次尝试即可成功一次。利用差分值的自由度,攻击者甚至可以对一个询问进行多个伪造。特别地,将差分限定到一些特殊值上,伪造成功的概率接近于 1。单机实验证实,攻击者只需几秒即可攻击成功。作为示例,文中给出了一个消息的多个伪造。尽管设计者针对上述攻击提出了一种改进方案,但进一步分析发现这种改进并不是本质的。

对设计者提出的各种可能的改进(因为设计者对于改进的描述不是很清晰) 本文都进行了详细地分析并构造出实际可行的伪造攻击。通过单机实验,本文对每种情形下的成功概率进行了估计,且给出相应的伪造示例。因此,Raviyoyla v1 的改进版仍然不能抵抗基于差分的伪造攻击。文章的最后对如何抵抗差分分析进行探讨。文章的结构如下:第 2 节介绍本文涉及的一些概念和记号,并概述了 Raviyoyla v1 的结构;第 3 节介绍本文的攻击思路、攻击过程,并详细分析攻击的成功概率;第 4 节探讨对改进版的攻击及其成功概率;第 5 节对文章进行总结并探讨进一步的改进方案。

2 基本介绍

2.1 消息认证码和安全性定义一般认为,机密性保护就是密码算法的全部目标。但事实上,完整性保护可能比机密性保护更加重要,且机密性保护无法提供完整性保护。机密性保护使得消息不会泄露给未授权的接收方;完整性保护则保证了消息不会受到未授权的篡改。不妨假设消息中包含银行转账金额或账号,若接收者无法检测到来自未授权的第三方的篡改,则他很可能会因此蒙受巨大的经济损失。记 M 为发送的消息, M为接收的消息。若MM ,则完整性保护要求接收者能够检测出M是经过篡改的。 (如图 1 所示)为了达到这个目的,发送方通常会在发送M的同时, 附上由消息认证码生成的标签 tag 相应地, 接收方需要检测接收到的 Mtag 是否满足特定的要求, 然后决定相应的操作。 (如图 2 所示)形式上,消息认证码包含三个算法:密钥生成算法 标签生成算法 MAC 和确定性的认证算法 VF 。但实际上,标签生成算法和认证算法通常是一样的(即,先对 M 调用标签生成算法得到tag  ,然后检查 tagtag  是否相同) ,所以只需定义标签生成算法即可。为了抵抗所有可能的敌手,标准的伪造攻击模型假设敌手拥有标签生成算法和认证算法的问答机(如图 3 所示) ,于是消息认证码的安全性按照如下方式进行定义。定义 1  . ( , , )  MAC VF   是消息认证码, A 是敌手。考虑如下实验实验. (A)uf cmaExp.随机选取 K  运行( ),VF ( )K KMACA  A 构造出 ( , ) M tag 使得1) 认证问答机返回合法2)  A 没有向 MAC 询问过 M 的标签, 且没有向 VF 询问过 ( , ) M tag 是否合法则,返回成功;否则,返回失败。于是, A uf cma 优势定义为Pr{Exp (A) (A) } 返回真uf uf cma cmaAdv 简而言之,如果敌手能够构造出未经询问的的合法的( , ) M tag 则伪造成功。 敌手成功概率越高,则敌手的uf cma 优势越大,消息认证码的安全性越低。

2.2 CAESAR 竞选目前,消息认证码大都通过分组密码结合认证模式生成。尽管其安全性已经得到证明,但随着人们对效率的要求越来越高,对认证加密算法的需求也变得越来越迫切。CAESAR 竞选旨在选出比 AES-GCM 更加高效的、且具有广泛的适应性的认证密码算法。此外,CAESAR 竞选提出了两个新的概念作为算法的输入,分别是相关数据和秘密向量。相关数据类似于消息,但不要求完整性;秘密向量类似于公开向量,且要求能够保密。显然,相关数据可以用于一些公开参数的设定。但是,秘密向量的用途则不太明确,因此并没有得到广泛的支持。表1总结了CAESAR竞选对各个输入的安全性要求。以下用 ad 表示相关数据,且不考虑秘密向量(因为 Raviyoyla v1 不支持秘密向量)。数组下标从 0 开始计数,1[ , , ]ja i i 表示从1i ji 的数组元素,也即1[ [ , ], ]ja a i i 。若1[ ] [ ]ja i a i x    则将其简记为1 ,, [ ]ji a i x   表示异或,b bb   表示 b ' b 之间的差分。

2.3 Raviyoyla v1 概述Raviyoyla v1 由一个流密码和带密钥的杂凑函数构成的同步流密码(即,密钥流的生成与消息无关) ,其密钥长度和 IV 长度均为 256 比特,标签长度为 512 比特。设计者声称它对明文具有256 比特机密性保护和 128 比特完整性保护,且对相关数据和公开向量具有 128 比特完整性保护。目前,公开文献中尚无对 Raviyoyla v1 的认证部分的安全性分析,包括设计文档。Raviyoyla v1 首先将密钥流与消息进行异或加密,然后将密文打入内部状态进行认证,最后输出标签。其中使用的流密码类似于 eStream 计划的候选算法 MAG v2,都是基于数组结构的。数组大小为 1028,元素大小为 64 比特。算法的大致流程如图 4 所示。由于本文的攻击不涉及密钥流生成,故只介绍认证相关的部分。更多细节参见算法的设计文档6 。分别用 adlen mlen 表示相关数据和消息的长度(以 64 比特为基本单位),则图 4 中加入相关数据和密文的过程由如下的 C 代码  定义。1:for(i = 0; i < adlen * 8; ++i){// 加入相关数据2:((char*)song)[i % 2048] ^= ((char const*)ad)[i];3:if(i % 2047 == 0 && i > 0){// 混淆4:revolve_all(song, 256, &carry);5:}6:}7:for(j = 0; i < (adlen + mlen) * 8; ++i, ++j){// 加入密文8:((char*)song)[i % 2048] ^= (char const*)c[j];9:if(i % 2047 == 0){// 混淆10:revolve_all(song, 256, &carry);11:}12:}13:if(i % 2047 > 0){// 混淆14:revolve_all(song, 256, &carry);15:}16:evolve(song, 256);其中 revolve_all 函数定义为17:void revolve_all(uint64_t *song, int elen, uint64_t*carry){18:for(int i = 0; i < elen; ++i){19:if(song[(i + 2) % elen] > song[(i + 3) % elen]){20:*carry ^= song[(i + 1) % elen];21:}else{22:*carry ^= ~song[(i + 1) % elen];23:}24:song[i] ^= *carry;25:}26:}注: Raviyoyla v1 设计文档中的实现6, 7 是有问题的:在输出若干个字节后密钥流全为零。附录 A给出了将问题修复之后的代码。幸运地是,除了具体的伪造不一样以外,本文的攻击方法对两种实现都适用。

3 Raviyoyla v1 的伪造攻击

3.1 基本思想由算法流程可以看出,设计者试图利用revolve_all 函数进行混淆,以使标签的每个比特都依赖于相关数据和消息。因为 revolve_al 函数使用的操作均受 CPU 指令的支持, 所以它拥有很高的软件实现效率。 不幸的是,revolve_al 函数过于简单,远没有达到应有的混淆效果。事实上,revolve_all 的非线性操作只有IF-ELSE 语句。因此,如果不考虑 IF-ELSE 语句或者 IF-ELSE 语句总是选择同样的分支进行操作,则 songcarry 与相关数据、密文之间的关系完全是线性的。在这种情况下,由密文(或相关数据) 引入的差分的传播路径将很容易被预测,进而被后续的差分抵消。又设攻击者已经构造出合适的密文差分,由于 Raviyoyla v1 是一种异或流密码,攻击者很容易从一次询问伪造出新的消息:只需将密文差分异或到原消息当中。虽然比较运算依赖于变量的所有比特,且在随机情形下为真和假的概率都为½,但它对不同比特的依赖性差异很大。显然,比较运算对高位的比特更敏感。因此,如果攻击者将状态的差分限制到低位上,则比较运算的结果很可能是一样的,即:当', ' b a a a b b      很小时,比较运算 a b 的结果和 ' ' a b 的结果很可能相同。下面介绍具体的攻击过程。

3.2 攻击过程本节将给出一种单一询问的伪造攻击。假设( , , ) M v ad m 是攻击者向标签生成算法的问答机询问的一条数据, ( , , ) M v ad m     是攻击者伪造的消息(其中 v 表示公开向量, , ad ad表示相关数据, , m m表示消息) ,则它们之间的差分为', ' ad ad ad m m m      考虑 0 adlen 0 ad   (也即没有相关消息或相关消息没有差分)的情形。因为代码段第 1~6行不涉及明文或密文,故对差分的传播没有影响。若 m 只在 4, 5, 256 + 3, 256 + 4, 256 + 5 上不为 0 ,且[4,5,256 3,256 4,256 5] 0 m        m ' m 的密文之间的差分为    由代码第 8 行可知,当 0 2047 i   时(注意:song 是以 64 比特字为单位,而 C 代码是以 8 比特字节为单位,所以此时只有 2048 / 8 256 个密文被异或到 song 当中)有[4,5] [4,5] '[4,5] song song song     又此时 0mod2047 i ,代码进入第 20 行,并调用 revolve_all 函数。因为 song 0, 1, 2, 3 上没有差分,故 0 i 时,两个消息在第 19 行的比较结果相同。若 1,2,3 i 时,第 19 行的比较结果也相同,则易知 revolve_all 函数返回时有[3,4,5]' 0songcarry carry carry     从而运行至第 16 行时有 0 song c     ,进而两个消息有同样的标签, ( , , , ) v ad c c tag   有一定的概率是合法的(其中 c m 对应的密文)。图5 展示了该差分的传播路径。

3.3 成功概率显然,只要 3.2 节中的假设  [ 2] [ 3]'[ 2] '[ 3] , 1,2,3song i song isong i song i i      (1)成立,则攻击可以成功。定理 1. [3,4,5,6], song 独立均匀同分布,则 (1) 成立的概率为 0.307143 。证明 . 见附录 B 。证毕 .因为 (1) 只是攻击成功的一个充分条件,为了得到更准确的成功概率,我们利用如下的算法 1进行实验验证。算法 1 . 估计成功概率输入:N(样本数量)输出:成功概率cnt = 0FOR(i = 0; i < N; ++i){随机生成 Raviyoyla v1 的参数加密一个长度为 262 的随机消息随机生成 δ,并修改消息用同样的参数加密新消息IF(两个消息的标签相同){++cnt}}RETURN cnt/N实验显示,真实的成功概率确实比 0.307143 略大。而且对一些特殊的 ,成功概率可接近于 1(附录 C 给出了不同的 对应的成功概率) 。显然,如果选取适当的 k l ,并将差分引入m 的如下位置256 ,256 1,256( 1) 1,256( 1) ,256( 1) 1,k l k lk lk l k l        则攻击仍然有效。又因为加入相关消息和加入密文的过程类似,如果将差分引入相关消息的相应位置,则也可进行类似的攻击。最后,表 2 给出上述攻击得到的伪造示例,其中,310, 262[0, ,31 ,31 ] [0, ] [0, ] 0adlen mlenk v m      k 为密钥,且每个实现都给出了 3 个伪造(分别对应于不同的 寻找这些伪造所花费的时间可忽略,内存为   1 O

4 对改进版的伪造攻击

4.1 改进方案尽管设计者在网上论坛  中给出了针对上述攻击的改进方案(注意其中的 state 在本文中为song :“The  remedy  would  be  changingrevolve_all’ indexing procedure. Instead oftaking index from the loop counter, the nextindex of array element for processing isderived from previous element mod 256.That looks j = state[j] % 256 (of courseloop counter for revolve all is now k). The jis initialized to zero and is not reinitializedafterwards. This tweak will be implementedon the first opportunity available.”但其根本缺陷仍然存在。鉴于作者给出的改进方案不是特别明确(即哪些地方的下标需要修改) ,在后续的讨论中,我们将作出如下几个假设。A. 若代码第 19 行被修改,则修改为19:if(song[(j + 2) % elen] > song[(j + 3) %elen]){ B. 若代码第 20 行被修改,则修改为20:*carry ^= song[(j + 1) % elen];C. 若代码第 22 行被修改,则修改为22:*carry ^= ~song[(j + 1) % elen];D. 若代码第 24 行被修改,则修改为24:song[j] ^= *carry;E. 20 行被修改当且仅当第 22 行被修改F. j 的初始值为 0 且在第 18 行和第 19 行之间进行更新,更新方式为18.5:j = song[j] % elen;4.2 攻击过程类似 3.2 节,考虑没有相关消息或相关消息没有差分的情形。4.2.1 20 22 行不改变时此时 revolve_all 函数定义如下,其中 ', " i i 根据修改的具体情形等于 i j 17:void revolve_all(uint64_t *song, int elen,uint64_t *carry){18:for(int i = 0, j = 0; i < elen; ++i){18.5:j = song[j] % elen;19:if(song[(i + 2) % elen] > song[(i + 3) %elen]){20:*carry ^= song[(i + 1) % elen];21:}else{22:*carry ^= ~song[(i + 1) % elen];23:}24:song[i] ^= *carry;25:}26:}对较小的 满足 0mod elen   m 只在 254,255, 256 + pos , 256 + 254, 256 + 255 处不为 0 (其中 pos 待定),且254,255,256 ,256 254,256 255mpos      则密文差分为     由代码第 8 行可知,当 0 2047 i   [254,255] song   紧接着调用 revolve_all 函数。由[ ] [ ] mod song j song j elen    (2)可知  m ' m revolve_all 函数中的 j 在不同时刻的值总是相同的,故 j 不受差分影响。若在第 19 行时,{251,252, 3 ' 25 } i IF-ELSE 分支可能会受到差分 的影响。 显然,不论 ' i 等于 i 还是 j ,都不会有太多的 ' i 落入该集合。具体地,若 i i ,则恰好 3 次;若 i j 且服从独立均匀分布,则发生 n 次的概率为1 256( ) n 。但即便发生这样的情形,由定理 1 可知,比较结果也很可能不受差分的影响。对较小的 ,这个概率更高。总之,对 m ' m IF-ELSE 分支的比较结果有很大的概率是相同的。令 pos 253 i 时,第 24 行代码中 " i 的值。综上所述,当 revolve_all 函数返回时,下式有很高的概率成立[ ,254,255] , 0 song pos carry     故,在加入余下的密文后,状态的差分为零。进而,得到同样的标签。若 " i j ,则 pos 的值是未知的。但 2 5 0 5 pos   ,故攻击者可以穷搜可能的值。总之, pos 的值是很容易确定的。4.2.2 20 22 行改变时此时 revolve_all 函数定义为17:void revolve_all(uint64_t *song, int elen,uint64_t *carry){18:for(int i = 0, j = 0; i < elen; ++i){18.5:j = song[j] % elen;19:if(song[(i + 2) % elen] > song[(i + 3) %elen]){20:*carry ^= song[(j + 1) % elen]; 21:}else{22:*carry ^= ~song[(j + 1) % elen];23:}24:song[i] ^= *carry;25:}26:}其中 ', " i i 根据修改的具体情形等于 i j 。事实上, 在这种情形下算法抵抗差分分析的能力更弱。令 m 只在 255 256+255 处不为 0 [255,256 255] 0mod m elen      4.2.1 节可知, j 不受差分的影响。 [255] song从未被异或到 carry (即 j 不取 254 则差分不会扩散到其它单元。 故当 revolve_all 函数返回时,差分只存在于 [255] song 。进而在加入余下的密文后,状态的差分为 0 。若 j 服从独立均匀分布,则概率为256255 2516( ) e   ,故该事件有很高的概率会发生。此外,如果 0mod elen   ,该攻击仍可能成功。这是因为 j song[j] % elen 进行更新,很可能永远不会等于 254 ,从而不受差分影响。若第19 行的 IF-ELSE 语句也不受差分影响, carry 不受差分影响。

4.2 成功概率由于可能的改进方案较多,因而为每种情形都推导其成功概率将会非常复杂和繁琐。故本文只对上述攻击实验估计其成功概率和代价。算法2 是实验所使用的伪代码。显然,其消耗的内存是   1 O 。又单机实验表明攻击所需的时间为几秒,因而攻击是实际可行的且时间代价可忽略。表 3 给出了在不同情形下伪造成功的概率,伪造示例见附录 D 。算法 2 . 改进版的成功概率输入:N(样本数量)输出:成功概率δ = 0000000000000100(十六进制)cnt = 0FOR(i = 0; i < N; ++i){随机生成 Raviyoyla v1 改进版的参数加密一个长度为 512 的随机消息修改消息(若 pos 未知,则重复以下过程,直至 pos 0 遍历到 255)用同样的参数加密新消息IF(两个消息的标签相同){++cnt}}RETURN cnt/N

5 结语

本文研究了 CAESAR 第一轮竞选算法 Raviyoyla v1 及其改进版的认证部分的差分性质,并利用其中存在的弱点构造伪造攻击。Raviyoyla v1 在认证时的混淆操作主要由revolve_all 函数完成, 但由于它采用的操作过于简单,导致其在密文差分尚未完全扩散的情形下就加入下一段密文。理论分析表明,对于文中构造的特殊形式的差分,其成立的概率至少为0.307143 对于特定的差分值, 概率甚至接近于 1

实验结果显示,攻击者能够在几秒之内成功地进行伪造。利用差分的自由度,攻击者还可以对一个消息构造多个伪造。作为示例,本文给出了一些伪造示例。尽管设计者针对上述攻击提出了改进方案,但其根本缺陷仍未得到修正。对于可能的改进,本文均给出了实际可行的高概率伪造攻击,且时间复杂度可忽略。因而, Raviyoyla v1 远不是一个安全的认证流密码。由于上述攻击并不涉及密钥流生成,下面讨论认证部分的两种可能的改进。考虑到相关消息和密文的相似性,这里只考虑密文差分。– 如果设计者坚持将密文异或到整个 song ,则应当在充分混淆之后再加入下一段密文。设第一段密文的差分为 ,则经过混淆之后它传播到任意差分的概率应该小于等于1282 (假设 0 carry   。否则,存在   使得128Pr( ) ' 2     选取下一段密文的差分为   ,则差分有可能被抵消。此时,攻击复杂度小于1282 。若混淆之后 0 carry   ,适当修改下一段消息的差分即可。– 将密文异或到 song 的部分位置,采用海绵( sponge )结构  进行认证。具体地,可以使用杂凑函数 Keccak 15 进行认证。若存在 , m m使得标签相同,相应的, c c会导致 Keccak 的碰撞。从目前 Keccak 的分析结果来看,这不太可能。事实上,因为在加入下一段密文之前必须充分混淆以降低差分概率, Raviyoyla v1 采用的先加密后认证的方式在效率上难以提高。作为认证加密算法,应该采用自然认证(密钥流依赖于消息)或边加密边认证的方式(参考 Grain 128a[10] Sablier 16

    [1] Nandi Mridul. Forging attacks on two authenticated encryptionschemes COBRA and POET. //Proceedings of the Advances inCryptology – ASIACRYPT. Kaoshiung, Taiwan, China, 2014:126–140[2] Minaud Brice. Linear biases in AEGIS keystream. //Proceedings ofthe Selected Areas in Cryptography -- SAC. Montreal, QC, Canada,2014: 290–305[3] Jean Jérémy, Nikolić Ivica, Sasaki Yu, et al. Practical cryptanalysis ofPAES. //Proceedings of the Selected Areas in Cryptography -- SAC.Montreal, QC, Canada, 2014: 228–242[4] Xu Chao and Zhang Bin. Linear cryptanalysis of FASER128/256 andTrivia-ck. //Proceedings of the Progress in Cryptology --INDOCRYPT. New Delhi, India, 2014: 237–254[5] Feng X. and Zhang. F. Cryptanalysis on the authenticated cipherSablier. //Proceedings of the Network and System Security. Xi’an,China, 2014: 198–208[6] Sasaki Yu and Wang Lei. Message Extension Attack againstAuthenticated Encryptions: Application to PANDA. //Proceedings ofthe Cryptology and Network Security -- CANS. Heraklion, Crete,Greece, 2014: 82–97[7] Daemen Joan and Rijmen Vincent. The Design of Rijndael: AES - TheAdvanced Encryption Standard. New York: Springer Science &Business Media, 2002[8] Wang Xiaoyun and Yu Hongbo. How to break MD5 and other hashfunctions. //Proceedings of the Advances in Cryptology –EUROCRYPT. Aarhus, Denmark, 2005: 19–35[9] Wang Xiaoyun, Yin Yiqun Lisa and Yu Hongbo. Finding collisions inthe full SHA-1. //Proceedings of the Advances in Cryptology –CRYPTO. Santa Barbara, California, USA, 2005: 17–36[10] Agren Martin, Hell Martin, Johansson Thomas, et al. Grain-128a: anew version of Grain-128 with optional authentication. InternationalJournal of Wireless and Mobile Computing, 2011, 5(1): 48–59

[返回]
上一篇:基于未来负载预测的无线异构网络自适应负载均衡算法
下一篇:考虑多水源的灌区水文干旱预警系统及其评价