发明名称 数据散列获取方法及其系统
摘要 本发明提供一种数据散列获取方法及其系统,首先将待处理数据序列进行数据填充至预定字长,获得数据字序列;将所述数据字序列划分为至少一个子序列,其中,每一所述子序列包括多个数据字;对所述数据字序列执行多轮迭代的数据注入处理;根据迭代后获得的中间值提取部分数据字,组成数据散列值。由于交替采用基于非线性反馈函数的附加式发生器和线性反馈函数的附加式发生器构造轮函数,通过所述轮函数对数据序列进行反馈步进、置换等处理,快速获得可变长、抗碰撞的消息散列值。该系统结构简单,实现速度较快,易于硬件实现,适用于在安卓、Windows等操作系统的嵌入式终端中保护数据完整性。
申请公布号 CN103559458A 申请公布日期 2014.02.05
申请号 CN201310467782.5 申请日期 2013.10.09
申请人 广州华迅网络科技有限公司 发明人 盛先富;欧阳敏宁
分类号 G06F21/64(2013.01)I 主分类号 G06F21/64(2013.01)I
代理机构 广州华进联合专利商标代理有限公司 44224 代理人 王茹;向群
主权项 一种数据散列获取方法,其特征在于,包括以下步骤:将待处理数据序列进行数据填充至预定字长,获得数据字序列;将所述数据字序列划分为至少一个子序列,其中,每一所述子序列包括多个数据字;对所述数据字序列执行如下的多轮迭代:for i=0to nb‑1; <mrow> <mi>S</mi> <mo>&LeftArrow;</mo> <mi>S</mi> <mo>&CirclePlus;</mo> <mi>FI</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mrow> <mn>16</mn> <mi>i</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>p</mi> <mrow> <mn>16</mn> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>p</mi> <mrow> <mn>16</mn> <mi>i</mi> <mo>+</mo> <mn>2</mn> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>p</mi> <mrow> <mn>16</mn> <mi>i</mi> <mo>+</mo> <mn>15</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>;</mo> </mrow>S←R(S);其中,i+1为迭代轮数,nb为所述数据字序列包含的子序列的个数,S为每一轮迭代中各个所述子序列的中间值,S的初始值为0,{p16i,p16i+1,p16i+2,…,p16i+15}为第i+1个子序列;FI为注入函数,用于对所述第i+1个子序列执行以下操作:将所述子序列作为循环序列,采用基于线性反馈变换的附加式发生器,按字步进地对其中的每个数据字执行线性反馈变换;R(S)为轮函数,用于对所述第i+1个子序列执行以下操作:将所述子序列作为一个循环序列,采用基于非线性反馈变换的附加式发生器,按字步进地对其中的每个数据字执行非线性反馈变换;对所述子序列包含的数据字,进行按位步进的循环移位变换;再将所述子序列作为循环序列,采用基于线性反馈变换的附加式发生器,按字步进地对其中的每个数据字执行线性反馈变换;根据变换后获得的中间值S提取部分数据字,组成数据散列值。
地址 510000 广东省广州市海珠区金纺路2号广州国际轻纺城D7003b
您可能感兴趣的专利