« Return to Thread: wrong SHA-256 result with optimized assembly on i386 ([pycryptopp] #24: SHA256 failure on NetBSD with multiple segments)

Re: wrong SHA-256 result with optimized assembly on i386 ([pycryptopp] #24: SHA256 failure on NetBSD with multiple segments)

by midnightmagic :: Rate this Message:

Reply to Author | View in Thread


Hey that's wonderful! I really appreciate the explanation. I love
hearing about these sorts of fixes.

On Jul 5, 11:14 am, "Wei Dai" <wei...@...> wrote:
> Thanks for the sample program. I've checked in the fix to sha.cpp.
>
> The cause of the bug, if anyone is curious, was that I assumed a certain
> pointer would be word-aligned, and used its least significant bit to store
> whether or not the CPU supports SSE2. It turns out that I forgot that
> pointer isn't necessarily word-aligned, so when that happens, the code would
> incorrectly use the SSE2 code path. And for some reason, the SSE2
> instructions didn't cause an exception on non-SSE2 CPUs.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" Google Group.
To unsubscribe, send an email to cryptopp-users-unsubscribe@....
More information about Crypto++ and this group is available at http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

 « Return to Thread: wrong SHA-256 result with optimized assembly on i386 ([pycryptopp] #24: SHA256 failure on NetBSD with multiple segments)