Patent ID: 7151829

Claim:
A system generating a message digest, via a computer, said system comprising: a memory storage location for receiving a block of data; and a processor for processing said block of data to acquire said message digest, said processing of said block of data includes (i) evaluating said block of data at cycle=t in terms of cycle=(t−x), wherein x is greater than or equal to 2, and (ii) skipping one cycle per iteration in order to reduce a total number of cycles utilized for said processing of said block of data; wherein said block of data is 512-bits; wherein said message digest comprises 160-bits; wherein said processor performs the following: E ( t ) =C ( t− 2); D ( t ) =S 30 [B ( t− 2)]; C ( t ) =S 30 [A ( t− 2)]; B ( t ) =S 5( A ( t− 2)) +ft ( B ( t− 2), C ( t− 2), D ( t− 2))+ E ( t− 2)+ Wt− 1 +Kt− 1; and A ⁡ ( t ) ⁢ = S5 ⁡ ( S5 ⁡ ( A ⁡ ( t - 2 ) ) + ft ⁡ ( B ⁡ ( t - 2 ) , C ⁡ ( t - 2 ) , D ⁡ ( t - 2 ) ) + E ⁡ ( t - 2 ) + Wt - 1 + Kt - 1 ) + ⁢ ft ⁡ ( A ⁡ ( t - 2 ) , S30 ⁡ [ B ⁡ ( t - 2 ) ] , C ⁡ ( t - 2 ) ) + D ⁡ ( t - 2 ) + Wt + Kt = ⁢ S5 ⁡ ( B ⁡ ( t ) ) + ft ⁡ ( A ⁡ ( t - 2 ) , S30 ⁡ [ B ⁡ ( t - 2 ) ] , C ⁡ ( t - 2 ) ) + D ⁡ ( t - 2 ) + WT + Kt ; where A, B, C, D, E and W are words of a message, K is a constant word, f is a logical function, Sx represents a value circularly rotated by x bits; said processor generating said message digest providing a message fingerprint for said data.