mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-12-06 00:01:28 -05:00
Enable McBits on Windows (#78)
This commit is contained in:
parent
fe14bf7ccd
commit
88d18d7d49
@ -58,7 +58,11 @@ To run benchmarks, run
|
||||
|
||||
### Windows
|
||||
|
||||
Windows binaries can be generated using the Visual Studio solution in the VisualStudio folder.
|
||||
Windows binaries can be generated using the Visual Studio solution in the VisualStudio folder. McBits is disabled by default; follow these steps to enable it:
|
||||
- Obtain the ([libsodium library](https://libsodium.org)); compile the static library from the Visual Studio projects.
|
||||
- Add ENABLE_CODE_MCBITS and SODIUM_STATIC to the preprocessor definitions of the oqs and test_kex projects.
|
||||
- Add the sodium "src/include" location to the "Additional Include Directories" in the oqs project C properties.
|
||||
- Add the libsodium library to the "Additional Depencies" in the test_kex project Linker properties.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
@ -27,6 +27,8 @@
|
||||
<ClInclude Include="..\..\src\crypto\rand_urandom_chacha20\rand_urandom_chacha20.h" />
|
||||
<ClInclude Include="..\..\src\crypto\sha3\sha3.h" />
|
||||
<ClInclude Include="..\..\src\kex\kex.h" />
|
||||
<ClInclude Include="..\..\src\kex_code_mcbits\kex_code_mcbits.h" />
|
||||
<ClInclude Include="..\..\src\kex_code_mcbits\mcbits.h" />
|
||||
<ClInclude Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.h" />
|
||||
<ClInclude Include="..\..\src\kex_lwe_frodo\local.h" />
|
||||
<ClInclude Include="..\..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.h" />
|
||||
@ -52,6 +54,8 @@
|
||||
<ClCompile Include="..\..\src\crypto\rand_urandom_chacha20\rand_urandom_chacha20.c" />
|
||||
<ClCompile Include="..\..\src\crypto\sha3\sha3.c" />
|
||||
<ClCompile Include="..\..\src\kex\kex.c" />
|
||||
<ClCompile Include="..\..\src\kex_code_mcbits\external\operations.c" />
|
||||
<ClCompile Include="..\..\src\kex_code_mcbits\kex_code_mcbits.c" />
|
||||
<ClCompile Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.c" />
|
||||
<ClCompile Include="..\..\src\kex_lwe_frodo\lwe.c" />
|
||||
<ClCompile Include="..\..\src\kex_lwe_frodo\lwe_noise.c" />
|
||||
@ -139,7 +143,7 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include;</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -159,7 +163,8 @@ copy "$(SolutionDir)..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.h" "$(SolutionDir)inc
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_newhope\kex_rlwe_newhope.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_msrln16\kex_rlwe_msrln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_lwe_frodo\kex_lwe_frodo.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_code_mcbits\kex_code_mcbits.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
@ -170,7 +175,7 @@ copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)inclu
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include;</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -190,7 +195,8 @@ copy "$(SolutionDir)..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.h" "$(SolutionDir)inc
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_newhope\kex_rlwe_newhope.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_msrln16\kex_rlwe_msrln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_lwe_frodo\kex_lwe_frodo.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_code_mcbits\kex_code_mcbits.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
@ -203,7 +209,7 @@ copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)inclu
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include;</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -225,7 +231,8 @@ copy "$(SolutionDir)..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.h" "$(SolutionDir)inc
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_newhope\kex_rlwe_newhope.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_msrln16\kex_rlwe_msrln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_lwe_frodo\kex_lwe_frodo.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_code_mcbits\kex_code_mcbits.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
@ -238,7 +245,7 @@ copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)inclu
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WINDOWS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include;</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -260,7 +267,8 @@ copy "$(SolutionDir)..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.h" "$(SolutionDir)inc
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_newhope\kex_rlwe_newhope.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_rlwe_msrln16\kex_rlwe_msrln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_lwe_frodo\kex_lwe_frodo.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
copy "$(SolutionDir)..\src\kex_sidh_cln16\kex_sidh_cln16.h" "$(SolutionDir)include\oqs\"
|
||||
copy "$(SolutionDir)..\src\kex_code_mcbits\kex_code_mcbits.h" "$(SolutionDir)include\oqs\"</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
||||
@ -85,6 +85,12 @@
|
||||
<ClCompile Include="..\..\src\kex\kex.c">
|
||||
<Filter>KEX</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\kex_code_mcbits\kex_code_mcbits.c">
|
||||
<Filter>KEX_McBits</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\kex_code_mcbits\external\operations.c">
|
||||
<Filter>KEX_McBits</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.h">
|
||||
@ -153,6 +159,12 @@
|
||||
<ClInclude Include="..\..\src\kex\kex.h">
|
||||
<Filter>KEX</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\kex_code_mcbits\kex_code_mcbits.h">
|
||||
<Filter>KEX_McBits</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\kex_code_mcbits\mcbits.h">
|
||||
<Filter>KEX_McBits</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="Common">
|
||||
@ -188,5 +200,8 @@
|
||||
<Filter Include="Crypto\SHA3">
|
||||
<UniqueIdentifier>{a9a0db92-1388-4ea2-b0d5-d61a51581993}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="KEX_McBits">
|
||||
<UniqueIdentifier>{9c91a128-d5a0-4eec-998e-a7bc85b3691e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
3
src/kex_code_mcbits/external/operations.c
vendored
3
src/kex_code_mcbits/external/operations.c
vendored
@ -1,3 +1,4 @@
|
||||
#ifdef ENABLE_CODE_MCBITS // don't want this file in Visual Studio if libsodium is not present
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
@ -8,7 +9,6 @@
|
||||
#include <sodium/crypto_stream_salsa20.h>
|
||||
#include <sodium/crypto_onetimeauth_poly1305.h>
|
||||
#include <sodium/randombytes.h>
|
||||
|
||||
#include "params.h"
|
||||
#include "util.c"
|
||||
#include "transpose.c"
|
||||
@ -109,3 +109,4 @@ int oqs_kex_mcbits_gen_keypair
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
Loading…
x
Reference in New Issue
Block a user