摘要 |
The present invention is a device for and method of generating a hash value for a message by padding the message, loading the padded message into a first shift register that generates values according to a first rule of motion, initializing eight registers a, b, c, d, e, f, g, and h with user-definable values; converting the contents of the registers to hj=gj-1; gj=fj-1; fj=ej-1; ej=dj-1+T1, where T1=hj-1+SIGMA1(ej-1)+Ch(ej-1, fj-1, gj-1)+Kj+Wj,; dj=cj-1; cj=bj-1; bj=aj-1; and aj=T1+T2, where T2=SIGMA0(aj-1)+Maj(aj-1, bj-1, cj-1); computing H1(j)=a+H1(j-1); H2(j)=b+H2(j-1); H3(j)=c+H3(j-1); H4(j)=d+H4(j-1); H5(j)=e+H5(j-1); H6(j)=f+H6(j-1); H7(j)=g+H7(j-1); and H8(j)=h+H8(j-1); and either performing additional conversions of the registers or returning (H1(j), H2(j), H3(j), H4(j), H5(j), H6(j), H7(j), H8(j)) as the hash value of the message.
|