CN101888294A - 杂凑函数diha256及diha512 - Google Patents

杂凑函数diha256及diha512 Download PDF

Info

Publication number
CN101888294A
CN101888294A CN2009100265603A CN200910026560A CN101888294A CN 101888294 A CN101888294 A CN 101888294A CN 2009100265603 A CN2009100265603 A CN 2009100265603A CN 200910026560 A CN200910026560 A CN 200910026560A CN 101888294 A CN101888294 A CN 101888294A
Authority
CN
China
Prior art keywords
diha256
function
diha512
variable
value
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.)
Pending
Application number
CN2009100265603A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN2009100265603A priority Critical patent/CN101888294A/zh
Publication of CN101888294A publication Critical patent/CN101888294A/zh
Pending legal-status Critical Current

Links

Abstract

杂凑函数DIHA256及DIHA512基于64位运算,在MD5轮函数基础上,增加动态查表(工作变量b模加消息子块查表),查表值作为计算的初始化内状态值替代轮函数中的b变量参加运算,并之后延迟插入计算,DIHA256对每个1024分组进行3圈各16步运算。内状态映射值作为辅助链变量,最后模加至工作变量链值,输出256位杂凑值。DIHA512杂凑函数由两个独立不同的DIHA256(仅仅P[256]查表数组不同)并行运算的级联,在额外增加的附加分组xm+1前交叉工作变量链值,并最后互换辅助链变量值模加而并列工作变量链值,构成512位输出。DIHA256及DIHA512构造独特,具有强烈的雪崩性,使得自由起始端,链变量等攻击极其困难,是安全性明显优于现今任何其它杂凑函数的设计。

Description

