一种使用反弹攻击技术攻击Grostl加密算法的处理方法

文档序号:7804846阅读:290来源:国知局
一种使用反弹攻击技术攻击Grostl加密算法的处理方法
【专利摘要】本发明公开了一种使用反弹攻击技术攻击Grostl加密算法的处理方法,是基于异构平台CPU+GPU,针对Grostl加密算法提出的并行攻击处理方法,所述CPU将要进行攻击的密文分割成若干小段,构建所述CPU与GPU处理器协同计算的框架;所述CPU调用所述框架中的所有设备多线程并行地获得各自当前需要攻击的密文,根据这些密文,各个设备利用反弹差分分析算法对密文进行攻击,在得到使得最终的差分为零的通路后即找到了碰撞,完成对这段密文的攻击;本发明通过CPU和GPU协同计算,极大地加速了找到最终差分对的执行,从而可以快速地完成密文攻击的任务。
【专利说明】一种使用反弹攻击技术攻击Grostl加密算法的处理方法
[0001]
【技术领域】
[0002]本发明涉及密码学,信息安全领域,尤其涉及密码安全方面的密码攻击的方法,具体地说是一种使用反弹攻击技术攻击Grostl加密算法的处理方法。
【背景技术】
[0003]CUDA (Compute Unified Device Architecture),显卡厂商 NVidia 推出的运算平台。CUDA ?是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了 CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员现在可以使用C语言来为CUDA ?架构编写程序,C语言是应用最广泛的一种高级编程语言,所编写出的程序于可以在支持CUDAtI^ GPU处理器上以超高性能运行。CUDA所提供的最重要的创新在于,它使得工作在GPU上的线程可以协作解决问题。由NVDIA GPUs的支持,CUDA有一个直接在GPU上的并行计算缓存,它用于保存频繁使用的信息。在GPU上保存信息可以让计算线程即 刻得到共享数据而不是去漫长的等待off-chip的DRAM上的数据。NVIDIA?(英伟达?)发明了 CUDA (Compute Unified Device Architecture,统一计算设备架构)这一编程模型,旨在充分利用CPU和GPU各自的优点。
[0004]Grostl加密算法是SHA-3第一、第三轮的候选算法,它采用AES结构,采用的是P置换和Q置换的并行结构,P置换和Q置换先进行并行运算,再经异或相加后得到HASH值,这个算法在设计之初可以有效地抵抗传统的密码分析方法。
[0005]Grostl加密算法压缩函数结构可以有效地抵抗原像攻击和第二原像攻击,该算法可以在许多平台上运算,其安全参数r、轮数及输出长度都可以改变,算法结构及置换的设计很容易理解,算法基于AES结构,大部分密码学者和密码软件都能快速识别Grostl加密算法,并且AES设计结构已经被证明是安全的结构。如果置换P和置换Q是安全的,则压缩函数f的结构是可安全的。安全性证明指出,要找到迭代Hash函数的碰撞至少需要2?/4个P置换和(或)Q置换运算,找到其原像需要2?/2个P置换和(或)Q置换运算。
[0006]传统的差分分析方法无法对置换P和置换Q进行有效地分析,这是因为虽然P置换和Q置换均能有效地扩散差分,字节混入一列8个差分,字节移位将该列的8个差分经行移位至每行,从而保证在任意四轮运算中有81个活跃的S盒。在任意8轮、12轮中,分别至少162和243个活跃的S盒。假定所有轮运算均相互独立,差分扩散的最大概率为2_6,则任意8轮、12轮运算的差分路径概率分别为2_972和2_1458.反弹攻击适用于分析AES结构的Hash函数,已经广泛应用于SHA-3候选算法的分析之中,其主要思想是在被分析的对象中,选取中间两处适当的位置随机引入差分,然后做正向,逆向运算至中间相遇。运用S盒差分匹配性质和自由度开发技术,连接随机引入的两处差分,寻找中间匹配的输入/输出差分。找到匹配的输入/输出差分后,再从引入的差分位置处,分别做逆向,正向运算,运用截断差分的扩展性质,合理地控制差分扩展至尽可能多的轮,从而提高追踪差分的概率。根据反弹攻击的思想,可以将反弹攻击分为两个阶段:收缩阶段和反弹阶段。收缩阶段运用S盒的性质和自由度的开发技术,从而连接引入的两处差分,同时为反弹阶段提供起点;反弹阶段运用阶段差分的扩散性质,合理地控制差分扩散,找出可行的差分路径;
反弹攻击的几个技术点:
反弹攻击首先要确定合适的截断差分模式,并找到合适的起始点;
找到合适的中间匹配的S盒层;
注意如何弹出才能保证效率最高;
充分并合理地利用状态和消息中的自由度。
[0007]差分攻击是hash函数的最有效的方法,其主要思想是考虑两对具有固定差分输入的明文对差分输出的影响,当最后能够找到使得差分为0,则相当于找到了碰撞。

