The problem appears to occur on older hardware that does
not have the AES-NI instruction set, at least for me.

I was able to trigger similar failures on machines with AES-NI
by defining CRYPTOPP_DISABLE_AESNI, forcing the code to
take the code path that would be taken on machines without
AES-NI.

Disabling optimization (/Od) allowed the tests to pass.

Daniel


On Sat, Apr 28, 2018 at 6:35 PM, Jeffrey Walton <[email protected]> wrote:

>
>
> On Thursday, April 26, 2018 at 1:03:41 PM UTC-4, [email protected]
> wrote:
>>
>> Hello,
>>
>> I have recently updated one of my projects to Visual Studio 2017 and the
>> v141 toolset.  After the update, Crypto++ no longer correctly encrypted or
>> decrypted my data.  To determine whether this was an error in my code or
>> the library itself, I downloaded a fresh copy of the source for crypto++ 7
>> and built cryptest.  Cryptest also fails under Visual Studio v141.  It
>> appears that 12 of the 36 tests in the Rijndael (AES) validation suite are
>> failing.  But, if I change the project settings and disable optimization
>> (/Od instead of /O2), all the tests appear to pass.  Also, if I disable ASM
>> and leave optimizations turned on (/O2), the tests also pass...
>>
>
> This is unusual. I don't have the full-blown VS2017 IDE, but I do have the
> VS2017 Build Tools v15.6.7 (https://www.visualstudio.com/
> downloads/#build-tools-for-visual-studio-2017). Following the
> instructions at https://www.cryptopp.com/wiki/MSBuild_(Command_Line) I
> cannot reproduce the failure.
>
> Here are the steps I used:
>
>   1. Open VS2017 x64 Developer Prompt
>   2. cd to cryptopp
>   3. msbuild /p:Configuration=Release;Platform=x64 cryptlib.vcxproj
>   4. msbuild /p:Configuration=Release;Platform=x64 cryptest.vcxproj
>   5. msbuild /p:Configuration=Release;Platform=x64 /t:CopyCryptestToRoot
> cryptest.vcxproj
>
> Then:
>
>   c:\Users\Test\Desktop\cryptopp>.\cryptest.exe v
>   Using seed: 1524960895
>
>   Testing Settings...
>
>   passed:  Your machine is little endian.
>   passed:  Aligned data access (no CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS).
>   passed:  sizeof(byte) == 1
>   passed:  sizeof(word16) == 2
>   passed:  sizeof(word32) == 4
>   passed:  sizeof(word64) == 8
>   passed:  sizeof(hword) == 4, sizeof(word) == 8
>   passed:  cacheLineSize == 64
>   ...
>
>   All tests passed!
>
>   Seed used was 1524960895
>   Test started at Sat Apr 28 20:14:55 2018
>   Test ended at Sat Apr 28 20:15:02 2018
>
> The Core i5-750 looks a tad bit unusual: https://ark.intel.com/
> products/42915/Intel-Core-i5-750-Processor-8M-Cache-2_66-GHz . Based on
> the ARK specification, the CPU provides SSE4.2, so it should look like a
> run-of-the-mill Core Solo or Core2 Duo.
>
> I don't know how to test the 14.1 toolset. Do you know how to do it using
> msbuild?
>
> It sounds like there's something different but it is not obvious (to me)
> at the moment.
>
> Jeff
>
> --
> You received this message because you are subscribed to "Crypto++ Users".
> More information about Crypto++ and this group is available at
> http://www.cryptopp.com and http://groups.google.com/
> forum/#!forum/cryptopp-users.
> ---
> You received this message because you are subscribed to the Google Groups
> "Crypto++ Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to "Crypto++ Users". More 
information about Crypto++ and this group is available at 
http://www.cryptopp.com and 
http://groups.google.com/forum/#!forum/cryptopp-users.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to