杂凑函数DIHA256及DIHA512
技术领域:
密码学杂凑函数
背景介绍:
密码学杂凑函数在计算机安全的各个领域起着重要的作用。而随着近年来主要和著名的杂凑函数被攻破,构造新的安全的杂凑函数成为紧迫的问题,然后,构造符合要求的杂凑函数是相当困难的,本发明在专利申请号为200810243163.7“动态输入杂凑函数DIH”发明的基础上构造基于64位计算的DIHA256,和DIHA512。
申请号为200810243163.7“动态输入杂凑函数DIH”的基于32位计算的DIH阐述的发明基本结构为:
预建立一个数组:由所有各种单字节为单元的P[256],在采用MD5轮函数F,G,K基础上,每一步用工作变量b模加子块x[j]查表(P[256])进行字节转换,获得动态的映射值r1加入运算,同时以此查表映射为内状态的映射值随后延迟插入计算,每步获得的内状态映射值依次更新作为辅助链变量,辅助链变量不累加。
发明内容:
运用申请号为200810243163.7“动态输入杂凑函数DIH”的基于32位计算的DIH阐述的基本原理和结构扩展为基于64位运算的基本DIHA256杂凑函数以及DIHA512。
1.扩展为基本DIHA256时的主要变化和内容:
1)扩展为基于64位的计算,并且在F,G,K函数基本运算中用获得的内状态映射值r1取代F,G,K函数中b变量,以增强雪崩性。即改变申请号为200810243163.7“动态输入杂凑函数DIH”三圈48步中每一步中的t表达,例如第一圈中,对于轮函数F:
由t=a+(F(b,c,d)+r1+W+b<<<1)<<<7
改变为:t=a+(F(r1,c,d)+W1+b<<<j)<<<5
在三圈中,将r1由轮函数外的模加,改变为用r1取代工作变量b在函数F,G,K中的位置。
2)规范链值为7个,工作变量为基本的4个64位的寄存器变量,辅助寄存器变量为3个64位寄存器,输出杂凑值为256位,最后的辅助链变量模加至对应工作变量。
(详见稍后算法)
2.延伸扩展为DIHA512时的主要变化和内容:
1)将基本DIHA256分成左右两线独自并行运算,其中左右两线的DIHA256主要采用完全不同的P[256]表,(当然左右两线也可以设置成不同的初始链值)。
2)在原消息常规附加添加后形成的m个分组后,再额外加上一个分组Sx,作为第m+1个分组,Sx的组成详见稍后算法。
3)进入最后一个即m+1个分组运算之前,左线与右线的工作变量链变值互换。
左线右线基本DIHA256输出合并为512位输出。
(详见稍后算法)
具体实施方式:
1.基本DIHA256算法
输入:消息x,长度L比特,L≤2128
输出:x的256比特消息摘要:H(x)
1.1预处理
设置一个固定数组,以所有不同的单字节为单元的P[256],将P[256]放入缓存。(见附表)
设置4个64位寄存器变量a,b,c,d为工作变量,设置3个64位寄存器变量r1 r2,r3为辅助变量。
填充(同SHA512)
在消息x后首先填充比特1,随后填充所需数目的0比特,使得填充后的长度LP满足
LP≡896(mod1024)
填充增加的比特数目为1到1024,填充务必使得消息长度总是增加,即使是原消息x已经满足了上面等式(LP≡896(mod1024)。
添加(同SHA512)
一个表示x原长度L的128位无符号整数最后添加进来(大端表示),消息最终的长度是Lf,则Lf
Lf≡1024*m
即,1024m≡16m*64
格式化的输入由16m个64比特字组成:x0x1...x16m-1
1.2符号:
“←”      表示赋值或同时赋值;
“||”      表示级联;
“<<<n” 为循环左移n比特;
“>>>n” 循环右移n比特;
“+”       表示64位模加;
“Map(b,x[j])→r1
将64位b变量拆分为字节流:s1,s2,s3,s4,s5,s6,s7,s8(大端表示),然后将它们的查表值的字节流级联成64位字:P[s1]||P[s2]||P[s3]||P[s4]||P[s5]||P[s6]||P[s7]||P[s8](大端表示),最后结果赋值给r1。此过程可以用64位寄存器变量来比较方便地说明,例如,令:b为RBX,r1为RDX;BL,DL分别为寄存器RBX和RDX的最低位字节,则:
“DL←P[BL],RBX>>>8,RDX>>>8”;重复7次。
轮函数(源自MD5)
F(b,c,d)=(bANDc)OR((NOTb)AND(d))
G(b,c,d)=(bANDd)OR(cAND(NOTd))
K(b,c,d)=bXORcXORd
1.3初始化设置
定义7个64比特初始链值:
h1=0x6a09e667f3bcc90g;h2=0xbb67ae8584caa73b;h3=0x3c6ef372fe94fg2b
h4=0xa54ff53a5f1d36f1;h5=0x510e537fade682d1;h6=0x9b05688c2b3e6c1f
h7=0x1f83d9abfb41bd68
(这7个链值来自于SHA512)
定义7个链变量并且初始化它们:
H1,H2,H3,H4,H5,H6,H7
(H1,H2,H3,H4,H5,H6,H7)←(h1,h2,h3,h4,h5,h6,h7)
定义3个64位的常数:
W1=0xcdaa8b436ed9eba1,W2=0x6ed9eba18f1bbcdc W3=0x15b49ce581535a99
1.4运行
对于i从0到m-1,复制第i个消息块到缓存:
X[j]←x16i+j,0≤j≤15(格式化的输入由16m个64比特字组成:x0x1...x16m-1),在更新链表前,作3圈,每圈16步的运算:
初始化变量(a,b,c,d)←(H1,H2,H3,H4),(r1,r2,r3)←(H5,H6,H7)
第一圈16步:对j从0到15
1)a=a+r1,b=b+x[j];
2)Map(b,x[j])→r1
3)t=a+F(r1,c,d)+W1+b<<<j)<<<5
4)(a,b,c,d)←(d,t<<<30,b,c);
t←r1;(r1,r2,r3)←(r2,r3,t>>>12)
第二圈16步:对j从16到31
1)a=a+r1,b=b+x[j];
2)Map(b,x[j])→r1
3)t=a+G(r1,c,d)+W2+b<<<j)<<<5
4)(a,b,c,d)←(d,t<<<30,b,c);
t←r1;(r1,r2,r3)←(r2,r3,t>>>12)
第三圈16步:对j从32到47
1)a=a+r1,b=b+x[j];
2)Map(b,x[j])→r1
3)t=a+K(r1,c,d)+W3+b<<<j)<<<5
4)(a,b,c,d)←(d,t<<<30,b,c);
t←r1;(r1,r2,r3)←(r2,r3,t>>>12)
第三圈16步完成后
更新链值:
(H1,H2,H3,H4)←(H1+a,H2+b,H3+c,H4+d)
(H5,H6,H7)←(H5+r1,H6+r2,H7+r3)
1.5完成
最后的杂凑值:H(x)
H(x):(H1+H5)||H2||(H3+H6)||(H4+H7)(大端表示)
附:P[256]表
  S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]
  0   147   32   230   64   108   96   120   128   72   160   249   192   0   224   156
  1   227   33   47   65   162   97   200   129   1   161   250   193   56   225   114
  2   44   34   111   66   59   98   25   130   12   162   179   194   209   226   65
  3   116   35   191   67   131   99   213   131   92   163   196   195   50   227   153
  4   188   36   8   68   211   100   64   132   172   164   23   196   35   228   68
  5   5   37   80   69   37   101   144   133   199   165   16   197   60   229   126
  6   77   38   152   70   117   102   102   134   30   166   104   198   148   230   175
  7   149   39   224   71   197   103   177   135   63   167   140   199   236   231   161
  8   221   40   41   72   14   104   2   136   146   168   228   200   118   232   95
  9   38   41   121   73   94   105   100   137   13   169   53   201   79   233   243
  10   110   42   193   74   166   106   252   138   93   170   206   202   167   234   133
  11   182   43   10   75   246   107   26   139   173   171   98   203   34   235   7
  12   254   44   83   76   143   108   106   140   141   172   163   204   122   236   170
  13   71   45   155   77   223   109   186   141   229   173   251   205   210   237   137
  14   135   46   235   78   48   110   124   142   54   174   88   206   61   238   212
  15   207   47   52   79   128   111   21   143   134   175   176   207   232   239   85
  16   24   48   132   80   208   112   101   144   214   176   9   208   73   240   15
  17   96   49   204   81   33   113   62   145   39   177   89   209   231   241   27
  18   168   50   29   82   113   114   142   146   127   178   189   210   76   242   217
  19   240   51   109   83   139   115   222   147   58   179   22   211   136   243   187
  20   57   52   181   84   219   116   32   148   138   180   42   212   145   244   165
  21   129   53   6   85   245   117   112   149   218   181   130   213   241   245   66
  22   201   54   78   86   174   118   192   150   4   182   43   214   103   246   45
  23   18   55   119   87   105   119   17   151   84   183   159   215   160   247   31
  24   90   56   49   88   185   120   97   152   164   184   247   216   248   248   194
  S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]
  25   178   57   82   89   74   121   55   153   244   185   225   217   81   249   19
  26   11   58   154   90   226   122   242   154   69   186   220   218   216   250   125
  27   99   59   234   91   20   123   67   155   157   187   238   219   205   251   233
  28   195   60   51   92   180   124   36   156   237   188   3   220   46   252   190
  29   253   61   123   93   150   125   70   157   183   189   91   221   184   253   87
  30   86   62   203   94   215   126   151   158   147   190   75   222   202   254   107
  31   158   63   28   95   40   127   239   159   169   191   171   223   115   255   198
2.DIHA512算法:
输入:消息x,长度L比特,L≤2128
输出:x的512比特消息摘要:H(x)
1)左线基本DIHA256函数设置的数组表为P[256],右线基本DIHA256函数设置的数组表为
PR[256],P[256]与PR[256]完全不同。
左线所有变量下标L,右线下标R。
2)预处理的对消息x的填充和附加,同基本DIHA256算法,即LP≡896(mod1024);Lf≡1024*m1024m≡16m*64
消息处理成m个1024比特分组后,复制第一个分组x0并将之变形成为第(m+1)个分组Sx
将x0分组的第一个字节切割然后移至分组的末尾
此时,xm+1=Sx
3)左线和右线各自完成m个分组运算,此时,
(H1L,H2L,H3L,H4L)←(H1L+aL,H2L+bL,H3L+cL,H4L+dL)
(H5L,H6L,H7L)←(r1L,r2L,r3L)
(H1R,H2R,H3R,H4R)←(H1R+aR,H2R+bR,H3R+cR,H4R+dR)
(H5R,H6R,H7R)←(r1R,r2R,r3R)
4)进入第m+1轮分组计算前,
左右两组工作变量的链变值互换:
(t1,t2,t3,t4)←(H1L,H2L,H3L,H4L)
(H1L,H2L,H3L,H4L)←(H1R,H2R,H3R,H4R)
(H1R,H2R,H3R,H4R)←(t1,t2,t3,t4)
5)第m+1分组计算完成时,
左线:(H1L,H2L,H3L,H4L)←(H1L+aL,H2L+bL,H3L+cL,H4L+dL)
(H5L,H6L,H7L)←(r1L,r2L,r3L)
右线:(H1R,H2R,H3R,H4R)←(H1R+aR,H2R+bR,H3R+cR,H4R+dR)
(H5R,H6R,H7R)←(r1R,r2R,r3R)
最后的512位杂凑值:
H(x):(H1L+H5R)||H2L||(H3L+H6R)||(H4L+H7R)
||(H1R+H5L)||H2R||(H3R+H6L)||(H4R+H7L)
(大端表示)
添加的第(m+1)个分组Sx有各种方法制备。采用额外的Sx分组用意是使得消息x在全部添加后的长度至少有2个以上的分组长度,以便能够进行DIHA512最后一轮运算,即:使左线和右线的DIHA256工作变量交叉互换,以及最后512位杂凑值的以辅助链变量交叉混合。
附:PR[256]
  S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]
  0   153   32   89   64   107   96   11   128   90   160   184   192   181   224   0
  1   225   33   209   65   171   97   75   129   154   161   1   193   130   225   180
  2   34   34   18   66   36   98   112   130   218   162   65   194   59   226   110
  3   98   35   82   67   141   99   176   131   27   163   131   195   206   227   182
  4   202   36   146   68   111   100   240   132   99   164   195   196   211   228   95
  5   3   37   210   69   175   101   49   133   163   165   12   197   28   229   243
  6   67   38   19   70   40   102   35   134   219   166   76   198   92   230   52
  7   123   39   83   71   168   103   147   135   227   167   148   199   159   231   207
  8   179   40   139   72   232   104   156   136   228   168   212   200   57   232   204
  9   235   41   203   73   41   105   244   137   37   169   248   201   140   233   20
  10   44   42   4   74   105   106   198   138   102   170   129   202   229   234   80
  11   100   43   68   75   169   107   7   139   174   171   101   203   46   235   64
  12   164   44   132   76   233   108   71   140   238   172   173   204   192   236   128
  13   220   45   196   77   93   109   135   141   47   173   237   205   145   237   81
  14   29   46   5   78   157   110   199   142   50   174   54   206   58   238   121
  15   85   47   69   79   221   111   8   143   122   175   118   207   31   239   143
  16   149   48   133   80   30   112   72   144   186   176   127   208   103   240   32
  17   205   49   197   81   86   113   136   145   250   177   193   209   194   241   217
  18   14   50   6   82   150   114   200   146   187   178   242   210   39   242   144
  S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]   S   P[S]
  19   70   51   126   83   214   115   9   147   251   179   84   211   167   243   178
  20   134   52   246   84   23   116   10   148   78   180   21   212   115   244   16
  21   190   53   55   85   87   117   74   149   142   181   94   213   13   245   51
  22   254   54   247   86   151   118   138   150   216   182   166   214   114   246   38
  23   63   55   56   87   215   119   188   151   25   183   22   215   172   247   53
  24   119   56   113   88   24   120   252   152   26   184   230   216   45   248   222
  25   183   57   177   89   88   121   61   153   91   185   162   217   117   249   185
  26   239   58   241   90   152   122   125   154   155   186   158   218   66   250   77
  27   48   59   42   91   208   123   189   155   226   187   245   219   108   251   165
  28   104   60   106   92   17   124   253   156   120   188   153   220   79   252   223
  29   160   61   170   93   73   125   62   157   116   189   213   221   96   253   249
  30   224   62   234   94   137   126   97   158   2   190   231   222   15   254   236
  31   33   63   43   95   201   127   161   159   60   191   109   223   124   255   191
