CN101741560B - 基于整数非线性映射的散列函数构造方法 - Google Patents

基于整数非线性映射的散列函数构造方法 Download PDF

Info

Publication number
CN101741560B
CN101741560B CN200810226116.1A CN200810226116A CN101741560B CN 101741560 B CN101741560 B CN 101741560B CN 200810226116 A CN200810226116 A CN 200810226116A CN 101741560 B CN101741560 B CN 101741560B
Authority
CN
China
Prior art keywords
message
bit
length
hash
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200810226116.1A
Other languages
English (en)
Other versions
CN101741560A (zh
Inventor
刘建东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Petrochemical Technology
Original Assignee
Beijing Institute of Petrochemical Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Petrochemical Technology filed Critical Beijing Institute of Petrochemical Technology
Priority to CN200810226116.1A priority Critical patent/CN101741560B/zh
Publication of CN101741560A publication Critical patent/CN101741560A/zh
Application granted granted Critical
Publication of CN101741560B publication Critical patent/CN101741560B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种涉及信息系统安全工程技术的基于整数非线性映射的散列函数构造方法,包括以下步骤:(1)消息填充;(2)设定一组初始向量及参数;(3)对消息分组进行非线性分段式码字扩展;(4)采用耦合映像系统模型进行并行式混合迭代运算,实现扩展码字与链接变量的混淆与扩散;(5)可变长度散列输出。本发明的散列函数构造方法多用于数字证书,电子签名,口令保护,数字完整性验证等领域,采用了非线性分段式码字扩展技术,加速了码字的非线性扩散程度,将整数非线性映射与逻辑函数相结合,具有较为理想的混淆与扩散特性,本发明压缩函数内部采用并行迭代结构,有利于软硬件高速并行实现,构造方法运算效率高,易于修改补充和维护。

Description

基于整数非线性映射的散列函数构造方法
技术领域
本发明涉及信息安全技术领域中一种提取消息摘要的散列函数构造方法,尤其是广泛用于数字证书、电子签名、口令保护、数字信息的完整性验证等安全应用场合的基于整数非线性映射的散列函数构造方法。
背景技术
近十几年来,美、俄、欧、日等都相继制定了各自的Hash函数算法标准。安全Hash算法SHA-1、SHA-2是美国国家标准与技术研究所(NIST)的标准算法;RIPEMD-160是欧共体PIPE计划下开发的标准Hash算法,其输出为160bit;GOSTHash算法是俄国国家标准,它的输出为256bit;N-Hash算法是由日本电报电话公司研究发明的。但时至今日,我国尚未公布类似的Hash函数算法标准。
近年来,密码学界对Hash函数的设计与分析给予了广泛的关注。在2004年美密会上,王小云等宣布了包括MD4,MD5,HAVAL-128以及RIPEMD在内的碰撞实例。王小云等人对SHA-1的分析也已取得突破性成果,她们已将碰撞攻击的复杂度从269提高到263。SHA-1被认为是现代网络安全的基石,被广泛使用于银行、安全通讯以及电子商务中。由于王小云等人揭示出SHA-1的脆弱性,美国NIST正在举行Hash函数标准的公开征集。
传统的Hash函数(MDx系和SHA系)的主要设计原则基于Merkle-Damgard结构,它们具有许多共同的设计准则,各轮的混合运算设计极为相似,全都采用了整数模加和逻辑函数(轮函数)。从世界范围来看,随着新的攻击方法的提出,如此众多的Hash算法在不长的时间相继被攻破,说明其设计准则存在缺陷,也是长期以来Hash函数设计走“近亲路线”的结果。美国NIST鼓励设计者在新的应用和协议中使用SHA-2Hash函数。但由于SHA-2与SHA-1同属一个Hash算法类别,也存在被类似方法攻击的可能。
为获得更安全的Hash函数,近年来利用混沌系统对变量和参数的变化的敏感特性构造单向Hash函数的研究也已取得一些进展。Hash函数与分组加密算法有很多相同的密码学特征,而其根本不同点在于Hash算法是不可逆的,而分组加密算法是可逆的。混沌映射的不可逆性表明,基于混沌映射构造Hash函数比构造分组密码算法更有优势。但是,由于数字化混沌系统的动力学特性退化问题及构造方案本身的缺陷,目前基于混沌理论的Hash函数构造方案还无法得到人们的信任。
时空混沌系统具有非常多的正李雅普诺夫指数,系统在时间及空间方向上都是混沌的,其动力学行为非常丰富而复杂,空间上的任何一点的微小变化都会随时间的增加而扩散开去,产生很大的变化。利用时空混沌可以大大提高系统的复杂性,从而有利于提高系统的安全性。2005年张在文献1“基于时空混沌系统的单向Hash函数构造”(张瀚等,物理学报,2005,54(9))给出一种基于CML的单向Hash函数构造方案,但该方案存在以下缺陷:1)采用了单向耦合映像格子系统模型(0CML)。由于OCML易同步,且计算效率高,因此在人们将时空混沌应用到密码学领域的研究中,该模型应用较多,但用该模型构造单向Hash函数,却存在初始扰动传播放大速度较慢、扩散机制不强的问题。我们经仿真研究发现,初始条件或系统参数的微小差异,需要通过约4×L次迭代(L为OCML的格点数),才能使混沌轨道有明显分离,变成互不相关的两条轨道;2)明文信息作为初值来驱动OCML,一个格点只能调制1个字节的明文信息,当明文文件较大时,需要的OCML格点规模太大,计算效率极低;3)明文映射方式存在严重缺陷。2007年S.Wang在文献[2]“Hash function based on chaotic maplattices”(S.Wang,G.Hu,Chaos,17)给出基于时空混沌构造单向Hash函数的新方案,与文献1相比,提高了效率,但与MD5及SHA-1相比,执行效率仍然偏低。
目前提出的基于混沌的hash函数与传统的基于逻辑函数的Hash函数的一个重要区别就是基于混沌的hash函数界定在实数域上,而传统的Hash函数采用的是有限整数的按位操作。在实数域上构造混沌hash函数还面临以下几方面问题:1)实数域几乎被不可数的无穷多的无理数所充满,然而,由于计算机截断误差的存在,它不能处理无理数,产生不了一个非周期轨道,在有限精度实现的情况下,数字化混沌系统的动力学特性相对连续系统而言存在严重的退化;2)实数域上,计算机精度及所采用的机器甚至语言类型都可能影响有限精度混沌系统的最终结果,因此,基于实数域上混沌的Hash算法中普遍存在由于计算机的有限精度或各计算机精度不同所导致的Hash值计算失败的难题,使混沌Hash函数的实际应用受到很大限制;3)不利于软硬件高速实现。
发明内容
根据背景技术所述,本发明的目的在于克服现有的混沌散列函数设计方案所存在的问题,提供一种基于整数非线性映射的散列函数构造方法,用于解决信息系统安全中的消息验证、数字签名等技术问题。本发明采用分段式非线性码字扩展方案,通过整数非线性映射拉伸与折叠的非线性本质实现消息的非线性扩展,增强了码字扩展的非线性扩散程度,提高了运算效率;将整数非线性映射与逻辑函数相结合,作为压缩函数混合运算的主要非线性部件,具有较为理想的混淆与扩散特性;压缩函数内部采用并行迭代结构,有利于软硬件高速并行实现。本发明的方法安全、快速,易于软硬件实现。
为了实现上述目的,本发明是通过以下技术方案来实现的:
(1)消息填充:将任意长度的明文消息M分割成1024比特的消息块M0,...,Mi,...,Mt,最后一个块填充为:Mt=*...*10...0Mdlen(H)Length(M),其中,Mdlen(H)表示输出的散列长度,长度为10比特,Length(M)表示M的长度的二进制形式,长度为64比特。将每个消息块Mi划分成两组,每组由16个32比特的消息字组成,分别为m0,m1,...,m15
Figure G2008102261161D00031
...,
Figure G2008102261161D00033
(2)给定一组初始向量及参数:
x 0 ( 0 ) = 0 x 6 A 09 E 667 , x 1 ( 0 ) = 0 xBB 67 A E 85 , x 2 ( 0 ) = 0 x 3 C 6 EF 372 , x 3 ( 0 ) = 0 xA 54 FF 53 A ,
x 4 ( 0 ) = 0 x 510 E 527 F , x 5 ( 0 ) = 0 x 9 B 05688 C , x 6 ( 0 ) = 0 x 1 F 83 D 9 AB , x 7 ( 0 ) = 0 x 5 BE 0 CD 19 .
k0=0x5a827999,k1=0x6ed9eba1,k2=0x8f1bbcdc,k3=0xca62c1d6,
k4=0x99728a5a,k5=0x1abe9de6,k6=0xcdcbb1f8,k7=0x6d1c26ac.
(3)非线性分段式码字扩展:
Figure G2008102261161D000312
利用上式对消息字m0,m1,...,m15
Figure G2008102261161D000313
...,
Figure G2008102261161D000315
进行消息扩展,先通过循环移位及模加方式进行10次迭代操作,随后再利用非线性映射
Figure G2008102261161D000317
进行码字扩展,得到扩展后的码字序列W0,W1...,W63
Figure G2008102261161D000318
Figure G2008102261161D000319
...,
Figure G2008102261161D000320
(+表示mod 232的加法运算,∨表示逐比特逻辑或,
Figure G2008102261161D000321
表示逐比特逻辑异或,<<表示左移位操作,>>表示右移位操作,<<<表示循环左移位操作)。
(4)并行方式的混合迭代运算:
1) x 0 = x 0 ( 0 ) , x 1 = x 1 ( 0 ) , x 2 = x 2 ( 0 ) , x 3 = x 3 ( 0 ) , x 4 = x 4 ( 0 ) , x 5 = x 5 ( 0 ) , x 6 = x 6 ( 0 ) , x 7 = x 7 ( 0 ) ;
2)For t=0 to 11
  {当t为偶数时
   k=(t/2)*8+16;
   
Figure G2008102261161D000330
x i = G i + ( ( G i + 1 mod 8 &CirclePlus; G i + 2 mod 8 &CirclePlus; G i + 3 mod 8 &CirclePlus; G i + 4 mod 8 ) < < < 11 )
  
Figure G2008102261161D00042
当t为奇数时
k=((t-1)/2)*8+16;
Figure G2008102261161D00043
Figure G2008102261161D00044
     + ( ( G i - 1 mod 8 &CirclePlus; G i - 2 mod 8 &CirclePlus; G i - 3 mod 8 &CirclePlus; G i - 4 mod 8 ) < < < 11 ) + k i i = 0 , . . . , 7 }