【发明内容】

[0008]针对Grostl加密算法本身的复杂度造成分析等待时间比较长的问题,本发明提供了一种使用反弹攻击技术攻击Grostl加密算法的处理方法。
[0009]本发明公开的使用反弹攻击技术攻击Grostl加密算法的处理方法,其解决所述技术问题采用的技术方案如下:该处理方法是在异构平台CPU+GPU上,使用反弹差分分析方法对Grostl加密算法进行攻击的处理方法,通过CPU和GPU协同计算,极大地加速了找到最终差分对的执行,从而可以快速地完成密文攻击的任务;
其中,所述CPU (中央处理器)将要进行攻击的密文分割成若干小段,构建所述CPU与GTO处理器协同计算的框架;且多线程并行地向所述框架中的所有设备发送调用请求,各个设备在接收到所述调用请求后,获得各自要攻击的密文段;
所述CPU调用所述框架中的所有设备多线程并行地获得各自当前需要攻击的密文,根据这些密文,利用反弹差分分析算法对已经加密过的密文进行攻击,在得到使得最终的差分为零的通路后即找到了碰撞,即最终对这段密文攻击成功;
所述GPU处理器,用于在接收到所述CPU发送的调用请求后,获得各自要攻击的密文段,并根据反弹差分分析算法对已经加密过的密文进行攻击,在得到使得最终的差分为零的通路后(即找到了碰撞),即最终对这段密文攻击成功。
[0010]进一步,所述CPU将要进行攻击的密文分割成若干小段,是指所述CPU根据所述密文的长度进行分割;被分割的密文的长度没有具体要求,但越短越好,针对这段密文可以尽快找到碰撞。
[0011]进一步,所述CPU构建CPU与GPU处理器协同计算的框架,是指所述CPU将连接在同一单节点服务器的CPU与多个GPU处理器作为协调计算的框架,该框架中所有设备的数目为CPU的数目和GPU处理器的数目之和。
[0012]进一步,所述CPU调用所述框架中的所有设备多线程并行地获得各自当前已经分割成若干小段的密文,根据这些若干被分割成小段的密文,各个设备利用反弹差分分析算法对已经加密过的密文进行攻击,根据差分路径找到一个差分对使得最终的差分为零之后,即相当于找到了碰撞,由此可以得知使用此次的初始值可以在这条差分路径中找到一个通路,使用这个初始值就可以对这个密文进行攻击破解,并将找到的所有连通的差分路径以及相应的差分对进行输出。
[0013]本发明公开的使用反弹攻击技术攻击Grostl加密算法的处理方法的有益效果是:该处理方法,能够通过并行反弹差分分析算法Grostl加密算法进行深入地分析,能够对所述Grostl加密算法的P置换和Q置换单独进行有效分析;通过CPU和GPU协同计算,极大地加速了找到最终差分对的执行,从而可以快速地完成密文攻击的任务。
【专利附图】

