Hi Jeff,

I followed your MSBuild steps and the test still failed for me (results 
below).

Try this to specify the platform toolset:

1. Open VS2017 x64 Developer Prompt
2. cd to cryptopp
3. msbuild 
/p:Configuration=Release;Platform=x64,WindowsTargetPlatformVersion=10.0.16299.0,PlatformToolset=v141
 
cryptlib.vcxproj
4. msbuild 
/p:Configuration=Release;Platform=x64,WindowsTargetPlatformVersion=10.0.16299.0,PlatformToolset=v141
 
cryptest.vcxproj
5. msbuild 
/p:Configuration=Release;Platform=x64,WindowsTargetPlatformVersion=10.0.16299.0,PlatformToolset=v141
 
/t:CopyCryptestToRoot cryptest.vcxproj

Note: depending on the Visual Studio updates, you may need to change your 
WindowsTargetPlatformVersion to whichever version is available.  I don't 
think this has any affect on how Crypt++ is built.




Daniele, thanks for confirming this.  It's great to know I'm not the only 
one experiencing this problem!

I'm assuming the failure will be triggered on all machines running the 
library, not just the machine used to build the solution, correct?  As 
such, is this a problem that can be fixed?  Or is the solution to simply to 
disable optimization and/or upgrade the older hardware?





*cryptest.log:*Using seed: 1525095110      

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
hasSSE2 == 1, hasSSSE3 == 1, hasSSE4.1 == 1, hasSSE4.2 == 1, hasAESNI == 0, 
hasCLMUL == 0, hasRDRAND == 0, hasRDSEED == 0, hasSHA == 0, isP4 == 0

...

Rijndael (AES) validation suite running...

passed:  Algorithm key lengths
FAILED   000102030405060708090A0B0C0D0E0F   
0D184627AA361E7C61220D4E111859EA   0A940BB5416EF045F1C39458C653EA5A
FAILED   00010203050607080A0B0C0D0F101112   
2F3F1F1B1DD997E62378F5C8B30374CF   D8F532538289EF7D06B506A4FD5BE9C9
FAILED   14151617191A1B1C1E1F202123242526   
9826EE07A9754B263AA10DB4B3F3B660   59AB30F4D4EE6E4FF9907EF65B1FB68C
FAILED   28292A2B2D2E2F30323334353738393A   
CA1CBDF8F91991DFF39E86AC93B58BC0   BF1ED2FCB2AF3FD41443B56D85025CB1
FAILED   00010203050607080A0B0C0D0F10111214151617191A1B1C   
83DBA2FC05FE11A9F8CAB1714FF8E18D   DFF4945E0336DF4C1C56BC700EFF837F
FAILED   1E1F20212324252628292A2B2D2E2F30323334353738393A   
980DDA4A5E7CB931C62D45F53EFB68E0   B6FDDEF4752765E347D5D2DC196D1252
FAILED   3C3D3E3F41424344464748494B4C4D4E5051525355565758   
FBB0D50A539EC7C7D063F04098232C34   D23684E3D963B3AFCF1A114ACA90CBD6
FAILED   00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526   
9A02CEA3D7B8991406C07A381842B099   1946DABF6A03A2A2C3D0B05080AED6FC
FAILED   28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E   
A3FCFC328B282E9BEF82A2F62A04E5B6   5ED301D747D3CC715445EBDEC62F2FB4

Testing SymmetricCipher algorithm AES/ECB.