3)将
Figure G2008102261161D00046
...,分别加到x0,...,x7,即:
x 0 = x 0 + x 0 ( 0 ) , x 1 = x 1 + x 1 ( 0 ) , x 2 = x 2 + x 2 ( 0 ) , x 3 = x 3 + x 3 ( 0 ) ,
x 4 = x 4 + x 4 ( 0 ) x 5 = x 5 + x 5 ( 0 ) , x 6 = x 6 + x 6 ( 0 ) , x 7 = x 7 + x 7 ( 0 ) ;
4)对剩下的消息块继续2)、3)的操作,直到最后一个消息块。
(5)散列输出:并行迭代结束后,最后的输出结果即为256比特的散列值:x0||x1||x2||x3||x4||x5||x6||x7。根据不同场合的应用需求,通过输出变换,得到输出结果为120,160,192或224比特的消息摘要。
由于采用了上述技术方案,本发明具有如下优点和效果:
(1)本发明混合运算使用了耦合整数非线性映射 ( x j ( i + 1 ) = F ( x j ( i ) ) + ( F ( x j - 1 mod p ( i ) ) < < < 21 ) + ( F ( x j + 1 mod p ( i ) ) < < < 11 ) , 式中,F:
Figure G2008102261161D000418
Figure G2008102261161D000419
及两个基本逻辑函数(x(y∨(~z),x y z w),使得整数非线性映射具有均匀分布性及良好的非线性特征,并且实现简单,运算速度快,但它是单变量间的1-1映射,不存在值碰撞问题。每一次映射变换除了能使状态变量左移一位之外,最高比特位的差分特性还将引发该状态变量产生最大的差分扩展码字重量,而且通过循环移位及耦合扩散,每一消息比特差分均有机会触发动态差分扩散。而两个基本逻辑函数与整数帐篷映射的混合使用,又加速了状态变量间的差分扩散。
(2)本发明采用分段式非线性码字扩展方式,并且在混合函数中仅使用通过递归方式生成的扩展码字序列部分,加速了消息在混合运算中的扩散及混淆过程。
(3)相对于传统Hash函数的操作步只能用串行方式实现,本发明的压缩函数内部的迭代结构与MD5、SHA-1、SHA-256等不同,适应于并行方式实现。
(4)本发明描述简单,易于实现,借鉴并改进了混沌密码学研究中广泛采用的帐篷映射模型,将其从实数域变换到整数集中,应用到消息扩展及压缩函数的混合运算,进而充分利用了帐篷映射拉伸与折叠的非线性本质与均匀分布的特性,而且本发明运算过程全部采用基于32位操作数的一些简单位操作,便于软硬件高速实现。
附图说明
图1为本发明散列函数结构示意图。
图2为本发明所采用的耦合映像系统模型在随机选取一组初值时状态变量
Figure G2008102261161D00051
经12000次迭代的结果,说明耦合映像系统模型具有较为理想的均匀分布特性。
图3是对本发明所采用分段式非线性码字扩展方案进行差分扩散特性试验的结果。实验方法是:随机选取一个消息分组(512比特),每次改变一个比特,观察其在随后的递归过程中对1536(48*32)个扩展比特位的影响。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
本发明的方法采用分段式非线性码字扩展方案,通过整数非线性映射拉伸与折叠的非线性本质实现消息的非线性扩展,增强了码字扩展的非线性扩散程度,提高了运算效率。将整数非线性映射与逻辑函数相结合,作为压缩函数混合运算的主要非线性部件,具有较为理想的混淆与扩散特性。压缩函数内部采用并行迭代结构,有利于软硬件高速并行实现。
本发明方法具体包括以下步骤:
(1)消息填充:将任意长度的明文消息M分割成1024比特的消息块M0,...,Mi,...,Mt,最后一个块填充为:Mt=*...*10...0Mdlen(H)Length(M),其中,Mdlen(H)表示输出的散列长度,长度为10比特,Length(M)表示M的长度的二进制形式,长度为64比特。将每个消息块Mi划分成两组,每组由16个32比特的消息字组成,分别为m0,m1,...,m15
Figure G2008102261161D00052
...,
Figure G2008102261161D00054
例如:如果拟输出的散列长度为256比特,明文为900位二进制数,表示成十六进制数为
AFCE234789236ABD9485727892358934572340932945DAB43958739093ECD871234687234518231
876FACB823769123749612374521789123746DF90876123EAD9823408349698778FFFCDE8976234
762342345645AEAFCE234789236ABD948572789235823408349698778FFFC876FAC
于是添加1个“1”,49个“0”,接着添加256比特输出散列长度所对应的编码(十个“0”),最后再加上64比特串(900)10=00000000 00000768,共1024比特,因而只有一个填充消息块,将其划分成两组,每组由16个32比特的消息字组成:
组1(m0,m1,…,m15):
AFCE2347 89236ABD 94857278 92358934 57234093 2945DAB4 39587390 93ECD871
23468723 45182318 76FACB82 37691237 49612374 52178912 3746DF90 876123EA
组2(
Figure G2008102261161D00055
...,
Figure G2008102261161D00057
):
D9823408 34969872 8FFFCDE8 97623476 23423456 45AEAFCE 23478924 6ABD9485
72789235 82340834 9698778F FFC876FA C8000000 00000000 00000000 00000768
(2)初始化散列值及参数设定:
x 0 ( 0 ) = 0 x 6 A 09 E 667 , x 1 ( 0 ) = 0 xBB 67 A E 85 , x 2 ( 0 ) = 0 x 3 C 6 EF 372 , x 3 ( 0 ) = 0 xA 54 FF 53 A ,
x 4 ( 0 ) = 0 x 510 E 527 F , x 5 ( 0 ) = 0 x 9 B 05688 C , x 6 ( 0 ) = 0 x 1 F 83 D 9 AB , x 7 ( 0 ) = 0 x 5 BE 0 CD 19 .
k0=0x5a827999,k1=0x6ed9eba1,k2=0x8f1bbcdc,k3=0xca62c1d6,
k4=0x99728a5a,k5=0x1abe9de6,k6=0xcdcbb1f8,k7=0x6d1c26ac.
(3)按照下式进行非线性分段式码字扩展:
Figure G2008102261161D00069
码字扩展过程如下:
1)将组1(m0,m1,...,m15)(组2(
Figure G2008102261161D000610
Figure G2008102261161D000611
...,
Figure G2008102261161D000612
))依序赋值给Wt(0≤t≤15);
2)按下式进行10次迭代操作:
Wt=Wt-3+Wt-8+Wt-14+Wt-16+(Wt-1Wt-2Wt-15)<<<13+(Wt-1Wt-4Wt-11)<<<23
3)接着利用非线性映射进行码字扩展(38次迭代操作),得到扩展后的码字序列
W0,W1…,W63(
Figure G2008102261161D000613
Figure G2008102261161D000614
…,
Figure G2008102261161D000615
):
             
