You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The cleanup of CRYPTOPP_GENERATE_X64_MASM (see commits d55d7fe and 58ed2fc) revealed Rijndael::Enc::AdvancedProcessBlocks experiences a hang with AliasedWithTable. The issue is present on Linux, OS X and Windows with SSE2 ASM using aligned data. It can be duplicated with #define CRYPTOPP_NO_UNALIGNED_DATA_ACCESS and #define CRYPTOPP_DISABLE_SSSE3.
A test against the Crypto++ 5.6.2 shows the issue is present there, also. To duplicate under 5.6.2, uncomment CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS in config.h and add the code from Commit c8de423a.
Here's a quick trace with some instrumentation to dump the variables. Its using CRYPTOPP_NO_UNALIGNED_DATA_ACCESS.
A temporary fix was re-added at Commit b773052b3d580214. It reincorporates the original fix from Issue 42. It does not use the methods discussed below.
We can no longer duplicate this issue. There was likely something going on, but it got cleared when we tightened the code around aligned/unaligned data access.
The cleanup of
CRYPTOPP_GENERATE_X64_MASM
(see commits d55d7fe and 58ed2fc) revealedRijndael::Enc::AdvancedProcessBlocks
experiences a hang withAliasedWithTable
. The issue is present on Linux, OS X and Windows with SSE2 ASM using aligned data. It can be duplicated with#define CRYPTOPP_NO_UNALIGNED_DATA_ACCESS
and#define CRYPTOPP_DISABLE_SSSE3
.From
rijndael.cpp
(near line 1205):These gyrations appear to align the pointer on a 0x100 boundary:
When misbehaving the function
AliasedWithTable
never returns false (near line 1015):A test against the Crypto++ 5.6.2 shows the issue is present there, also. To duplicate under 5.6.2, uncomment
CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS
inconfig.h
and add the code from Commit c8de423a.Here's a quick trace with some instrumentation to dump the variables. Its using
CRYPTOPP_NO_UNALIGNED_DATA_ACCESS
.The text was updated successfully, but these errors were encountered: