[发明专利]动态输入杂凑函数DIH无效
申请号: | 200810243163.7 | 申请日: | 2008-12-09 |
公开(公告)号: | CN101753299A | 公开(公告)日: | 2010-06-23 |
发明(设计)人: | 姚锡根 | 申请(专利权)人: | 姚锡根 |
主分类号: | H04L9/18 | 分类号: | H04L9/18;H04L9/22;G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 214035 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 输入 杂凑 函数 dih | ||
技术领域
密码学杂凑函数
背景介绍
密码学杂凑函数在计算机安全的各个领域起着重要的作用。而随着近年来一些杂凑函数被攻破,构造新的安全的杂凑函数成为紧迫的问题,然后,构造符合要求的杂凑函数是相当困难的,本发明构造了一个新的强大的杂凑函数DIH,或有望解决杂凑函数上的难题。
发明内容:
动态输入杂凑函数DIH,借鉴MD5基础,对每个512分组进行3轮16步运算。对于每一步的32位消息子块x[j],先获得x[j]的动态的无规则查表映射,与x[j]一起输入工作变量的非线性函数运算并反馈至下一步;并通过辅助寄存器变量组r1,r2,r3,r4延迟输入产生交织获得强雪崩效应。
在MD5基础上(格式化输入消息x和建立4个32比特工作变量a,b,c,d,4个链值H1,H2,H3,H4,以及非线性处理函数设置等),本发明:
1)设置了256字节的表,以便对每个每一步的32位消息子块x[j]获得查表映射
2)此映射是动态的,与每一步x[j]关联:将工作变量b模加x[j]后分成字节流查表再组成32比特字,用以替代MD5中固定字表加入运算,极大增强了雪崩变化。
3)设置了辅助寄存器变量r1,r2,r3,r4,用以存储延迟32比特映射字输入,起到交错作用,使得函数更复杂化。
4)链值设置为5个,分别是H1,H2,H3,H4,H5,对应变量为a,b,c,d,r1
5)r2,r3,r4不随链值更新赋值,但却跟a,b,c,d,r1一样,也是之后IV的部分
具体实施方式
1.DIH算法
输入:任意长度b≥0的比特串x
输出:x的160比特杂凑码
1.1符号:
“←”表示赋值或同时赋值;
“||”表示级联;
“<<<”为循环左移;
“+”表示32位模加
“b→(s1,s2,s3,s4)”将32位b拆分为4个字节s1,s2,s3,s4
(大端表示)
“P[s1]||P[s2]||P[s3]||P[s4]”s1,s2,s3,s4的查表值级联成的32比特字(大端表示)
函数F(b,c,d)=(bANDc)OR((NOTb)AND(d))
G(b,c,d)=(bANDd)OR(cAND(NOTd))
K(b,c,d)=bXORcXORd
1.2预处理
1):建立统一固定的基表:
以256个不同的单节字0-255为基元,排列成的总共长度为256B的固定表PS(见附录)
可以把PS看做一个数组P[128],P[S]为查表获得的基元数值,s为对应基元的数组下标
要求:PS表基元分布随机均匀.将P[128]放入缓存.
2):和MD5一样,MD强化①
长度为b比特的原明文串x,在明文后添加r比特:添加第一个比特为1,后面接着添加q-1(q-1≥0)个0,其中r使得添加后的总比特长度加64就是512的倍数的最小的数。最后添加bmod264的64比特表示作为2个32比特字(但采用大端表示)。这样总共m个512位的分组,b+q+64=512m=16*32m。格式化输入由16m个32比特的字组成:x0x1…x16m-1。
1.3初始化设置
常数定义:与SHA-1一样定义五个32比特初始链值:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于姚锡根,未经姚锡根许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810243163.7/2.html,转载请声明来源钻瓜专利网。