Figure G2008102261161D000616
       Wt=Wt-2+Wt-3+Wt-9+Wt-16
例如:对于前面由给定的消息块划分出的组1(m0,m1,…,m15):
AFCE2347 89236ABD 94857278 92358934 57234093 2945DAB4 39587390 93ECD871
23468723 45182318 76FACB82 37691237 49612374 52178912 3746DF90 876123EA
进行码字扩展操作后,得到的扩展码字序列为(W0,W1…,W63):
AFCE2347 89236ABD 94857278 92358934 57234093 2945DAB4 39587390 93ECD871
23468723 45182318 76FACB82 37691237 49612374 52178912 3746DF90 876123EA
7308A6CC 9CE24DBB E6914A0D 602D324A 1FFA86FF A707F798 1C2DF3DA 397234AA
C1452E36 2E2A5FBE BB1351D6 A71A88FB DCFCC27F D978ACFA AA4F865A 244371A3
5999F0D7 4596634A 02469600 4595D224 CBE26D6D 7032FC8A 689EC657 762CED39
72E8B3F7 19EC269B D22B425E 19A9B522 33D84D33 7BDA4D88 4E37E657 3318DF50
4BE5756C 18F9F62A 0289D577 35507488 084523EF 3C746784 323A258A A9A53E8E
C32E8209 CBA0028D 67B09A63 2B080552 D3819BD9 8357991A 8A4AC229 9825AAF2
对于前面由给定的消息块划分出的组2(
Figure G2008102261161D00072
,…,
Figure G2008102261161D00073
):
D9823408 34969872 8FFFCDE8 97623476 23423456 45AEAFCE 23478924 6ABD9485
72789235 82340834 9698778F FFC876FA C8000000 00000000 00000000 00000768
进行码字扩展操作后,得到的扩展码字序列为(
Figure G2008102261161D00074
Figure G2008102261161D00075
…,
Figure G2008102261161D00076
):
D9823408 34969872 8FFFCDE8 97623476 23423456 45AEAFCE 23478924 6ABD9485
72789235 82340834 9698778F FFC876FA C8000000 00000000 00000000 00000768
0300B20B D4CE6A58 C23E6346 E3DCB720 1927C7C5 9809A3B9 297E1E9C 98F7B133
9E0F4508 5B1B52DB 959F6DCA 540E61B8 7E36A5B5 A81CCAD7 A78AC0E5 D13BBD29
C53F154F B8AB2176 DB662B09 7BE65AD7 42A5E65F 28CE0A99 44A5E610 261638D9
78F72659 33CBA6F8 3A8809CD 01A25E11 D914ACF3 7854CFBA 0344BC1F F0A99F71
F73317B0 FE562DEA 854BCCBB 4968CADE 009798DC 309A1C9F 2B3AE046 32272A98
1EA85A16 25A01FCE 16AF1CF5 7C7F4F5E 7F27F1C3 17067819 FDD7FA7F 2C5CD3B6
(4)并行方式的混合迭代运算:
并行混合运算是对耦合映像系统模型的一个迭代计算过程。耦合映像系统模型为:
x j ( i + 1 ) = G ( x j ( i ) ) + ( G ( x j - 1 mod p ( i ) ) < < < 21 ) + ( G ( x j + 1 mod p ( i ) ) < < < 11 )
该模型在空间方向上展示出丰富而复杂的动力学行为,迭代该式产生的时间序列具有理想的均匀分布特性。
这里,取p=8,j=0,...,7。图2是该耦合映像系统模型在随机选取一组初值时状态变量经12000次迭代的结果。
混合迭代计算过程如下:
1) x 0 = x 0 ( 0 ) , x 1 = x 1 ( 0 ) , x 2 = x 2 ( 0 ) , x 3 = x 3 ( 0 ) , x 4 = x 4 ( 0 ) , x 5 = x 5 ( 0 ) , x 6 = x 6 ( 0 ) , x 7 = x 7 ( 0 ) ;
2)For t=0to11
  {当t为偶数时
   k=(t/2)*8+16;
   
Figure G2008102261161D000717
    x i = G i + ( ( G i + 1 mod 8 &CirclePlus; G i + 2 mod 8 &CirclePlus; G i + 3 mod 8 &CirclePlus; G i + 4 mod 8 ) < < < 11 )
       
Figure G2008102261161D000719
当t为奇数时
k=((t-1)/2)*8+16;
Figure G2008102261161D000720
Figure G2008102261161D000721
+ ( ( G i - 1 mod 8 &CirclePlus; G i - 2 mod 8 &CirclePlus; G i - 3 mod 8 &CirclePlus; G i - 4 mod 8 ) < < < 11 ) + k i i = 0 , . . . , 7 }
3)将
Figure G2008102261161D00081
...
Figure G2008102261161D00082
分别加到x0,...,x7,即:
x 0 = x 0 + x 0 ( 0 ) , x 1 = x 1 + x 1 ( 0 ) , x 2 = x 2 + x 2 ( 0 ) , x 3 = x 3 + x 3 ( 0 ) ,
x 4 = x 4 + x 4 ( 0 ) x 5 = x 5 + x 5 ( 0 ) , x 6 = x 6 + x 6 ( 0 ) , x 7 = x 7 + x 7 ( 0 ) ;
4)对剩下的消息块继续2)、3)的操作,直到最后一个消息块。
在12轮次的迭代过程中,8个连接变量的值可采取并行方式更新。
下面是迭代计算的实施例:
W0,W1…,W15
AFCE2347 89236ABD 94857278 92358934 57234093 2945DAB4 39587390 93ECD871
23468723 45182318 76FACB82 37691237 49612374 52178912 3746DF90 876123EA
Figure G2008102261161D000811
Figure G2008102261161D000812
…,
Figure G2008102261161D000813
D9823408 34969872 8FFFCDE8 97623476 23423456 45AEAFCE 23478924 6ABD9485
72789235 82340834 9698778F FFC876FA C8000000 00000000 00000000 00000768
对t=0到t=11计算得到表1的结果。
表1迭代计算
最后的输出为:
x0=6A09E667+D1F501E6=3BFEE84D,
x1=BB67AE85+E71F0E3F=A286BCC4,
x2=3C6EF372+72030D17=AE720089,
x3=A54FF53A+EF2ECB19=947EC053,
x4=510E527+4ADB9311=9BE9E590,
x5=9B05688C+DD6FBF3E=87527CA,
x6=1F83D9AB+FAC89F8B=1A4C7936,
x7=5BE0CD19+F480ADE2=50617AFB。
(5)散列输出:
并行迭代结束后,最后的输出结果即为256比特的散列值:x0||x1||x2||x3||x4||x5||x6||x7。根据不同场合的应用需求,通过输出变换,得到输出结果为128,160,192或224比特的消息摘要。
256比特散列值:并行迭代结束后,最后的输出结果即为256比特的散列值:x0||x1||x2||x3||x4||x5||x6||x7=3BFEE84D A286BCC4 AE720089 947EC053 9BE9E59087527CA 1A4C7936 50617AFB。
224比特散列值为:x0||x1||x2||x3||x4||x5||x6=3BFEE84D A286BCC4 AE720089947EC053 9BE9E590 87527CA 1A4C7936。
192比特散列值:把x6,x7分解为
x 6 = x 6,5 6 x 6,4 5 x 6,3 5 x 6,2 6 x 6,1 5 x 6,0 5 , x 7 = x 7,5 6 x 7,4 5 x 7,3 5 x 7,2 6 x 7,1 5 x 7,0 5
192比特散列值为y0||y1||y2||y3||y4||y5,这里
y 0 = x 0 + ( x 6,5 6 x 7,5 6 ) , y 1 = x 1 + ( x 6,4 5 x 7,4 5 ) , y 2 = x 2 + ( x 6,3 5 x 7,3 5 ) ,
y 3 = x 3 + ( x 6,2 6 x 7,2 6 ) , y 4 = x 4 + ( x 6,1 5 x 7,1 5 ) , y 5 = x 5 + ( x 6,0 5 x 7,0 5 ) .
y0||y1||y2||y3||y4||y5=3BFEE9E1 A286BF07 AE72020A 947EC7F1 9BE9E6C778752AA5。
160比特散列值:把x5,x6,x7分解为
x 5 = x 5,4 7 x 5,3 6 x 5,2 7 x 5,1 6 x 5,0 6 , x 6 = x 6,4 7 x 6,3 6 x 6,2 7 x 6,1 6 x 6,0 6 , x 7 = x 7,4 7 x 7,3 6 x 7,2 7 x 7,1 6 x 7,0 6
160比特散列值为y0||y1||y2||y3||y4,这里
y 0 = x 0 + ( x 5,4 7 x 6,4 7 x 7,4 7 ) , y 1 = x 1 + ( x 5,3 6 x 6,3 6 x 7 , 3 6 ) , y 2 = x 2 + ( x 5,2 7 x 6,2 7 x 7,2 7 ) ,
y 3 = x 3 + ( x 5,1 6 x 6,1 6 x 7,1 6 ) , y 4 = x 4 + ( x 5,0 6 x 6,0 6 x 7,0 6 ) .
y0||y1||y2||y3||y4=3C0DEEF5 A2879F10 AE86A420 9480B97E 9BEA934B。
128比特散列值:
y0=x0+x4,y1=x1+x5,y2=x2+x6 y3=x3+x7.
y0||y1||y2||y3=D7E8CDDD 1AFBE48E C8BE79BF E4E03B4E
散列函数被普遍应用于数字安全的几乎所有方面,比如密码保护,数字签名,时间戳等,在密码协议设计中,可以灵活地使用散列函数来增加安全性。
关于非线性映射
Figure G2008102261161D000917
由来的说明:
帐篷映射是混沌研究中十分重要的例子,它的定义是:
F &alpha; : x i = x i - 1 &alpha; , 0 &le; x i - 1 < &alpha; , 1 - x i - 1 1 - &alpha; , &alpha; &le; x i - 1 &le; 1 .
帐篷映射的优异特性之一是其具有均匀的分布函数,在实数域内其性态是混沌的。当参数α=0.5时,将其由实数域运算等价转化为整数运算:
F : x n + 1 = 2 x n + 1 , x n &Element; [ 0 , 2 k - 1 ) 2 ( 1 - x n ) , x n &Element; [ 2 k - 1 , 1 ]
其中1=2k-1。我们将映射F称为整数非线性映射,它服从[0,1]上的均匀分布,具有拉伸与折叠的非线性本质,其拉伸特性最终导致相邻点的指数分离,其折叠特性则保持生成序列有界,且引起映射不可逆。
定义D=231,在GF(232)内,可用C语言中的三元运算符(?:)将上面给出的整数非线性映射描述为:
xn+1=xn<D?(xn<<1)+1:~xn<<1
显然,该式可用简单的逻辑判断、逻辑取反及移位操作予以实现。若用汇编语言或硬件实现,则其操作可以进一步简化为:测试字的最高位是否为0,若为0,则左移一位加1,否则,则各位求反后,左移一位。虽然操作十分简单,但是这里遇到if区块,它会编译成跳转指令,而跳转指令会影响现代超流水线CPU的流水线效率,一旦分支预测失败,就可能阻断流水,从而浪费大量的指令周期。为了避开if跳转,给出整数非线性映射的另一种等价形式:
Figure G2008102261161D00103
该式全部采用简单指令实现,完全避免了跳转操作。
实施例1:应用本发明进行数字签名
数字签名是对网上传输的电子报文进行签名确认的一种方式,目前已经应用于网上安全支付系统、电子银行系统、电子证券系统、安全邮件系统、电子订票系统、网上购物系统、网上保税等一系列电子商务应用的签名认证服务。数字签名对安全性和防伪造性的要求较高,并且要求验证速度比签名速度要快,特别是联机在线实时验证。目前数字签名算法中广泛采用了安全散列算法(SHA-1),在SHA-1的安全性遭受严重威胁的情况下,有必要采用更为安全的散列算法。本发明方法安全性好,执行速度快,特别适合应用于数字签名。下面给出用本发明方法及RSA算法对一个合同文本进行数字签名的例子。
1)给定一个合同文本(需要签名的消息)
“This contract is made by and between the buyers and the sellers,whereby thebuyers agree to buy and the sellers agree to sell the under mentioned commodityaccording to the terms and conditions stipulated below:to be packed properly bysellers,suitable for long-distance land transportation and well protected againstdampness,moisture,shock,rust.the sellers shall be liable for any loss attributableto inadequate or improper protective measures taken by the sellers in regard topacking.on the surface of each package,the package number,measurement,grossweight,net weight and the wordings and the lifting position shall be stenciled infadeless paint.”
2)把上述需要签名的消息作为本发明方法的输入,由此输出一个定长的安全散列值(128比特):
202BA810 F534B3A6 9FBFDDED 873F2DEA
3)RSA算法的一对密钥:
Modulus(N):
678E60FAAA21F56DE2D250E5CA2ADD69FC2622F122D370944D65E59C18FB0BD1Private Exponent(D):
4663B631CC6146D5499F51D3D046B0B70DAD2D4D53960F7FD5E72ADAA0ABD31DPublic Exponent(E):10001
4)合同发送方用自己的私钥对由合同文本生成的散列值加密形成签名:
50B627E01486F6260FA8CB61BB7C11A7F077F6AEF9F5445AD93096B1E69CC7E4
5)将合同文本和签名传送出去,接受方收到合同文本,根据收到的合同文本计算一个散列值,同时使用发送方的公钥对签名解密。若解密后的散列码和计算得出的散列码一致,则签名时有效的。因为只有发送方知道自己的私钥,所以,只有发送方才能生成合法的签名。
若合同文件被稍微篡改,比如:
最后一个字母改为s,则生成的散列值为
9895129E B931281C 10A11B95 C96C8750
将文件的首字母“T”改为“t”,则生成的散列值为
3D13EF1B 6AE69B5C 426BBC43 B5934975
文本最后增加一个空格,则生成的散列值为
E4D14C8A 7F3314D7 7BDC630D 4734F3D3
可见,合同文件只要稍微更改,解密后的散列值和计算得出的散列值就会完全不同。
实施例2:应用本发明进行密码保护
用户帐户的安全保护是目前电子商务活动的一个重要技术问题。对于用户来讲,最关心的问题是口令的保密,口令的泄密将会导致用户的帐号被他人盗用。通常用户的帐号信息保存在用户帐号数据库中,如果用户的口令在数据库中以明文方式存放,所有有权访问用户帐号数据库的个人可以容易地得到其他人的口令。如果黑客得到了访问用户帐号数据库的机会,那么,所有用户的口令将被泄露。若在用户帐号数据库中不直接存放用户的口令而存放口令的散列值,则可达到有效保护用户口令的目的。为了防止“字典”攻击,在用户帐号数据库中不直接存放口令的散列值,而存放一随机字符串和用户口令相加所构成的字符串的散列值。例如:若用户设定口令为:abc123,存放的随机字符串为:sdafhb2n4c1a8sdjhf1sa,则存放应用本发明方法生成的散列值(256比特):50d0eaob1c8f5668399cd529d39d3c9a74556062b05928864c040ed6816a42b9。由于散列函数的单向性,黑客即使获得该散列值,也无法获得该用户的口令。
为了验证本发明方法的效果,对上述方法得到的散列函数的性能分析如下:
1.分段式非线性码字扩展方案的差分扩散特性分析
对本发明算法所采用分段式非线性码字扩展方案进行差分扩散特性试验:随机选取一个消息分组(512比特),每次改变一个比特,观察其在随后的递归过程中对1536(48*32)个扩展比特位的影响,测试结果如图3所示。
表2给出SHA-1、SHA-256及本发明算法分别采用的码字扩展方式的消息差分扩展最小及最大码字重量。这里实验得出的码字重量是在随机选定一组消息(512比特),每次改变其一个比特时得到的结果。模加运算具有非线性特征,本发明算法采用的分段式非线性码字扩展方案在采用模加运算的基础上,进一步引入了整数非线性映射,使码字扩散过程变得十分复杂.表2列出的实验结果足以说明,分段式非线性码字扩展方式加剧了消息差分扩散程度。另外,在P4、2.0GHz主频条件下,对SHA-256扩展码字及本文给出的分段式非线性扩展码的运算效率进行测试,后者比前者快约10%左右。
        表2 三种码字扩展方式的比较
Figure G2008102261161D00121
2.本发明算法非线性扩散特性的统计分析
用统计方法对密码算法的非线性扩散程度进行分析通常要包括算法的完全性、雪崩效应及严格雪崩准则等方面。完全性是指函数输出值的每一个比特都与消息输入的所有比特有关,雪崩效应是指消息输入中任意一个比特的改变都应造成输出平均半数比特的改变,严格雪崩准则是指消息输入中任意一个比特的改变都会造成输出的每一个比特以1/2的概率发生改变。
设H是一个n比特输入m比特输出的Hash算法,输入向量为x=(x1,...,xn)∈(0,1)n,仅改变x的第i比特后的输入向量为x(i)∈(0,1)n。它们经过压缩映射后对应的输出向量分别记为H(x)、H(x(i))∈(0,1)m
(.)j表示向量的第j比特,w(.)表示向量的汉明重量,#{.}表示集合的势。设X为Hash算法输入的样本空间,记aij=#{x∈X|(H(x))j≠(H(x(i)))j}(其中i=1,2,...,n;j=1,2,...,m)表示X中的输入向量x和x(i)对应的输出向量之间第j比特不同的个数;bij=#{x∈X|w(H(x(i))-H(x))=j}(其中i=1,2,...,n;j=1,2,...,m)表示X中的输入向量x和x(i)对应的输出向量之间的差分汉明重量为j的个数。定义3个统计度量:
完备性程度的度量: d c = 1 - # { ( i , j ) | a ij = 0 } nm
雪崩效应程度的度量: d a = 1 - &Sigma; i = 1 n | 1 # X &Sigma; j = 1 m 2 j b ij - m | nm
严格雪崩程度的度量: d sa = 1 - &Sigma; i = 1 n &Sigma; j = 1 m | 2 a ij # X - 1 | nm
若H(.)是随机变换,zα/2表示标准正态分布的α/2分位点,则有:
1)测试的样本量X至少应为nm×(zα/2)2
2)p(dc)=1-2-#X≈1.0;
3) E { d a } = 1.0 - 2 / ( &pi; &times; m &times; # X ) , 其置信区间为
( E { d a } - z &alpha; / 2 1 / ( n &times; m &times; # X ) , E { d a } + z &alpha; / 2 1 / ( n &times; m &times; # X ) ) ;
4) E { d sa } = 1.0 - 2 / ( &pi; &times; # X ) ) , 其置信区间为
( E { d sa } - z &alpha; / 2 1 / ( n &times; m &times; # X ) , E { d sa } + z &alpha; / 2 1 / ( n &times; m &times; # X ) ) .
测试其统计量dc,da,dsa,若落入其置信区间,则说明散列算法满足非线性扩散的基本要求,即可认为散列函数具有很好的完全性和雪崩效应,满足严格雪崩准则。
取输入长度n=512比特,输出长度m=256比特,在显著水平α=0.05下,理论上得到如下结果:
1)zα/2=1.96,选取样本容量X为503526;2)dc=1.000000;3)E{da}=0.999930,其置信区间为(0.9999221,0.9999373);4)E{dsa}=0.998876,其置信区间为(0.9988679,0.9988831).
随机选取503526组512比特字(取自Visual C的Rand())的样本集X作为本文算法的消息输入,对本发明算法进行实际测试,实测结果如表3所示。
     表3 非线性扩散性能逐拍统计结果
Figure G2008102261161D00141
对SHA-256进行同样的测试,实测结果如表4所示。
            表4 SHA-256扩散性能的逐拍统计结果
Figure G2008102261161D00142
从表3可以看出,在显著水平α=0.05的情况下,本发明方法在迭代1拍之后统计量dc,da,dsa落入了各自的置信区间,从而满足了散列算法的非线性扩散性要求,明显优于表4给出的SHA-256的实验结果(由于本发明算法采用了并行迭代结构,其迭代1拍可以粗略地对应于SHA-256迭代8拍,依次地,迭代2拍对应于SHA-256迭代16拍,......)。
3.本发明算法抗碰撞性分析
抗碰撞性是散列函数的一个非常重要的性质,即找到两个能产生相同散列值的随机消息在计算上是不可能的。通过以下的实验可以定量测试本文算法的抗碰撞能力:在明文空间中随机选取一段明文求出其散列值,并以单字节字符的方式来表示,然后随机地选择并改变明文中1比特的值得到另一新的散列结果。定义两个散列值之间的距离为
其中ei
Figure G2008102261161D00152
分别是最初的和新的散列值的第i个字符,S为散列值对应字符的个数,函数t(·)将ei转换成对应的十进制数。若两个散列值分别由两个独立的均匀分布的随机序列所组成,则理论上散列值的单位字符的平均距离为85.33。
取输入长度n=1024比特,随机选择输入样本,测试其输出的单位字符的平均距离。对本发明进行10万次统计测试,得到实际的测试结果如表5所示。
                     表5 抗碰撞性的逐拍统计结果
Figure G2008102261161D00153
从表5可以看出,本文算法在迭代2拍之后,其输出的单位字符的平均距离趋于稳定,并且与理论值十分接近。这一测试结果表明,仅有1比特不同的两个明文所得到的两个散列值统计上等价于由相互独立的两个均匀随机序列构成。因此,依据本概率模型,无法将本发明方法与随机映射相区分。
为便于比较,表6给出SHA-256的抗碰撞性的实测结果。从表6可以看出,SHA-256算法在迭代24步之后,其输出的单位字符的平均距离趋于稳定。
                      表6 SHA-256算法抗碰撞性的逐拍统计结果
Figure G2008102261161D00154
4.本发明算法的执行效率
表7给出了在P4、2.0GHz主频条件下,三种散列函数(本发明算法,SHA-256,SHA-1)用C语言实现的速度的测试结果。从表7可见,本发明算法明显比传统散列算法的速度要快。另外,本发明算法的内部迭代结构使得它易于并行实现,在时间性能上还有较大的提升空间。
         表7 三种Hash函数的速度比较(Mbps)
Figure G2008102261161D00161

Claims (1)

1.一种基于整数非线性映射的散列函数构造方法,包括如下具体步骤: 
(1)消息填充,将任意长度的明文消息M分割成1024比特的消息块M0,…,Mi,…,Mt,最后一个块填充为:Mt=*…*10…0Mdlen(H)Length(M),其中,“*…*”为剩余消息比特,“10…0”为剩余消息比特不足950(1024-10-64)比特时的填充位,Mdlen(H)表示输出的散列长度,长度为10比特,Length(M)表示M的长度的二进制形式,长度为64比特 ,将每个消息块Mi划分成两组,每组由16个32比特的消息字组成,分别为m0,mi,…,m15
Figure FDA0000490693330000011
(2)给定一组初始向量及参数: 
Figure FDA0000490693330000012
k0=0x5a827999,kl=0x6ed9eba1,k2=0x8f1bbcdc,k3=0xca62c1d6, 
k4=0x99728a5a,k5=0xlabe9de6,k6=0xcdcbb1f8,k7=0x6d1c26ac, 
(3)非线性分段式码字扩展方式: 
先将消息字m0,m1,…,m15
Figure FDA0000490693330000013
依序赋值给Wt
Figure FDA0000490693330000014
(0≤t≤15); 
Figure FDA0000490693330000015
然后,利用上式对消息字m0,mi,…,m15进行消息扩展,先通过
Figure FDA0000490693330000017
Figure FDA0000490693330000018
进行10次迭代操作,随后再利用非线性映射
Figure FDA0000490693330000019
Figure FDA00004906933300000110
进行码字扩展,得到扩展码字序列W16…,W63
Figure FDA00004906933300000111
其中:+表示mod232的加法运算,∨表示逐比特逻辑或,
Figure DEST_PATH_FDA0000488257560000014
表示逐比特逻辑异或,<<表示左移位操作,>>表示右移位操作,<<<表示循环左移位操作, 
(4)采用耦合映像系统模型进行并行方式的混合迭代运算: 
1)
Figure FDA00004906933300000114
2)t从0开始,步长为1,变化到11,进行12轮迭代运算 ,具体过程如下: 
For t=0 to 11 
{当t为偶数时 
k=(t/2)*8+16; 
Figure FDA0000490693330000021
i=0,…,7, 
Figure FDA0000490693330000022
i=0,…,7, 
当t为奇数时 
k=((t-1)/2)*8+16; 
i=0,…,7, 
i=0,…,7, 
),其中:~表示求反运算; 
3)将
Figure FDA0000490693330000025
分别加到x0,…,x7,即: 
Figure FDA0000490693330000026
4)对剩下的消息块继续2)、3)的操作,直到最后一个消息块, 
(5)算法散列输出 
并行迭代结束后,最后的输出结果即为256比特的散列值:x0||xl||x2||x3||x4||x5||x6||x7 ,根据不同场合的应用需求,通过输出变换,得到输出结果为160,192或224比特的消息摘要。 
CN200810226116.1A 2008-11-14 2008-11-14 基于整数非线性映射的散列函数构造方法 Expired - Fee Related CN101741560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810226116.1A CN101741560B (zh) 2008-11-14 2008-11-14 基于整数非线性映射的散列函数构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810226116.1A CN101741560B (zh) 2008-11-14 2008-11-14 基于整数非线性映射的散列函数构造方法

Publications (2)

Publication Number Publication Date
CN101741560A CN101741560A (zh) 2010-06-16
CN101741560B true CN101741560B (zh) 2014-07-02

Family

ID=42464500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810226116.1A Expired - Fee Related CN101741560B (zh) 2008-11-14 2008-11-14 基于整数非线性映射的散列函数构造方法

Country Status (1)

Country Link
CN (1) CN101741560B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902332A (zh) * 2010-07-16 2010-12-01 北京邮电大学 基于耦合混沌映射系统的带密钥的散列方法
CN102289425B (zh) * 2011-04-28 2015-05-06 哈尔滨工业大学 在信息安全中基于可扩展精度混沌的哈希算法
CN102546157B (zh) * 2011-12-14 2014-06-18 北京航空航天大学 一种抵抗能量分析的随机混合加密系统及其实现方法
US9632782B2 (en) * 2012-03-30 2017-04-25 Intel Corporation Method and apparatus to process SHA-2 secure hashing algorithm
US8953785B2 (en) * 2012-09-28 2015-02-10 Intel Corporation Instruction set for SKEIN256 SHA3 algorithm on a 128-bit processor
DE102013208836A1 (de) * 2013-05-14 2014-11-20 Robert Bosch Gmbh Verfahren und Vorrichtung zur Erzeugung eines Hash-Werts
CN104253793A (zh) * 2013-06-27 2014-12-31 政务和公益机构域名注册管理中心 域名系统的安全扩展的密钥签名密钥和区域签名密钥的更新方法
CN103701585A (zh) * 2014-01-10 2014-04-02 中国地质调查局水文地质环境地质调查中心 一种基于混沌序列的地质调查仪器的加密方法及系统
CN104933182B (zh) * 2015-06-30 2018-05-11 山东管理学院 一种确定视频哈希有效长度的方法
CN105391544A (zh) * 2015-11-19 2016-03-09 北京石油化工学院 一种适用于RFID认证系统的Hash函数构造方法
CN107666387A (zh) * 2016-07-27 2018-02-06 北京计算机技术及应用研究所 低功耗并行哈希计算电路
CN106301764B (zh) * 2016-10-09 2020-09-25 上海泥娃通信科技有限公司 基于路径散列的消息摘要方法和系统
CN106487495B (zh) * 2016-11-03 2019-12-20 北京石油化工学院 基于整数混沌的轻量级rfid认证方法
WO2019043921A1 (ja) * 2017-09-01 2019-03-07 三菱電機株式会社 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
CN110113170B (zh) * 2019-04-22 2021-09-14 杭州德旺信息技术有限公司 一种sha256值生成系统
CN114513593B (zh) * 2022-01-25 2024-04-16 重庆医药高等专科学校 一种海量图片采集工作方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237320A (zh) * 2008-02-04 2008-08-06 西安理工大学 利用无穷维超混沌构造单向散列函数进行密码保护的方法
CN101296079A (zh) * 2007-04-23 2008-10-29 索尼(中国)有限公司 基于嵌入式混沌映射的单向散列函数的构造方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296079A (zh) * 2007-04-23 2008-10-29 索尼(中国)有限公司 基于嵌入式混沌映射的单向散列函数的构造方法和系统
CN101237320A (zh) * 2008-02-04 2008-08-06 西安理工大学 利用无穷维超混沌构造单向散列函数进行密码保护的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘建东.基于整数耦合帐篷映射的单向Hash 函数及其性能分析.《计算机研究与发展》.2008,(第3期),
基于整数耦合帐篷映射的单向Hash 函数及其性能分析;刘建东;《计算机研究与发展》;20080331(第3期);全文 *

