From db6639687d4cd610b5697bbe4d4f68c71a02a9e9 Mon Sep 17 00:00:00 2001 From: Christian Paquin Date: Thu, 25 Jan 2018 10:23:53 -0500 Subject: [PATCH] Added Picnic sig to Visual Studio. --- README.md | 6 +- VisualStudio/liboqs.sln | 36 - VisualStudio/oqs/oqs.vcxproj | 57 +- VisualStudio/oqs/oqs.vcxproj.filters | 3 + VisualStudio/test_sig/test_sig.vcxproj | 656 +++++++++--------- .../test_sig/test_sig.vcxproj.filters | 42 +- appveyor.yml | 2 + src/sig_picnic/sig_picnic.c | 8 +- 8 files changed, 418 insertions(+), 392 deletions(-) diff --git a/README.md b/README.md index 19b31c862..01ff4ccfe 100644 --- a/README.md +++ b/README.md @@ -170,7 +170,9 @@ Flags for all the configured algorithms are generated in config.h file. Building and running on Windows ------------------------------- -Windows binaries can be generated using the Visual Studio solution in the VisualStudio folder. Builds have been tested on Windows 10. +Windows binaries can be generated using the Visual Studio solution in the VisualStudio folder. Builds have been tested on Windows 10. + +CMake (https://cmake.org/download/) is required and must be installed before building the Visual Studio solution. McBits is disabled by default in the Visual Studio build; follow these steps to enable it: @@ -179,8 +181,6 @@ McBits is disabled by default in the Visual Studio build; follow these steps to - Add the sodium "src/include" location to the "Additional Include Directories" in the oqs project C properties. - Add the libsodium library to the "Additional Dependencies" in the `test_kex` project Linker properties. -Picnic is not currently supported in the Visual Studio build. - Building for Android -------------------- diff --git a/VisualStudio/liboqs.sln b/VisualStudio/liboqs.sln index 0ac986681..ea18d5772 100644 --- a/VisualStudio/liboqs.sln +++ b/VisualStudio/liboqs.sln @@ -23,79 +23,43 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 DebugDLL|x64 = DebugDLL|x64 - DebugDLL|x86 = DebugDLL|x86 Release|x64 = Release|x64 - Release|x86 = Release|x86 ReleaseDLL|x64 = ReleaseDLL|x64 - ReleaseDLL|x86 = ReleaseDLL|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Debug|x64.ActiveCfg = Debug|x64 {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Debug|x64.Build.0 = Debug|x64 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Debug|x86.ActiveCfg = Debug|Win32 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Debug|x86.Build.0 = Debug|Win32 {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.DebugDLL|x64.Build.0 = DebugDLL|x64 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.DebugDLL|x86.ActiveCfg = DebugDLL|Win32 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.DebugDLL|x86.Build.0 = DebugDLL|Win32 {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Release|x64.ActiveCfg = Release|x64 {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Release|x64.Build.0 = Release|x64 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Release|x86.ActiveCfg = Release|Win32 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.Release|x86.Build.0 = Release|Win32 {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.ReleaseDLL|x86.ActiveCfg = ReleaseDLL|Win32 - {6BB96591-0BCD-42E6-8863-4B9BFE75530C}.ReleaseDLL|x86.Build.0 = ReleaseDLL|Win32 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Debug|x64.ActiveCfg = Debug|x64 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Debug|x64.Build.0 = Debug|x64 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Debug|x86.ActiveCfg = Debug|Win32 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Debug|x86.Build.0 = Debug|Win32 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.DebugDLL|x64.Build.0 = DebugDLL|x64 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.DebugDLL|x86.ActiveCfg = DebugDLL|Win32 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.DebugDLL|x86.Build.0 = DebugDLL|Win32 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Release|x64.ActiveCfg = Release|x64 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Release|x64.Build.0 = Release|x64 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Release|x86.ActiveCfg = Release|Win32 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.Release|x86.Build.0 = Release|Win32 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.ReleaseDLL|x86.ActiveCfg = ReleaseDLL|Win32 - {DCFEFB81-4696-45D2-9FCA-351CCFC13C74}.ReleaseDLL|x86.Build.0 = ReleaseDLL|Win32 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Debug|x64.ActiveCfg = Debug|x64 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Debug|x64.Build.0 = Debug|x64 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Debug|x86.ActiveCfg = Debug|Win32 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Debug|x86.Build.0 = Debug|Win32 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.DebugDLL|x64.Build.0 = DebugDLL|x64 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.DebugDLL|x86.ActiveCfg = DebugDLL|Win32 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.DebugDLL|x86.Build.0 = DebugDLL|Win32 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Release|x64.ActiveCfg = Release|x64 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Release|x64.Build.0 = Release|x64 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Release|x86.ActiveCfg = Release|Win32 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.Release|x86.Build.0 = Release|Win32 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {820B79FE-57D7-4539-A0CA-B668A0723B9B}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.ReleaseDLL|x86.ActiveCfg = ReleaseDLL|Win32 - {820B79FE-57D7-4539-A0CA-B668A0723B9B}.ReleaseDLL|x86.Build.0 = ReleaseDLL|Win32 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Debug|x64.ActiveCfg = Debug|x64 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Debug|x64.Build.0 = Debug|x64 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Debug|x86.ActiveCfg = Debug|Win32 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Debug|x86.Build.0 = Debug|Win32 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.DebugDLL|x64.Build.0 = DebugDLL|x64 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.DebugDLL|x86.ActiveCfg = DebugDLL|Win32 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.DebugDLL|x86.Build.0 = DebugDLL|Win32 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Release|x64.ActiveCfg = Release|x64 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Release|x64.Build.0 = Release|x64 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Release|x86.ActiveCfg = Release|Win32 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.Release|x86.Build.0 = Release|Win32 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.ReleaseDLL|x86.ActiveCfg = ReleaseDLL|Win32 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C}.ReleaseDLL|x86.Build.0 = ReleaseDLL|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/VisualStudio/oqs/oqs.vcxproj b/VisualStudio/oqs/oqs.vcxproj index 4b6fd782e..40de0e367 100644 --- a/VisualStudio/oqs/oqs.vcxproj +++ b/VisualStudio/oqs/oqs.vcxproj @@ -65,6 +65,7 @@ + @@ -212,7 +213,7 @@ Level3 Disabled - inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;PICNIC_STATIC;PICNIC_STATIC_DEFINE;PICNIC_EXPORTPICNIC_EXPORT=DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreadedDebug @@ -239,7 +240,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" @@ -248,7 +252,7 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" Level3 Disabled - inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreadedDebugDLL @@ -276,7 +280,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" @@ -285,7 +292,7 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" Level3 Disabled - inline=__inline;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;_DEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;PICNIC_STATIC;PICNIC_STATIC_DEFINE;PICNIC_EXPORTPICNIC_EXPORT=_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;_DEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreadedDebug @@ -313,7 +320,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" /ignore:4006 %(AdditionalOptions) @@ -325,7 +335,7 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" Level3 Disabled - inline=__inline;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;_DEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;_DEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreadedDebugDLL @@ -354,7 +364,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" /ignore:4006 %(AdditionalOptions) @@ -368,7 +381,7 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" MaxSpeed true true - inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;PICNIC_STATIC;PICNIC_STATIC_DEFINE;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreaded @@ -397,7 +410,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" @@ -408,7 +424,7 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" MaxSpeed true true - inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreadedDLL @@ -438,7 +454,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" @@ -449,7 +468,7 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" MaxSpeed true true - inline=__inline;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;NDEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;PICNIC_STATIC;PICNIC_STATIC_DEFINE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;NDEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreaded @@ -479,7 +498,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" /ignore:4006 %(AdditionalOptions) @@ -493,7 +515,7 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" MaxSpeed true true - inline=__inline;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;NDEBUG;_LIB;%(PreprocessorDefinitions) + inline=__inline;ENABLE_SIG_PICNIC;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;NDEBUG;_LIB;%(PreprocessorDefinitions) false $(SolutionDir)include MultiThreadedDLL @@ -524,7 +546,10 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" - +mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cd "$(SolutionDir)..\src\sig_picnic\external\msbuild" +cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\" +msbuild /t:Rebuild /p:Configuration=Release "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln" /ignore:4006 %(AdditionalOptions) diff --git a/VisualStudio/oqs/oqs.vcxproj.filters b/VisualStudio/oqs/oqs.vcxproj.filters index a29bf32c9..63d800ece 100644 --- a/VisualStudio/oqs/oqs.vcxproj.filters +++ b/VisualStudio/oqs/oqs.vcxproj.filters @@ -183,6 +183,9 @@ KEX_SIDH_MSR + + Sig_Picnic + diff --git a/VisualStudio/test_sig/test_sig.vcxproj b/VisualStudio/test_sig/test_sig.vcxproj index 7bf1db505..daea1da47 100644 --- a/VisualStudio/test_sig/test_sig.vcxproj +++ b/VisualStudio/test_sig/test_sig.vcxproj @@ -1,313 +1,345 @@ - - - - - DebugDLL - Win32 - - - DebugDLL - x64 - - - Debug - Win32 - - - ReleaseDLL - Win32 - - - ReleaseDLL - x64 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {990D1E9C-75E0-4E17-8514-6DA0858BC17C} - Win32Proj - test_sig - 10.0.15063.0 - - - - Application - true - v141 - Unicode - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - Application - false - v141 - true - Unicode - - - Application - true - v141 - Unicode - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - Application - false - v141 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - false - - - true - - - true - - - true - - - true - - - false - - - false - - - - Level3 - - - MaxSpeed - true - true - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - true - - - Console - true - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - Level3 - - - MaxSpeed - true - true - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - true - - - Console - true - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - - - Console - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - - - Level3 - Disabled - _CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - - - Console - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - - - Level3 - Disabled - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - true - - - Console - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - - - Level3 - Disabled - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - true - - - Console - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - - - Console - true - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - Level3 - - - MaxSpeed - true - true - _CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(SolutionDir)include - true - - - Console - true - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;%(AdditionalDependencies) - $(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\openssl\lib\;$(SolutionDir)..\src\sig_picnic\external\Picnic-master\VisualStudio\$(Platform)\$(Configuration)\;$(SolutionDir)$(Platform)\$(Configuration)\ - /ignore:4006 %(AdditionalOptions) - - - - - - - - + + + + + DebugDLL + Win32 + + + DebugDLL + x64 + + + Debug + Win32 + + + ReleaseDLL + Win32 + + + ReleaseDLL + x64 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {990D1E9C-75E0-4E17-8514-6DA0858BC17C} + Win32Proj + test_sig + 10.0.15063.0 + + + + Application + true + v141 + Unicode + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + Application + false + v141 + true + Unicode + + + Application + true + v141 + Unicode + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + Application + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + false + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + true + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + true + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + true + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + true + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + false + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + false + $(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;$(LibraryPath) + + + + Level3 + + + MaxSpeed + true + true + ENABLE_SIG_PICNIC;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + true + + + Console + true + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic_static.lib;Bcrypt.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + ENABLE_SIG_PICNIC;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + true + + + Console + true + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + + + Level3 + Disabled + ENABLE_SIG_PICNIC;_CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + + + Console + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic_static.lib;Bcrypt.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + + + Level3 + Disabled + ENABLE_SIG_PICNIC;_CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + + + Console + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + + + Level3 + Disabled + ENABLE_SIG_PICNIC;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + true + + + Console + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic_static.lib;Bcrypt.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + + + Level3 + Disabled + ENABLE_SIG_PICNIC;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;WINDOWS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + true + + + Console + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + ENABLE_SIG_PICNIC;_CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + + + Console + true + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic_static.lib;Bcrypt.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + Level3 + + + MaxSpeed + true + true + ENABLE_SIG_PICNIC;_CRT_SECURE_NO_WARNINGS;WINDOWS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)include + true + + + Console + true + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;oqs.lib;libpicnic.lib;%(AdditionalDependencies) + $(SolutionDir)$(Platform)\$(Configuration)\ + /ignore:4006 %(AdditionalOptions) + + + xcopy /y /d "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\*.dll" "$(OutDir)" + + + + + + + + \ No newline at end of file diff --git a/VisualStudio/test_sig/test_sig.vcxproj.filters b/VisualStudio/test_sig/test_sig.vcxproj.filters index 1bc79a829..0a6027f34 100644 --- a/VisualStudio/test_sig/test_sig.vcxproj.filters +++ b/VisualStudio/test_sig/test_sig.vcxproj.filters @@ -1,22 +1,22 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 146d2b6b4..cf8a3c65b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -13,3 +13,5 @@ test_script: %APPVEYOR_BUILD_FOLDER%\VisualStudio\x64\%CONFIGURATION%\test_rand.exe %APPVEYOR_BUILD_FOLDER%\VisualStudio\x64\%CONFIGURATION%\test_kex.exe + + %APPVEYOR_BUILD_FOLDER%\VisualStudio\x64\%CONFIGURATION%\test_sig.exe diff --git a/src/sig_picnic/sig_picnic.c b/src/sig_picnic/sig_picnic.c index 89f8421e4..874c4e3eb 100644 --- a/src/sig_picnic/sig_picnic.c +++ b/src/sig_picnic/sig_picnic.c @@ -5,7 +5,7 @@ #include #include #include "sig_picnic.h" -#include "picnic.h" +#include "external/picnic.h" static char *Picnic_L1_FS_name = "Picnic_L1_FS"; static char *Picnic_L1_UR_name = "Picnic_L1_UR"; @@ -98,9 +98,9 @@ int OQS_SIG_picnic_get(OQS_SIG *s, enum OQS_SIG_algid algid) { } // set the ctx, sizes, and API functions s->ctx = pctx; - s->priv_key_len = PRIV_KEY_LEN[pctx->params] + PUB_KEY_LEN[pctx->params]; // priv key also contains pub key - s->pub_key_len = PUB_KEY_LEN[pctx->params]; - s->max_sig_len = SIG_LEN[pctx->params]; + s->priv_key_len = (uint16_t) (PRIV_KEY_LEN[pctx->params] + PUB_KEY_LEN[pctx->params]); // priv key also contains pub key + s->pub_key_len = (uint16_t) PUB_KEY_LEN[pctx->params]; + s->max_sig_len = (uint32_t) SIG_LEN[pctx->params]; s->keygen = &OQS_SIG_picnic_keygen; s->sign = &OQS_SIG_picnic_sign; s->verify = &OQS_SIG_picnic_verify;