P[256]和PR[256]在此是为了示例说明,其中数组元素分布可能并非完全是算法所要求的充分随机分布。
6)说明
DIHA512算法虽然也是并行的算法,但与RIPEMD160算法明显不同;不仅仅是采用的轮函数不同。
(一)DIHA512算法是两个独立的基本DIHA256函数的级联,最终的杂凑值是两个独立的基本DIHA256函数链值的并列,而不是RIPEMD160最后的模加混合,这进一步强化了杂凑函数。
(二)DIHA512算法的两个独立的左线右线,即基本DIHA256函数之间的不同,是在于采用了不同的查表数组P[256]和PR[256]来实现,与RIPEMD160采用的方法不同。
(三)DIHA512算法在最后分组之前,两个独立的DIHA256函数互相交换了工作变量的链值,并为保证有2个以上的分组长度而特意增加了一个最后分组即第(m+1)个分组Sx
(四)DIHA512算法最后结果,是在左右两线工作变量链值上交换了辅助链变量r1L,r2L,r3L以及r1R,r2R,r3R并各自模加。
3.关于安全性的说明
1)逆推的难易程度。
杂凑函数的安全性基于其单向性。在同等条件下,我们来比较MD5,SHA系列跟DIHA256逆推的难易程度。
假设我们已知输出:MD5的128位,SHA-1的160位和DIHA256的256位输出,同时已知消息的最后一个分组xm-1
根据MD5的算法和SHA-1的算法,我们很容易逐步逆推到它们工作变量的上一步的状态,直至上一轮(对应于xm-2)结束时的链变量,这对于RIPEMD160以及SHA-2是同样结果;然而我们却无法逆推DIHA上一步的状态,原因很简单,DIHA最后只给出了256位杂凑值
H(x):(H1+H5)||H2||(H3+H6)||(H4+H7)
其中H5,H6,H7分别是不参与累加的链值,也就是最后几步产生的中间状态值r1,r2,r3,从给出的H(x)的256位中很难分离出r1,r2,r3而得到工作变量a,b,c,d最后的链值,因而很难逆推。即便我们已知了最后a,b,c,d的值,以及r1,r2,r3,根据DIHA256算法,我们仍然无法得到其前3步产生的延迟插入值r1,因而仍很难逐步地逆推到上一步,进而逆推至上一轮(对应于xm-2)结束时的链变量。
2)定向性比较和自由IV
单轮单圈输出时,MD5的四个工作变量或者SHA1的五个工作变量之间的关联相对而言是简单和确定的,这很容易设计定向结果。我们考虑在允许自由选择I0V0以及消息xi时,在某个单圈,我们可以很容易预先设计运行几步后的结果,例如,预先设计10步后的结果-----我们可以微调一个或几个子块的比特(例如一个比特),到达我们需要的目标。同样地,对RIPEMD160以及SHA-2我们也能轻易做到。
同样条件下,我们在DIHA256中,很难做到预先设计10步后的结果,原因是,DIHA256中每个下一步依赖上一步的结果去查表,即Map(b,x[j])→r1,同时,当我们微调一个消息子块的比特以试图到达所需目标时,这微调的变化被查表映射无规则放大,再直接进入轮函数的逻辑运算(而不是简单模加),变化被快速雪崩扩散,同时这查表映射的中间值又被延迟后插入其后几步的运算,我们就必须再额外地处理这延迟插入所形成的雪崩变化-----而这必须在其后再调整额外的子块的比特以消除这插入变化;而这额外的调整子块比特本身却又造成了新的映射,引起新的雪崩.....形成计算上的纠缠。
因而,对于自由起始端攻击,攻击DIHA比攻击其他函数大大困难。实际上,DIHA的输入变化雪崩性剧烈,每一步Map(b,x[j])→r1伴随着的是一一对应的查表,每一次查表264的可能被输入轮函数的逻辑结构,同时又被延迟重新插入。因而几步之后,所选择的自由起始端I0V0导致的后续输入就变得面目全非,无法预料,因而实际上的自由起始端攻击很难有效果。
3)级联效果
DIHA512是独立的两个DIHA256函数级联,若h1(x)表示左线DIHA256,h2(x)表示右线DIHA256,DIHA512表示为h(x),则:h(x)=h1(x)||h2(x)
显然,h1(x)和h2(x)是等强度的杂凑函数,因而,求h(x)的一个碰撞等于对于同一消息x求h1(x)和h2(x)同时碰撞。这需要分别计算h1(x)和h2(x)计算量的乘积。显然这增强了强度。由于DIHA512还采用了链变量交叉运算和最后辅助链变量混加,因而即使给出512位输出,实际上很难分离h1(x)和h2(x)的输出。因而并不能期望能够对于h(x)的单个DIHA256的攻击。
4)输出随机性
DIHA系列的基础是MD5的轮函数,而MD5在较长时间内被证明其输出是随机的。DIHA是在MD5轮函数基础上额外添加了组件Map(b,x[j])→r1,并以非累加的中间状态作为额外的链变量以及重插入设置,其中Map(b,x[j])→r1采用的查表是包含所有比特变化的一一对应,这些都不会破坏其原有的随机特性。

