You left out a line of pseudo-code:
It should be:
For i = 1 to N
Wt = {
Mti (when 0 ≤ t ≤ 15)
ROTL1 (Wt−3 ⊕ Wt−8 ⊕ Wt−14 ⊕ Wt−16) (when 16 ≤ t ≤ 79)
}
I can see you know your stuff here but with all that maths going on you would expect it to be slow but it's not
really and the same is also true with GZip so these functions must be built at assembly level and not from compiled
C++ or C# using *ptr because they run almost as fast as we can iterate a byte array in Dot.NET without performing any "if" statements
or maths.
Whats your thought on this ?
Would send you a merit but i think the merit routine here is broken because I don't have any left to spend it says