Speeding Up SHA-1, SHA-256 and SHA-512 on the 2nd Generation Intel® Core™ Processors

This paper discusses some software techniques, targeted specifically to the 2nd Generation Intel® Core™ processor, for speeding up the NIST standardized Secure Hash Algorithms SHA-1, SHA-256 and SHA-512. We demonstrate the advantage of our optimizations by applying them to a few publicly available code examples, obtaining SHA-1, SHA-256 and SHA-512 at, respectively, 5.75, 15.31, 9.71 cycles per byte.