-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrates MSR's RLWE Latticecrypto library into OQS. #58
Changes from 21 commits
7f6fec2
a498f70
12ce5d6
29fa20a
b0049c1
9c00eed
ab99f9f
7b2d2b3
71b217e
ab352e4
e4b82bc
b787782
3870d77
2da2535
fe2fdab
c78e92d
88ab89a
d26c341
75773c6
a1c7070
773dd78
2854c9e
991030e
fc30faa
5f1164b
e617f72
8dcca12
6f09902
4fb1e05
6040c5c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,6 +26,7 @@ liboqs currently contains: | |
- `rand_urandom_chacha20`: pseudorandom number generator seeded from /dev/urandom and expanded using the ChaCha20 stream cipher | ||
- `kex_rlwe_bcns15`: key exchange from the ring learning with errors problem (Bos, Costello, Naehrig, Stebila, *IEEE Symposium on Security & Privacy 2015*, [https://eprint.iacr.org/2014/599](https://eprint.iacr.org/2014/599)) | ||
- `kex_rlwe_newhope`: "NewHope": key exchange from the ring learning with errors problem (Alkim, Ducas, Pöppelmann, Schwabe, *USENIX Security 2016*, [https://eprint.iacr.org/2015/1092](https://eprint.iacr.org/2015/1092)) (using the reference C implementation of NewHope from [https://github.com/tpoeppelmann/newhope](https://github.com/tpoeppelmann/newhope)) | ||
- `kex_rlwe_latticecrypto`: MSR implementation of Peikert's RLWE key exchange, based on the implementation of Alkim, Ducas, Pöppelmann, and Schwabe, [https://www.microsoft.com/en-us/research/project/lattice-cryptography-library/](https://www.microsoft.com/en-us/research/project/lattice-cryptography-library/) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Still an encoding error here. |
||
- `kex_lwe_frodo`: key exchange from the learning with errors problem (Bos, Costello, Ducas, Mironov, Naehrig, Nikolaenko, Raghunathan, Stebila, *ACM Conference on Computer and Communications Security 2016*, [http://eprint.iacr.org/2016/659](http://eprint.iacr.org/2016/659)) | ||
|
||
Building and Running | ||
|
@@ -105,7 +106,7 @@ Over the next few months, we plan to be making the following updates: | |
|
||
- Building on more systems, including building of assembly code / optimizations | ||
- Inclusion of a McEliece-based key exchange method | ||
- Inclusion of a supersingular isogeny Diffie–Hellman key exchange method | ||
- Inclusion of a supersingular isogeny DiffieâHellman key exchange method | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Coding is incorrect here There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed |
||
- Code reviews including static analysis | ||
- Integration of liboqs into additional application-level protocols. | ||
|
||
|
@@ -117,6 +118,7 @@ License | |
liboqs is licensed under the MIT License; see [https://github.com/open-quantum-safe/liboqs/blob/master/LICENSE.txt](LICENSE.txt) for details. liboqs includes some third party libraries or modules that are licensed differently; the corresponding subfolder contains the license that applies in that case. In particular: | ||
|
||
- `src/kex_rlwe_bcns15`: public domain ([http://unlicense.org](http://unlicense.org)) | ||
- `src/kex_rlwe_latticecrypto`: MIT License | ||
- `src/rand_urandom_chacha20/external`: public domain | ||
- `src/kex_rlwe_newhope`: public domain | ||
|
||
|
@@ -127,7 +129,7 @@ The Open Quantum Safe project is lead by [Michele Mosca](http://faculty.iqc.uwat | |
|
||
### Contributors | ||
|
||
- Tancrède Lepoint (SRI) | ||
- Tancrède Lepoint (SRI) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Coding is incorrect here There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed |
||
- Shravan Mishra (University of Waterloo) | ||
- Christian Paquin (Microsoft Research) | ||
- Alex Parent (University of Waterloo) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,138 +1,128 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<ItemGroup> | ||
<Filter Include="Source Files"> | ||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||
</Filter> | ||
<Filter Include="Header Files"> | ||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||
</Filter> | ||
<Filter Include="Resource Files"> | ||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||
</Filter> | ||
<Filter Include="Source Files\BCNS15"> | ||
<UniqueIdentifier>{178cf83e-52eb-4ead-a1ca-33558ffd988e}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Source Files\rand"> | ||
<UniqueIdentifier>{15505124-034e-4100-a6cb-a32309738b25}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Header Files\BCNS15"> | ||
<UniqueIdentifier>{768db348-be19-4ce5-a6bc-22d81c2c59d3}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Header Files\rand"> | ||
<UniqueIdentifier>{65721ee8-a809-4e67-88a8-ad33d6a6a800}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Header Files\Newhope"> | ||
<UniqueIdentifier>{d26b84bb-a12a-4229-b619-8ddfdaca9928}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Source Files\Newhope"> | ||
<UniqueIdentifier>{9445c3c6-bd2e-4448-8cba-a986ef929d45}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Header Files\Frodo"> | ||
<UniqueIdentifier>{9e41843f-5671-4bbf-916a-2688ac3ceaff}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Source Files\Frodo"> | ||
<UniqueIdentifier>{fb1ab057-5f38-445f-9bfa-2486aa8200e5}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Header Files\AES"> | ||
<UniqueIdentifier>{a6bb776b-ac51-4243-aec8-396a52ed9560}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Source Files\AES"> | ||
<UniqueIdentifier>{379cec65-7e0e-4eb2-9be1-414b154a911f}</UniqueIdentifier> | ||
</Filter> | ||
<ClCompile Include="..\..\src\kex\kex.c" /> | ||
<ClCompile Include="..\..\src\aes\aes.c"> | ||
<Filter>AES</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\aes\aes_c.c"> | ||
<Filter>AES</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\aes\aes_ni.c"> | ||
<Filter>AES</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\fft.c"> | ||
<Filter>BCNS15</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.c"> | ||
<Filter>Frodo</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.c"> | ||
<Filter>BCNS15</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_latticecrypto\kex_rlwe_latticecrypto.c"> | ||
<Filter>LatticeCrypto</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_newhope\kex_rlwe_newhope.c"> | ||
<Filter>NewHope</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_latticecrypto\LatticeCrypto_kex.c"> | ||
<Filter>LatticeCrypto</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_lwe_frodo\lwe.c"> | ||
<Filter>Frodo</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_lwe_frodo\lwe_noise.c"> | ||
<Filter>Frodo</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_newhope\newhope.c"> | ||
<Filter>NewHope</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_latticecrypto\ntt_constants.c"> | ||
<Filter>LatticeCrypto</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\rand\rand.c"> | ||
<Filter>Rand</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\rand_urandom_aesctr\rand_urandom_aesctr.c"> | ||
<Filter>Rand</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\rand_urandom_chacha20\rand_urandom_chacha20.c"> | ||
<Filter>Rand</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\rlwe.c"> | ||
<Filter>BCNS15</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\rlwe_kex.c"> | ||
<Filter>BCNS15</Filter> | ||
</ClCompile> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<ClInclude Include="..\..\src\kex\kex.h"> | ||
<Filter>Header Files</Filter> | ||
<ClInclude Include="..\..\src\kex\kex.h" /> | ||
<ClInclude Include="..\..\src\aes\aes.h"> | ||
<Filter>AES</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.h"> | ||
<Filter>Frodo</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.h"> | ||
<Filter>Header Files\BCNS15</Filter> | ||
<Filter>BCNS15</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\rand\rand.h"> | ||
<Filter>Header Files\rand</Filter> | ||
<ClInclude Include="..\..\src\kex_rlwe_latticecrypto\kex_rlwe_latticecrypto.h"> | ||
<Filter>LatticeCrypto</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\rand_urandom_chacha20\rand_urandom_chacha20.h"> | ||
<Filter>Header Files\rand</Filter> | ||
<ClInclude Include="..\..\src\kex_rlwe_newhope\kex_rlwe_newhope.h"> | ||
<Filter>NewHope</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_rlwe_bcns15\rlwe_a.h"> | ||
<Filter>Header Files\BCNS15</Filter> | ||
<ClInclude Include="..\..\src\kex_rlwe_latticecrypto\LatticeCrypto.h"> | ||
<Filter>LatticeCrypto</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_rlwe_bcns15\rlwe_table.h"> | ||
<Filter>Header Files\BCNS15</Filter> | ||
<ClInclude Include="..\..\src\kex_rlwe_latticecrypto\LatticeCrypto_priv.h"> | ||
<Filter>LatticeCrypto</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_rlwe_bcns15\local.h"> | ||
<Filter>Header Files\BCNS15</Filter> | ||
<Filter>BCNS15</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_rlwe_newhope\kex_rlwe_newhope.h"> | ||
<Filter>Header Files\Newhope</Filter> | ||
<ClInclude Include="..\..\src\kex_lwe_frodo\local.h"> | ||
<Filter>Frodo</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_rlwe_newhope\params.h"> | ||
<Filter>Header Files\Newhope</Filter> | ||
<Filter>NewHope</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.h"> | ||
<Filter>Header Files\Frodo</Filter> | ||
<ClInclude Include="..\..\src\rand\rand.h"> | ||
<Filter>Rand</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_lwe_frodo\local.h"> | ||
<Filter>Header Files\Frodo</Filter> | ||
<ClInclude Include="..\..\src\rand_urandom_aesctr\rand_urandom_aesctr.h"> | ||
<Filter>Rand</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\aes\aes.h"> | ||
<Filter>Header Files\AES</Filter> | ||
<ClInclude Include="..\..\src\rand_urandom_chacha20\rand_urandom_chacha20.h"> | ||
<Filter>Rand</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\rand_urandom_aesctr\rand_urandom_aesctr.h"> | ||
<Filter>Header Files\rand</Filter> | ||
<ClInclude Include="..\..\src\kex_rlwe_bcns15\rlwe_table.h"> | ||
<Filter>BCNS15</Filter> | ||
</ClInclude> | ||
<ClInclude Include="..\..\src\kex_rlwe_bcns15\rlwe_a.h"> | ||
<Filter>BCNS15</Filter> | ||
</ClInclude> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<ClCompile Include="..\..\src\kex\kex.c"> | ||
<Filter>Source Files</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\fft.c"> | ||
<Filter>Source Files\BCNS15</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\kex_rlwe_bcns15.c"> | ||
<Filter>Source Files\BCNS15</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\rand\rand.c"> | ||
<Filter>Source Files\rand</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\rand_urandom_chacha20\rand_urandom_chacha20.c"> | ||
<Filter>Source Files\rand</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\rlwe_kex.c"> | ||
<Filter>Source Files\BCNS15</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_bcns15\rlwe.c"> | ||
<Filter>Source Files\BCNS15</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_newhope\kex_rlwe_newhope.c"> | ||
<Filter>Source Files\Newhope</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_rlwe_newhope\newhope.c"> | ||
<Filter>Source Files\Newhope</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.c"> | ||
<Filter>Source Files\Frodo</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_lwe_frodo\lwe.c"> | ||
<Filter>Source Files\Frodo</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\kex_lwe_frodo\lwe_noise.c"> | ||
<Filter>Source Files\Frodo</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\aes\aes.c"> | ||
<Filter>Source Files\AES</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\aes\aes_c.c"> | ||
<Filter>Source Files\AES</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\aes\aes_ni.c"> | ||
<Filter>Source Files\AES</Filter> | ||
</ClCompile> | ||
<ClCompile Include="..\..\src\rand_urandom_aesctr\rand_urandom_aesctr.c"> | ||
<Filter>Source Files\rand</Filter> | ||
</ClCompile> | ||
<Filter Include="AES"> | ||
<UniqueIdentifier>{71c917ec-9181-4b88-bdfc-9611ee1abe9a}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Frodo"> | ||
<UniqueIdentifier>{6bfff158-3e78-402f-ba16-e8d315089de8}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="NewHope"> | ||
<UniqueIdentifier>{d0291785-4232-4264-b1bd-08b7e3f8df5e}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="LatticeCrypto"> | ||
<UniqueIdentifier>{9f5ed87f-ed1e-47b4-b7e7-1d6648cb88fd}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="BCNS15"> | ||
<UniqueIdentifier>{ab581356-2a96-4211-99e3-f5cecd92eda3}</UniqueIdentifier> | ||
</Filter> | ||
<Filter Include="Rand"> | ||
<UniqueIdentifier>{fd44eb34-2f81-411e-a55f-f279c4b101de}</UniqueIdentifier> | ||
</Filter> | ||
</ItemGroup> | ||
</Project> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Coding error here too. And on the line above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed