欢迎光临散文网 会员登陆 & 注册

自主设计类似SHA256的Hash算法SKAP512原理介绍

2023-02-27 17:16 作者:白嫖界大拿  | 我要投稿

SKAP-512密码杂凑算法

黄金龙(QQ1435271638)

SKAP-512密码杂凑算法描述

SKAP-512密码杂凑算法采用Merkle-Damgard结构,消息分组长度为512bit,摘要长度512bit。压缩函数状态大小为512bit,共64步,每步更新8个寄存器,这加快了算法的雪崩效应。


SKAP-512密码杂凑算法的初始值

SKAP-512密码杂凑算法的初始值IV共512bit,由16个32bit串联而成,具体值如下:IV=606CB92D 63485C48 DEDB471D F53B8BE8 458B8E3F E9CD63A1 67FBE0E6 82807FE9 244FE77A 0A86FC13 D1C3A71B 62975AC4 8E969EA8 F8E8ED37 0939026E 2B39CF09


SKAP-512密码杂凑算法的常量

SKAP-512密码杂凑算法的常量为64个32bit,具体值如下:

C0……C63=90FA8DC8 7E40BC17 327BF0F1 9F59CF65 B639FB3A 3936A2F0 0C793624 44FDE4F3 DA9C8AD5 930855B4 EB16D526 EB1532F6 6746D2BE DF66D689 D3257F0F 9B57EBAE 267C86A5 D12CF550 FB867607 F73FBB6F EDEFC9ED C792EF7E 106C10F6 A9A67A2D 7F1847CC D092A4C5 6A278463 C88F9B13 36B3035E E300EE90 15D7D890 6C0FAA9B D02622AE 87A5B948 E50E1BA5 6DDFF522 4773FA56 DB00A5A1 17E1977B 6FD44CCD 489FBDAD CFF9059A 7895F7B0 9762DF81 DCE298C8 F486AE59 06586AF6 EB55561C 90FA8DC8 7E40BC17 33F1F0F1 9F59CF65 B639FB3A 3936A2F0 0C793624 44FDE4F3 DA9C8AD5 930855B4 EB16D526 EB1532F6 6746D2BE DF66D689 D3257F0F 9B57EBAE


SKAP-512密码杂凑算法的消息填充

对长度为l(l<264)比特的消息m,SKAP-512密码杂凑算法首先将比特“1”添加到消息的末尾,再添加k个“0”,k是满足(l+k+1)=448Mod512的最小非负整数。然后再添加一个64位比特串,该比特串是消息长度的二进制表示。填充后的消息m`的长度是512 的倍数。

 

SKAP-512密码杂凑算法的消息填充


SKAP-512密码杂凑算法的迭代压缩过程

将填充后的消息m`按512bit进行分组:m`=B(0)B(1)…B(n-1),其中n=(l+k+65)/512。对m`按如下方式迭代:

FOR i=0 TO (n-1)

V(i+1)=CF(V(i),B(i))

ENDFOR

其中CF是压缩函数,V(0)为512 bit初始值IV,B(i)为填充后的消息分组,迭代压缩的结果为V(n)。


SKAP-512密码杂凑算法的压缩函数

假定A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P为32位寄存器,T1,T2,T3,T4为中间变量,压缩函数V(i+1)=CF(V(i),B(i)),0≤i≤n-1,状态更新过程描述如下:

ABCDEFGHIJKLMNOP<- V(i);

FOR j=0 TO 63

T1=F1(B,D,F,H,I,K,M,O);

T2=F2(A,B,C,D);

T3=F3(E,F,G,H);

T4=F4(I,J,K,L);

Temp=P<<<13

P= A+T1+ C(8i)

A=B

B=C+T1<<<17+C(8i+1)

C=D

D=E+T2+C(8i+2)

E=F

F=G+T1+T2+C(8i+3)

G=H

H=I+T3+C(8i+4)

I=J

J=K+T1+T3+C(8i+5)

K=L

L=M+T4+C(8i+6)

M=N

N=O+T1+T4+C(8i+7)

O= Temp

ENDFOR

V(i+1) <- ABCDEFGHIJKLMNOP⊕V(i)

杂凑值

ABCDEFGHIJKLMNOP <- ABCDEFGHIJKLMNOP⊕V(i)


4个混淆扩散函数

SBOX查找表


SKAP-512密码杂凑算法的特点

SKAP-512密码杂凑算法压缩函数整体结构与SHA-256类似,除了没有消息扩展函数外,还增加了多种新的设计技术,包括使用S盒作为非线性变换、使用了4个不同的加快雪崩效应的混淆扩散函数、每步更新8个寄存器的值等。能够有效地避免高概率的局部碰撞,有效地抵抗强碰撞性的差分分析、弱碰撞性的线性分析和比特追踪法等密码分析。


自主设计类似SHA256的Hash算法SKAP512原理介绍的评论 (共 条)

分享到微博请遵守国家法律