首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

针对SNOW 3G加密算法的密码分析方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:桂林电子科技大学

摘要:本发明公开了一种针对SNOW 3G加密算法的密码分析方法,利用OBDD攻击的方法,同时结合了猜测决定攻击的算法的思想,对SNOW 3G进行攻击,这样做相较于原有的OBDD算法,大大降低的计算复杂度和所需的数据量,大大增加了实际操纵的可能性。另外,本发明可以进行并行计算,相对于其他算法的串行计算,它在计算效率上更具有优势。

主权项:针对SNOW 3G加密算法的密码分析方法,其特征在于,包括步骤如下:步骤A.根据SNOW 3G的线性反馈移位寄存器的反馈规则构造第一有序二叉决策图Tm;步骤B.根据SNOW 3G的有限状态机中状态的变化并且结合猜测决定攻击的思想构造第二有序二叉决策图Qm;步骤C.对第一有序二叉决策图Tm和第二有序二叉决策图Qm进行交集操作,得到最终有序二叉决策图Pm;该最终有序二叉决策图Pm中存在唯一一组路径s0~s22使得该最终有序二叉决策图Pm的值为1;在这条路径s0~s22中,前16个基础链s0~s16的值即为所求初始密钥。

全文数据:针对SNOW3G加密算法的密码分析方法技术领域[0001]本发明涉及信息安全技术领域,具体涉及一种针对SNOW3G加密算法的密码分析方法。背景技术[0002]通过分析截获的密文来推断出原来的明文或密钥,这一过程叫做密码分析或密码攻击。基于BDD的密码分析技术BDD-BasedCryptanalysis是2002年由MatthiasKrause首先提出的,主要用于对基于LFSR密钥流生成器进行安全分析。其主要原理是利用BDD分析优化搜索路径,在图生成的同时排除一些不可能的情况,从而降低攻击所需要的算法复杂度。[0003]在3GPP系统的安全体系中,有两个标准算法:一个是数据保密算法UEA2,一个是数据完整性算法UIA2dNOW3G就是他们的核心加密算法,它是面向字(32比特)实现的流密码,密钥规模为128比特。SNOW3G是在SNOW2.0的基础上发展而来,它能通过输入参数产生出经过处理的字节流,且输出与输入一一对应,保密性算法和完整性算法就是通过这个特性对数据进行加密和获取信息摘要的。它能有效保证网络中传输的用户数据和信令数据在射频接口上不被窃听和修改,满足通信系统的安全需求。[0004]迄今为止,针对SNOW3G的密码分析方法主要有:[0005]1线性区分攻击:利用线性逼近技术构造出一个简单的区分器,其线性逼近的偏差为2_mt3S根据区分攻击理论,可以利用此偏差进行有效的区分攻击。然而,在实际应用中一次加密的数据量都十分的有限,线性区分攻击方法中需要大量的数据量,实际可行性较低。[0006]2Multiset碰撞攻击:针对初始化轮数为13的简化版SNOW3G构造一个Multiset区分器,对SNOW3G进行攻击。虽然Multiset碰撞攻击方法中采用了简化轮数的SNOW3G,但完整版的SNOW3G初始化轮数为33,因此,Multiset碰撞攻击不能对SNOW3G的安全产生威胁。发明内容[0007]本发明所要解决的技术问题是提供一种针对SNOW3G加密算法的密码分析方法,其能够大大降低的计算复杂度和所需的数据量。[0008]为了表述的方便,首先给出一些记号的表不:[0009]S模232整数加[0010]t当前时刻[0011]stt时刻线性反馈移位寄存器LFSR输出的[0012]内部状态[0013]R1,R2,R3FSM有限状态机)内部三个32位寄存器[0014]ztt时刻密钥流[0015]为解决上述问题,本发明是通过以下技术方案实现的:[0016]针对SNOW3G加密算法的密码分析方法,包括步骤:[0017]步骤A.根据SNOW3G的线性反馈移位寄存器LinearFeedbackShiftRegister的反馈规则获取第一个〇BDDTm。[0018]步骤B.根据SNOW3G的有限状态机FiniteStateMachine中状态的变化并且结合猜测决定攻击的思想构造第二个〇BDDQm。[0019]步骤C.根据对TjPQm进行交集操作,得到最终OBDDPm,P#存在唯——组路径so〜S22使得该最终有序二叉决策图Pm的值为1,这条路径so〜S22的前16个基础链so〜S15的值即为所求初始密钥。[0020]所述步骤A,包括步骤:[0021]步骤Al.根据线性反馈移位寄存器的反馈规则选取t,t+2,t+11和t+16时刻线性反馈移位寄存器输出的状态st,st+2,st+11和st+16,并且分别用OBDD表示,将这些小的OBDD称为基础链。这些基础链刻画了当前线性反馈移位寄存器输出内部状态的所有可能的取值情况;[0022]步骤A2.将步骤Al得到的基础链组成第一有序二叉决策图Tm,如果线性反馈移位寄存器输出的内部状态st+Q,st+2,st+11,+16满足线性反馈移位寄存器的反馈规则,则在第一有序二叉决策图1^中,该组值的路径指向1终节点;否则,则在第一有序二叉决策图1»中,该组值的路径指向〇终节点;[0023]步骤A3.查看整个第一有序二叉决策图1»是否有冗余节点,如果存在冗余节点,则将冗余节点删除即将第一有序二叉决策图Tm化简后输出;否则,则将第一有序二叉决策图Tm直接输出。[0024]所述步骤B,包括步骤:[0025]步骤BI.预设t,t+l,…,t+6时刻密码发生器输出的密钥流^,以+1,".,以+6和线性反馈移位寄存器输出的状态St,St+l,…,St+6;并预设t,t+l,…,t+10时刻有限状态机中寄存器Rl的内部状态Rlt,Rlt+i,.",Rlt+io;[0026]步骤B2.通过转化规则=I^w=S1Rlt,我们可以从寄存器Rl的内部状态Rlt得到t+1时刻的寄存器R2的内部状态R2t+1。[0027]步骤B3.通过转化规则:R3t+1=S2R2t,我们可以从寄存器R2的内部状态R2t得到t+1时刻的寄存器R3的内部状态R3t+1。[0028]步骤B4.由转化规则:可知,根据当前t时刻寄存器R2和R3的内部状态R2t和R3t与t+Ι时刻Rl的内部状态Rlt+1,可以求得t+5时刻线性反馈移位寄存器的输出的内部状态st+5。[0029]步骤B5.由输出规则:可知,根据当前t时刻的Zt,Rlt,R2t,st可以得到t+15时刻的线性反馈位移寄存器输出内部状态st+15。[0030]步骤B6.通过迭代B2-B6,求得线性反馈移位寄存器各个时刻的输出状态St,并将其组成第二有序二叉决策图Qm。[0031]所述步骤C,包括步骤:[0032]步骤Cl·获取步骤A得到的OBDDTm和步骤B得到的Qm。[0033]步骤C2.对OBDDIm和OBDDQm进行交集操作得到OBDDPm。[0034]步骤C3.Pm中可以得到唯——组路径so〜S2MiPm值为1。在这条路径中so〜S15的取值就是所求初始密钥。[0035]与现有技术相比,本发明具有如下特点:[0036]1.本发明是一种状态恢复攻击,在原有的Krause的BDD攻击的方法上,结合了猜测决定攻击的思想,大大的优化了原有的BDD攻击方法,降低了计算复杂度和所需的数据量。[0037]2.本发明中,用于参与攻击的初始数据量较少,大大增加了实际操纵的可能性。[0038]3.本发明由于可以进行并行计算,大大提升了计算效率,更加有利于实际的操作,相对于其他算法的串行计算,它在计算效率上更具有优势。附图说明[0039]图1为一种针对SNOW3G加密算法的密码分析方法的流程图。[0040]图2为SNOW3G加密算法的原理图。具体实施方式[0041]为了是本发明的技术方案及优点更加清楚明白,结合附图及实施例,对本发明进行进一步的详细说明。另外,此处所描述的具体实施实例仅仅用以解释本发明,并不用于限定本发明。[0042]一种针对SNOW3G加密算法的密码分析方法,如图1所示,包括如下三个阶段,具体步骤为:[0043]本发明的实施对象为SNOW3G加密算法,如图2,它由两个部分组成:一个GF223上的16级线性反馈移位寄存器LFSR和一个有限状态机FSM。[0044]线性反馈移位寄存器LFSR:[0045]包括16个单元sosr··si5,每个单元包含32位数据,总共512位。其中数据的反馈规则为:[0046][0047]它是基于域GF223上的本原多项式法[0048]fX=[0049]其中cx为χ4+β23χ3+β245χ2+β48χ+β239在有限域GF28上的一个根。β为χ8+χ7+χ5+χ3+1在有限域GF2上的一个根。[0050]有限状态机FSM:[0051]包括3个32比特的寄存器Rl,R2和R3。记FSM的输出为ft。其中输出规则为:[0052][0053]其中“田”表示模232整数加。[0054]Rl,R2和R3的刷新变换规则:[0055],R2t+i=SiRU,R3t+i=S2R2t,[0056]其中S^S2表示32X32的S盒变换。[0057]据此,根据SNOW3G算法原理,我们可以归纳出3条计算规则:[0058]首先,根据有限状态机与LFSR之间的关系得到表达式:[0059][0060]定义它为输出规则,用FSM表示。[0061]其次,根据SNOW3G的内部状态的三个32位寄存器Rl、R2和R3之间的转化关系得到表达式:[0062][0063]定义为转化规则,用TRANS表示。[0064]然后,根据SNOW3G两个32*32S盒SjPS2,可以得到表达式:[0065]R2t+i=SiRlt[0066]R3t+i=S2R2t[0067]定义为转化规则,分别用SBOXl和SB0X2表示。[0068]最后,根据LFSR的各状态之间的关系,得到表达式:[0069][0070]定义为反馈规则,用LFSR表示。[0071]另外,本发明需要已知密钥发生器输出的前7位初始密钥流为ZQ,Z1,Z2,Z3,Z4,Z5,Z6,将它们作为已知的条件。[0072]阶段I:从SNOW3G的线性反馈移位寄存器的状态变化中获取OBDDTm。[0073]步骤1,根据线性反馈移位寄存器的反馈规则,选取线性反馈移位寄存器输出的内部状态St,st+2,st+11,st+16,并且用基础链表示。[0074]步骤2,将刻画线性反馈移位寄存器输出的内部状态st,st+2,st+11,st+16的基础链组成OBDDTm。St,st+2,st+11,dt+16每种情况都表示一组确定的路径,用来表示所有的取值情况。[0075]步骤3,如果^,^+2,^+11,^+16满足线性反馈移位寄存器的反馈规则:,则在OBDD中,该组值的路径指向1终节点,代表所有可能的情况。[0076]步骤4,如果st,st+2,st+ii,st+16不满足线性反馈移位寄存器的反馈规则:项IJ在OBDD中,该组值的路径指向0终节点,代表所有不可能的情况。[0077]步骤5,查看整个OBDDTm是否有冗余节点,化简后得到最终的OBDDTm,至此,阶段I结束。[0078]阶段II:根据SNOW3G有限状态机的变化获取OBDD[0079]步骤6,由于第二个OBDDQm是以线性反馈移位寄存器为核心的。用so〜S6表示线性反馈移位寄存器的前一部分初始状态SO〜S6。[0080]步骤7,将步骤6中线性反馈移位寄存中的前一部分初始状态so〜S6用基础链表示出来。[0081]步骤8,将当前时刻的基础链的每一种情况都指向下一时刻对应的基础链。这样,当te[0,6]我们就得到了一个由LFSR初始状态so〜S6构成的初始的MD。[0082]步骤9,根据猜测决定攻击的思想,我们猜测FSM中寄存器Rl的前11次状态。也就是,假设当前时刻为te[0,10],那么寄存器RI的前11个状态就可表示Rlo〜RI10。[0083]步骤10,根据步骤9得到Rl的前11次状态,通过转化规则:[0084]I^tn=S1Rlt,得到有限状态机中寄存器R2的状态,,根据本发明的需要,只需求出R2〇〜R29这10个状态即可。[0085]步骤11,根据步骤10得到R2的R2〇〜R29这10个状态,通过转化规则R3t+1=S2R2t,得到有限状态机中R3的状态,根据本发明的需要,只要求得RS1WRS9这9个状态即可。[0086]步骤12,根据步骤9猜测的Rl前11个状态Rlo〜R11Q,步骤10得到的R2的R2〇〜R29这10个状态,步骤11得到的R3的RS1WRS9,通过转化规则,可以求得S7〜S14的值。[0087]步骤13,将S7〜S14的值用基础链表示。[0088]步骤14,按照步骤8的方法,将基础链表示的S7〜S14并入步骤8中初始OBDD。此时的OBDD表示在te[0,14]时刻st的所有可能情况。[0089]步骤15,利用已知的密钥流ZO〜Z7和前面得到的寄存器Rl,R2,R3的内部状态信息,通过输出规贝IjFSM:,得到S15〜S20的值。[0090]步骤16,按照步骤8的方法,将基础链表示的S7〜S14并入步14中OBDD。此时的OBDD表示在te[0,22]时刻St的所有可能情况。这就得到了第二个OBDDQm。至此,阶段II结束。[0091]阶段m:求取OBDDTm和OBDDQm的交集,得到OBDDPm。[0092]步骤17,获取步骤5得到的OBDDTm和步骤16得到的Qm。[0093]步骤18,对OBDDTm和OBDDQm进行交集操作得到OBDDPm。也就是Pm=SYNTHQm,Tm〇[0094]步骤19,Pm中可以得到唯一一组路径so〜S22使Pm值为1。在这条路径so〜S22中,前16个基础链so〜S16的值即为所求初始密钥。至此,阶段m结束。[0095]本说明书公开了一种基于符号OBDDOrderedBinaryDecisionDiagram,有序二叉决策图)针对SNOW3G算法的密码分析方法。包括:SNOW3G密钥发生器的结构组成和特点,线性反馈移位寄存器输出线性比特字的处理,有限状态机内部状态的转换,符号OBDD的刻画,OBDD间的操作,猜测决定攻击的引入。本发明利用OBDD攻击的方法,同时结合了猜测决定攻击的算法的思想,对SNOW3G进行攻击,这样做相较于原有的OBDD算法,大大降低的计算复杂度和所需的数据量,大大增加了实际操纵的可能性。另外,本发明可以进行并行计算,相对于其他算法的串行计算,它在计算效率上更具有优势。[0096]本说明书采用递进的方式描述,对整个攻击过程一次详细的按步骤进行了说明。专业人员可以进一步意识到,结合本文中所公开的实施例哥哥阶段的算法步骤,能够通过计算机软件的方式来实现。通过结合附图对本发明具体实施例的描述,本发明的其他方面及特征对本领域的技术人员而言是显而易见的。[0097]以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