incorrectly decrypted: 
D6D069162B19B0E8D0D9401D973B80107EE162BB46A80A88896878CDB9416DE41E3778C479C18459673AFD875D84213A1A8427CBC3FAAB9C1DB4C458101EB1B4

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
921237DF0D3EB491E5C1FD2150294B3A094E4C5898B68A9FF7A2BE05F6F47ED659B1F5E268DB2E968D675C937C1E5D807851D6CDD81DF62555B463F048537343

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
6200164DC594B5C590D7F3D7D4CBD6AD79E539D269B9A2B279B8F3D7F790B60346457BAA6CBC243AA5406563A890B2F1B7DC0F989FFF0E1FAF61E39605FAFD53

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
79EB66F64B5861BC0521238B2CCBCE1E79696768C2ED02ED074DEE9FE12E43091DE97B5A7465FA486F7883FBED9AAB77C46F0D58FC1BAA130772C2EF8EFC7D33FF48A480AC06C9BF6599BE6553B2637691B2EA1A157C3E70377E4E686B6598FFC4007C1EB7454A75B6F4F36B6F5634C268798F9DACA2E99DD7FB5CCECB66245DE18B74A5F9D47D49C3F1F97C67FF6412FC8FEECB93220349EFCD3246FD5391B80301B55BE6B167B27C81243F563591FEFBB0E43B9371214CB116F4718EA909CEB6AB3D2C36DA2CADBE7EFD7C10A96618EC6148BD7C7EEB4980AE710534EF1CC59A87355573B1298E5E17CEE3FBDB0CB96D71E0389395E76DF05727484FBFB0C1

Test FAILED.
Skipping to next test.

Testing SymmetricCipher algorithm AES/CBC.

incorrectly decrypted: 
314F49DEEE6BFE3F039F04872CE6464DC61F845708754DB5EFC821B7495B1738B80178DF176BF56FBA6612C30B05BCE451ECE854B1CFEC5AF56531CABCFB3556

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
FA34BB33F17DAA3E3573D54E86D384D52069F2226B1BC3FE0BBE6F84F40BEBF64F26C5C1D8B57F24F91175A8C7685BE714A5C695153E7555D3C1658956EE07FD

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
A0B9FB65B1F3D181F38C457BBE48A03F07EE79AD36E34FEB4B50585151C57766DBC92CC57A470AE715733A202CC247873EE10597FB65EF6D0631C6EE9A5F6177

Test FAILED.
Skipping to next test.

incorrectly decrypted: 05704C39B186F020E69A94CBBE6D70D9

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
A078D6E183882264FF0FD2C04E7A6285263E4B71846F5D38DC4918A3F99DCAEA

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
0AB24F26E95A18AD050CC60F6A40B67E9817910E599A6AE01AD5B8DDCDEE91E28D5D1B88A4D9802A697DEE2AF25FC859

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
3C763B4ACE39312559C92383B6C722C5DE4673E8E089A4745AFBF20989C75F6D295E27DA3639AEA134F774481DEB17CF62709B804BE6213AE5F494CAE553B023

Test FAILED.
Skipping to next test.

incorrectly decrypted: 
34BFE889866736EBFBEC1222152644FB1C415CF371B9271845B3677A91F8DC5644871412B1AE9E2455C84BF1CF08B3EF56DDA6F5D8BAD05BA73660561D9F611539BE207778BEE3393AA0948FC4D3DE3D6300EC891A49F357EAF549AB85C5F26C3BF929226624DCF376A9E4A81526D2CD4C00409E86F011707140538787E5E8CF1DAF91436DDB4BC0CEE03052CEDC1E09302599232D415C25BC1707DC797E170145CA9505DE5B3E0B649C256CF715884B76D7C0D15F7636BBB44128BAED5A069EAD84EE9C817C1CBDC2781483AB3AFE92F7FC3523F209F2146E9146C602F74CABF075E8D26523FCA1BB67F009667F4A3AFE30B591BC2616232D436449C5852886

Test FAILED.
Skipping to next test.

Testing SymmetricCipher algorithm AES/CFB.
.......
Testing SymmetricCipher algorithm AES/OFB.
....
Testing SymmetricCipher algorithm AES/CTR.
.............
Tests complete. Total tests = 36. Failed tests = 12.
SOME TESTS FAILED!

...

Oops!  Not all tests passed.

Seed used was 1525095110      
Test started at Mon Apr 30 09:31:50 2018
Test ended at Mon Apr 30 09:31:54 2018