Claims (2)

1.一种基于申请号为200810243163.7“动态输入杂凑函数DIH”原理构造的,扩展为基于64位计算的杂凑函数DIHA256,并增强的方法。DIH原理为:
1)DIH采用了MD5的轮函数结构,设置了256字节的表,以对每圈每一步的32位消息子块x[j]获得查表映射,此映射是动态的,与每一步x[j]关联:将工作变量b模加x[j]后分成字节流查表再组成映射字,加入运算。
2)设置了几个辅助寄存器变量,用以存储映射值并重新插入,起到交错作用,使得函数变化更复杂化。
3)辅助寄存器变量作为额外的链变量,最后加入工作变量。
DIHA256杂凑函数包含特征:
1)利用了DIH的原理扩展为64位的运算,并在主运算上改变申请号为200810243163.7“动态输入杂凑函数DIH”三圈48步中每一步中的t表达,例如第一圈中,对于轮函数F:
由t=a+(F(b,c,d)+r1+W+b<<<1)<<<7
改变为:t=a+(F(r1,c,d)+W1+b<<<j)<<<5
在三圈中,将r1由轮函数外的模加,改变为在轮函数F,G,K内用r1取代工作变量b的位置
2)输出杂凑值为256位表达为,最后的辅助链变量模加至对应工作变量:
最后的杂凑输出值:H(x)
H(x):(H1+H5)||H2||(H3+H6)||(H4+H7)
2.一种由基本DIHA256杂凑函数并行构造DIHA512杂凑函数的方法:
DIHA512算法虽然也是并行的算法,但与RIPEMD160算法明显不同;不仅仅是采用的轮函数不同,其特征区别为:
1)DIHA512算法是两个独立的基本DIHA256函数的级联,最终的杂凑值是两个独立的基本DIHA256函数链值的并列,而不是RIPEMD160最后的模加混合。
2)DIHA512算法的两个独立的基本DIHA256函数之间即左线与右线函数的不同,是在于采用了不同的查表数组P[256]和PR[256]来实现,与RIPEMD160采用的方法不同。
3)DIHA512算法在最后分组之前,两个独立的DIHA256函数互相交换了工作变量的链值,并为保证有2个以上的分组长度而特意增加了一个最后分组即第(m+1)个分组Sx
4)DIHA512算法最后结果,是在左右两线工作变量链值上交换了辅助链变量r1L,r2L,r3L以及r1R,r2R,r3R并各自模加。
CN2009100265603A 2009-05-12 2009-05-12 杂凑函数diha256及diha512 Pending CN101888294A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100265603A CN101888294A (zh) 2009-05-12 2009-05-12 杂凑函数diha256及diha512

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100265603A CN101888294A (zh) 2009-05-12 2009-05-12 杂凑函数diha256及diha512

