|
Message-ID: <20120116195702.GA21163@openwall.com> Date: Mon, 16 Jan 2012 23:57:02 +0400 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: SHA-256 and SHA-512 implementations (was: Jumbo future) On Sun, Jan 15, 2012 at 07:03:14PM +0400, Solar Designer wrote: > OpenSSL appears to make some use of MMX/SSE2 instructions for SHA-512 > when running in 32-bit mode, but it only runs one instance of SHA-512 at > a time, so it does not use SIMD for real: > > http://cvs.openssl.org/dir?d=openssl/crypto/sha/asm Crypto++ appears to have similar code to OpenSSL's: http://www.cryptopp.com also computing just one instance of the hash, yet making use of SSE2. I think they do it to access 64-bit integer operations (needed for SHA-512) from 32-bit mode. As to why SSE2 and not just MMX, I think that's because MMX lacks 64-bit addition (it can only do two 32-bit additions in parallel, but not one 64-bit). A difference from OpenSSL is that Crypto++'s individual pieces of code (as opposed to the library as a whole) are in the public domain - so we may start hacking from their SHA-2 code if we like to. Since we need a true SIMD implementation, starting from scratch might be a better way to go, though. Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.