-Luke


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.
>
>
> *Test Summary:*
>    
>    - v141 /O2 - FAILED
>    - v141 /Od - passed
>    - v141 /O2 CRYPTOPP_DISABLE_ASM - passed
>    - v141 /Od CRYPTOPP_DISABLE_ASM - passed
>
> I can't tell from the results whether this is a problem with crypt++ or 
> with one of the Visual Studio components.
>
> Steps to reproduce, OS, and Visual Studio information are below.
>
> The output log of cryptest.exe has been attached.
>
> Please let me know if you need more info or would like me to try anything 
> different.
>
> *Steps to reproduce:*
>
>    1. Download and extract cryptopp700.zip.
>    2. Open cryptest.sln using Visual Studio 2017.
>    3. Change build configuration to Release x64.
>    4. Open cryptest and cryptlib project properties and change Windows 
>    SDK Version to 10.0.16299.0, and Platform Toolset to Visual Studio 2017 
>    (v141).  Close the project properties page.
>    5. Right-click cryptest and build the project.
>    6. Open command prompt and change directory to the crypto++ solution 
>    folder.
>    7. Run "x64\Output\Release\cryptest.exe v"
>
> The test was done on Windows 7 Professional using an Intel Core i5 750 CPU.
>
>
> *Microsoft Visual Studio Professional 2017:*
> Version 15.6.6
> VisualStudio.15.Release/15.6.6+27428.2037
> Microsoft .NET Framework
> Version 4.7.02558
>
> Installed Version: Professional
>
> Visual C++ 2017   00370-10200-32245-AA568
> Microsoft Visual C++ 2017
>
> ASP.NET and Web Tools 2017   15.0.40314.0
> ASP.NET and Web Tools 2017
>
> C# Tools   2.7.0-beta3-62715-05. Commit Hash: 
> db02128e6e3c4bdfc93e6ec425ac9162b4d4fe80
> C# components used in the IDE. Depending on your project type and 
> settings, a different version of the compiler may be used.
>
> Common Azure Tools   1.10
> Provides common services for use by Azure Mobile Services and Microsoft 
> Azure Tools.
>
> JavaScript Language Service   2.0
> JavaScript Language Service
>
> Microsoft JVM Debugger   1.0
> Provides support for connecting the Visual Studio debugger to JDWP 
> compatible Java Virtual Machines
>
> Microsoft MI-Based Debugger   1.0
> Provides support for connecting Visual Studio to MI compatible debuggers
>
> Microsoft Visual C++ Wizards   1.0
> Microsoft Visual C++ Wizards
>
> Microsoft Visual Studio VC Package   1.0
> Microsoft Visual Studio VC Package
>
> NuGet Package Manager   4.6.0
> NuGet Package Manager in Visual Studio. For more information about NuGet, 
> visit http://docs.nuget.org/.
>
> ProjectServicesPackage Extension   1.0
> ProjectServicesPackage Visual Studio Extension Detailed Info
>
> Test Adapter for Boost.Test   1.0
> Enables Visual Studio's testing tools with unit tests written for 
> Boost.Test.  The use terms and Third Party Notices are available in the 
> extension installation directory.
>
> Test Adapter for Google Test   1.0
> Enables Visual Studio's testing tools with unit tests written for Google 
> Test.  The use terms and Third Party Notices are available in the extension 
> installation directory.
>
> Visual Basic Tools   2.7.0-beta3-62715-05. Commit Hash: 
> db02128e6e3c4bdfc93e6ec425ac9162b4d4fe80
> Visual Basic components used in the IDE. Depending on your project type 
> and settings, a different version of the compiler may be used.
>
> Visual Studio Code Debug Adapter Host Package   1.0
> Interop layer for hosting Visual Studio Code debug adapters in Visual 
> Studio
>
> Visual Studio Tools for CMake   1.0
> Visual Studio Tools for CMake 
>

-- 
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