【附图说明】
[0014]附图1为本发明所述Grostl-256五轮碰撞示意图。
【具体实施方式】
[0015]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的使用反弹攻击技术攻击Grostl加密算法的处理方法进行详细说明。
[0016]本发明所述使用反弹攻击技术攻击Grostl加密算法的处理方法,是在异构平台CPU+GPU上针对Grostl加密算法提出的并行攻击处理方法,通过CPU和GPU协同计算,极大地加速了找到最终差分对的执行,从而可以快速地完成密文攻击的任务;
其中,所述CPU (中央处理器)将要进行攻击的密文分割成若干小段,构建所述CPU与GTO处理器协同计算的框架;且多线程并行地向所述框架中的所有设备发送调用请求,并在接收到所述调用请求后,获得各自要攻击的密文段;
所述CPU调用所述框架中的所有设备多线程并行地获得各自当前需要攻击的密文,根据这些密文,利用反弹差分分析算法对已经加密过的密文进行攻击,在得到使得最终的差分为零的通路后即找到了碰撞,即最终对这段密文攻击成功;
所述GPU处理器,用于在接收到所述CPU发送的调用请求后,获得各自要攻击的密文段,并根据反弹差分分析算法对已经加密过的密文进行攻击,在得到使得最终的差分为零的通路后(即找到了碰撞),即最终对这段密文攻击成功。
[0017]本发明使用反弹攻击技术攻击Grostl加密算法的处理方法,所述CPU将要进行攻击的密文分割成若干小段,是指所述CPU根据所述密文的长度进行分割;被分割的密文的长度没有具体要求,但越短越好,针对这段密文可以尽快找到碰撞;
所述CPU构建所述CPU与GPU处理器协同计算的框架,是指所述CPU将连接在同一单节点服务器的所述CPU与多个GPU处理器作为协调计算的框架,该框架中所有设备的数目为CPU的数目和GPU处理器的数目之和。
[0018]本发明所述使用反弹攻击技术攻击Grostl加密算法的处理方法,基于异构平台CPU+GPU,所述CPU将要进行攻击的密文分割成若干小段,构建所述CPU与GPU处理器协同计算的框架;通过CPU和MIC协同计算,所述CPU调用所述框架中的所有设备多线程并行地获得各自当前已经分割成若干小段的密文,根据这些若干被分割成小段的密文,各个设备利用反弹差分分析算法对已经加密过的密文进行攻击,根据差分路径找到一个差分对使得最终的差分为零之后,即相当于找到了碰撞,由此可以得知使用此次的初始值可以在这条差分路径中找到一个通路,使用这个初始值就可以对这个密文进行攻击破解,并将找到的所有连通的差分路径以及相应的差分对进行输出。
[0019]实施例:下面通过一个实施例对本发明的技术方案和技术优点进一步说明,通过本实施例,本发明的目的和技术效果将显而易见,但并不构成对本发明的限定。
[0020]本发明所述使用反弹攻击技术攻击Grostl加密算法的处理方法,采用一种新型的并行反弹差分分析方法对Grostl加密算法进行了深入地分析A^Grostl加密算法的研究,应用反弹攻击分析技术分析了该Grostl加密算法的P置换和Q置换。首先单独分析这两个置换,分别得到了 P置换和Q置换的差分路径,再结合这两个置换的差分路径进行了综合分析,得到了 Grostl-256五轮压缩函数的半自由起动碰撞;运用截断差分的列混淆扩散性质,合理地控制差分扩散;在反弹攻击的反弹阶段,增加一轮算法分析,得到了Grostl-256六轮压缩函数的半自由起动碰撞,不过计算复杂度有所增加。最后运用超级S盒技术,在反弹攻击的收缩阶段,增加一轮算法分析,得到了 Grostl-256七轮压缩函数的半自由起动碰撞,计算复杂度等同于六轮的复杂度。
[0021]从超级S盒性质可知,中间相遇轮是其中最重要的部分,这是因为中间的状态全部为活跃字节。如果可以在中间开发自由度,就可以更有效地追踪自由度,从而在前向、后向运算中合理地控制差分扩散,得到可行的差分路径。[0022]本发明提供了一个Grostl-256五轮半自由起动碰撞攻击的应用实例,在对Grostl-256做算法分析的时候,做5轮碰撞攻击,在得到碰撞的时候,空间复杂度和计算复杂度均降低,性能得到提升,找到碰撞的等待时间降低;
首先在P置换和Q置换的Ql和Q3、P1和P3的适当位置引入差分。适当的差分位置可以保证差分在收缩阶段扩散为完全差分状态,从而收缩阶段合理地控制差分扩散,如附图1所示;
在收缩阶段,分别寻找Ql和Q3、P1和P3的中间相遇。根据S盒的性质,对于每一个活跃字节,输入/输出差分匹配的概率为1/2,且对于每个有效的输入/输出差分至少存在两个对应的值。置换P和Q的状态均为64个字节,因此匹配的概率为2_64。由于随机差分的引入均为8个字节的消息,自由度大于2_64。通过穷举搜索可以实现中间相遇,找到匹配的输入/输出差分。一旦匹配,可以提供264个可选起点,作为下一步反弹阶段的自由度;
第二部分置换的差分与第一部分相同,异或后差分互相抵消的计算复杂度为264。如图1所示,每个置换均可找到264个输入,计算复杂度为264,空间复杂度可忽略不计。适当选取差分的位置,可以控制差分扩散的路径。要得到Grostl-256压缩函数的五轮半自由起动碰撞,两个置换的输出差分必须一致。而MB运算是线性运算,差分相同的字节在经过线性运算之后,差分仍然相同。为了防止由于前向运算导致碰撞被破坏,不允许hash值Hl有差分,因此,需保证首轮输入差分相同,且所有差分均来自于消息M ;
要得到碰撞,16个差分字节必须相同,计算复杂度为2128。然而,根据生日攻击,中间相遇过程的计算复杂度可降为264.通过生成置换P的264个差分及置换Q的264个差分,可以找到匹配的输入/输出差分,因此可以得到Grostl-256压缩函数的五轮半自由起动碰撞,其计算复杂度为264,空间复杂度为264.本发明提供的系统实施例,在生成S盒,计算密集部分均采用并行技术,提升了系统的性能,计算复杂度降低,找到碰撞的等待时间明显降低,但中间的空间复杂度比以前升高。
[0023]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且任何所属【技术领域】的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【权利要求】
1.一种使用反弹攻击技术攻击Grostl加密算法的处理方法,其特征在于,该处理方法是在异构平台CPU+GPU上,使用反弹差分分析方法对Grostl加密算法进行攻击的处理方法,通过CPU和GPU协同计算,加速找到最终差分对的执行,完成密文攻击;其中,所述CPU将要进行攻击的密文分割成若干小段,构建所述CPU与GPU处理器协同计算的框架;且多线程并行地向所述框架中的所有设备发送调用请求,各个设备在接收到所述调用请求后,获得各自要攻击的密文段;所述CPU调用所述框架中的所有设备多线程并行地获得各自当前需要攻击的密文,根据这些密文,各个设备利用反弹差分分析算法对已经加密过的密文进行攻击,在得到使得最终的差分为零的通路后即找到了碰撞,完成对这段密文的攻击;所述GPU处理器,用于在接收到所述CPU发送的调用请求后,获得各自要攻击的密文段,并根据反弹差分分析算法对已经加密过的密文进行攻击,在得到使得最终的差分为零的通路后即找到了碰撞,完成对这段密文的攻击。
2.根据权利要求1所述的使用反弹攻击技术攻击Grostl加密算法的处理方法,其特征在于,所述CPU将要进行攻击的密文分割成若干小段,是指所述CPU根据所述密文的长度进行分割;被分割的密文的长度越短越好,针对这段密文能够尽快找到碰撞。
3.根据权利要求1所述的使用反弹攻击技术攻击Grostl加密算法的处理方法,其特征在于,所述CPU构建CPU与GPU处理器协同计算的框架,是指所述CPU将连接在同一单节点服务器的CPU与多个GPU处理器作为协调计算的框架,该框架中所有设备的数目为CPU的数目和GPU处理器的数目之和。
4.根据权利要求1所述的使用反弹攻击技术攻击Grostl加密算法的处理方法,其特征在于,所述CPU调用所述框架中的所有设备多线程并行地获得各自当前已经分割成若干小段的密文,根据这些若干被分割成小段的密文,各个设备利用反弹差分分析算法对已经加密过的密文进行攻击,根据差分路径找到一个差分对使得最终的差分为零之后,即相当于找到了碰撞;且使用此次的初始值能够在这条差分路径中找到一个通路,使用这个初始值能够对这个密文进行攻击破解,并将找到的所有连通的差分路径以及相应的差分对进行输出。
5.根据权利要求4所述的使用反弹攻击技术攻击GrostI加密算法的处理方法,其特征在于,该处理方法的实现流程为:应用反弹攻击分析技术分析了所述Grostl加密算法的P置换和Q置换,首先单独分析这两个置换,分别得到P置换和Q置换的差分路径;再结合这两个置换的差分路径进行了综合分析,得到了 Grostl-256五轮压缩函数的半自由起动碰撞;运用截断差分的列混淆扩散性质,合理地控制差分扩散;在反弹攻击的反弹阶段,增加一轮算法分析,得到了 Grostl-256六轮压缩函数的半自由起动碰撞;最后运用超级S盒技术,在反弹攻击的收缩阶段,增加一轮算法分析,得到了 Grostl-256七轮压缩函数的半自由起动碰撞。
【文档编号】H04L9/06GK103986722SQ201410229976
【公开日】2014年8月13日 申请日期:2014年5月28日 优先权日:2014年5月28日
【发明者】王娅娟 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1