Publications (1)

Publication Number Publication Date
CN101888294A true CN101888294A (zh) 2010-11-17

Family

ID=43074029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100265603A Pending CN101888294A (zh) 2009-05-12 2009-05-12 杂凑函数diha256及diha512

Country Status (1)

Country Link
CN (1) CN101888294A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464316A (zh) * 2012-03-30 2020-07-28 英特尔公司 用于处理sha-2安全散列算法的方法和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464316A (zh) * 2012-03-30 2020-07-28 英特尔公司 用于处理sha-2安全散列算法的方法和设备
CN111464316B (zh) * 2012-03-30 2023-10-27 英特尔公司 用于处理sha-2安全散列算法的方法和设备

Similar Documents

Publication Publication Date Title
Iwata et al. Duel of the titans: the romulus and remus families of lightweight AEAD algorithms
CN109379086B (zh) 低复杂度的码率兼容的5g ldpc编码方法和编码器
Andrews et al. Partitions associated with the Ramanujan/Watson mock theta functions ω (q), ν (q) and ϕ (q)
CN104737495A (zh) 校正量子密钥分配协议中的比特误差的排列方法
US10491377B2 (en) Hashing using data parallel instructions
CN101872338B (zh) 一种认证协议中得到安全消息摘要的方法
CN104092534A (zh) 实现sm3密码杂凑算法中的迭代压缩的方法
US20180248687A1 (en) Cryptographic hash generated using data parallel instructions
CN103632104A (zh) 一种大数据环境下动态数据的并行加解密方法
CN1735013A (zh) 用于执行md5摘要的设备和方法
US10237066B1 (en) Multi-channel encryption and authentication
CN112367158A (zh) 一种加速sm3算法的方法、处理器、芯片及电子设备
CN101888294A (zh) 杂凑函数diha256及diha512
CN106656470A (zh) 一种基于改进aes算法的数据加密方法
US11500986B2 (en) Side-channel attack protected gates having low-latency and reduced complexity
CN102542070B (zh) 基于随机函数的单向哈希函数构造方法
US9880960B1 (en) Configurable sponge function engine
US9288041B2 (en) Apparatus and method for performing compression operation in hash algorithm
Agibalov ElGamal cryptosystems on Boolean functions
CN1815948A (zh) 基于复合非线性数字滤波器的混沌散列构造方法
CN107231229B (zh) 一种用于保护sm4密码芯片的低熵掩码泄露防护方法及其实现系统
JP4206205B2 (ja) Sha演算の高速演算回路
CN112953567A (zh) Turbo编码方法和装置、电子设备和存储介质
Eltaief et al. MLCC: A new hash‐chained mechanism for multicast source authentication
CN116132108B (zh) 基于预共享成对密钥的通用轻量级群密钥认证分配方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20101117