Also Published As

Publication number Publication date
CN101741560A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101741560B (zh) 基于整数非线性映射的散列函数构造方法
Alenezi et al. Symmetric encryption algorithms: Review and evaluation study
Rodriguez-Henriquez et al. A brief introduction to modern cryptography
CN101834724A (zh) 一种公钥认证加密方法及数字签名方法
CN110401627B (zh) 一种适用于分组密码算法感染防护的抗差分故障攻击安全性评估方法和系统
Tiwari et al. A secure and efficient cryptographic hash function based on NewFORK-256
Milad et al. Comparative study of performance in cryptography algorithms (Blowfish and Skipjack)
Walia et al. Implementation of new modified MD5-512 bit algorithm for cryptography
CN103973439A (zh) 一种多变量公钥加密方法
CN113094633A (zh) 一种基于标量等式内积的高效范围证明方法
Hong et al. A new dedicated 256-bit hash function: FORK-256
Ullah et al. An efficient construction of S-box based on the fractional-order Rabinovich–Fabrikant chaotic system
Bakhtiari et al. A message authentication code based on latin squares
Berbain et al. Decim–a new stream cipher for hardware applications
Liu et al. A Fast New Cryptographic Hash Function Based on Integer Tent Mapping System.
Biyashev et al. Modification of the cryptographic algorithms, developed on the basis of nonpositional polynomial notations
Zhou et al. The initialization stage analysis of ZUC v1. 5
Kapalova et al. DEVELOPMENT OF A NEW LIGHTWEIGHT ENCRYPTION ALGORITHM.
Elkamchouchi et al. A new Secure Hash Dynamic Structure Algorithm (SHDSA) for public key digital signature schemes
Rohit et al. Practical Forgery attacks on Limdolen and HERN
Belfedhal et al. Fast and efficient design of a pca-based hash function
Libed et al. Enhancing MD5 Collision Susceptibility
Mohanty et al. A secured cryptographic hashing algorithm
Verma et al. iSIMP with Integrity Validation using MD5 Hash
RP Keyed-CAHASH: a new fast keyed hash function based on cellular automata for authentication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140702

Termination date: 20181114

CF01 Termination of patent right due to non-payment of annual fee