权利要求:1.针对SNOW3G加密算法的密码分析方法,其特征在于,包括步骤如下:步骤A.根据SNOW3G的线性反馈移位寄存器的反馈规则构造第一有序二叉决策图Tm;步骤B.根据SNOW3G的有限状态机中状态的变化并且结合猜测决定攻击的思想构造第二有序二叉决策图Qw即:步骤Bl.预设t,t+l,...,t+6时刻密码发生器输出的密钥流zt,zt+i,...,zt+6和线性反馈移位寄存器输出的状态st,st+1,...,st+6;并预设t,t+l,...,t+10时刻有限状态机中寄存器Rl的内部状态Rlt,Rlt+i,...,Rlt+io;步骤B2.根据有限状态机中寄存器Rl和R2之间的转化规则,从t时刻寄存器Rl的内部状态Rlt,得到t+Ι时刻寄存器R2的内部状态R2t+1;步骤B3.根据有限状态机中寄存器R2和R3之间的转化规则,从t时刻寄存器R2的内部状态R2t,得到t+Ι时刻寄存器R3的内部状态R3t+1;步骤M.根据有限状态机中寄存器Rl,R2和R3之间的转化规则,从t时刻寄存器R2和R3的内部状态R2t和R3t,以及t+Ι时刻寄存器Rl的内部状态Rlt+1,得到t+5时刻线性反馈移位寄存器输出的状态St+5;步骤B5.由有限状态机的输出规则,根据t时刻密钥发生器输出的状态zt,寄存器Rl的内部状态Rlt,寄存器R2的内部状态R2t和线性反馈移位寄存器输出的状态St,得到t+15时刻的线性反馈位移寄存器输出的状态st+15;步骤B6.通过迭代B2-B6,求得各个时刻线性反馈移位寄存器输出的状态,并将其组成第二有序二叉决策图Qm;步骤C.对第一有序二叉决策图Tm和第二有序二叉决策图Qm进行交集操作,得到最终有序二叉决策图Pm=SYNTHQm,Tm;该最终有序二叉决策图Pm中存在唯一一组路径so〜S22使得该最终有序二叉决策图Pm的值为1;在这条路径so〜S22中,前16个基础链so〜S16的值即为所求初始密钥。2.根据权利要求1所述的针对SNOW3G加密算法的密码分析方法,其特征在于,步骤A具体包括步骤如下:步骤Al.选取t,t+2,t+11和t+16时刻线性反馈移位寄存器输出的状态st,st+2,st+11和st+16,并将其组成第一有序二叉决策图Tm;步骤A2.如果St,st+2,st+11和+16满足线性反馈移位寄存器的反馈规则,则在第一有序二叉决策图1中,该组值的路径指向1终节点;否则,则在第一有序二叉决策图1»中,该组值的路径指向0终节点。3.根据权利要求2所述的针对SNOW3G加密算法的密码分析方法,其特征在于,步骤A2中所述的线性反馈移位寄存器的反馈规则均为:式中,st+i6表示t+16时刻线性反馈移位寄存器输出的状态,st+ii表示t+12时刻线性反馈移位寄存器输出的状态,st+2表示t+2时刻线性反馈移位寄存器输出的状态,St表示t时刻线性反馈移位寄存器输出的状态,α表示状态系数表示异或。4.根据权利要求2所述的针对SNOW3G加密算法的密码分析方法,其特征在于,在步骤Α2之后,还进一步包括步骤如下:步骤A3.查看整个第一有序二叉决策图1»是否有冗余节点,如果存在冗余节点,则将冗余节点删除即将第一有序二叉决策图!^化简后输出;否则,则将第一有序二叉决策图Tm直接输出。5.根据权利要求1所述的针对SNOW3G加密算法的密码分析方法,其特征在于,步骤B5中有限状态机中寄存器Rl和R2之间的转化规则为:R2t+i=SiRlt式中,R2t+1表示t+1时刻寄存器R2的内部状态,Rlt表示t时刻寄存器Rl的内部状态;SI表示S-boxSr的变换操作。6.根据权利要求1所述的针对SNOW3G加密算法的密码分析方法,其特征在于,步骤B6中有限状态机中寄存器R2和R3之间的转化规则为:R3t+i=S2R2t式中,R3t+1表示t+1时刻寄存器R3的内部状态,R2t表示t时刻寄存器R2的内部状态;S2表示S-boxSq的变换操作。7.根据权利要求1所述的针对SNOW3G加密算法的密码分析方法,其特征在于,步骤B7中有限状态机中寄存器Rl,R2和R3之间的转化规则为:式中,Rlt+1表示t+1时刻寄存器Rl的内部状态,st+5表示t+5时刻线性反馈移位寄存器输出的状态,R3t表示t时刻寄存器R3的内部状态,R2t表示t时刻寄存器R2的内部状态;㊉表示异或,田表示模232整数加。8.根据权利要求1所述的针对SNOW3G加密算法的密码分析方法,其特征在于,步骤B8中有限状态机的输出规则为:式中,zt表示t时刻密码发生器输出的密钥流,Rlt表示t时刻寄存器Rl的内部状态,R2t表示t时刻R2的内部状态,St表示t时刻线性反馈移位寄存器输出的状态;㊉表示异或,田表示模232整数加。

百度查询: 桂林电子科技大学 针对SNOW 3G加密算法的密码分析方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。