From 2f05262bf4ec2d3d08391e1e5f05a83d215a85c1 Mon Sep 17 00:00:00 2001 From: Douglas Stebila Date: Tue, 9 Oct 2018 21:49:11 -0400 Subject: [PATCH 1/3] Rename NewHope to NewHopeNIST to be consistent with nist-branch --- Makefile.am | 6 +- VisualStudio/oqs/oqs.vcxproj | 40 ++++++------- VisualStudio/oqs/oqs.vcxproj.filters | 18 +++--- VisualStudio/winconfig.h | 4 +- config/features.m4 | 6 +- configure.ac | 2 +- docs/algorithms/kem_newhope.md | 36 ------------ docs/algorithms/kem_newhopenist.md | 36 ++++++++++++ src/kem/kem.c | 14 ++--- src/kem/kem.h | 10 ++-- src/kem/newhope/Makefile.am | 24 -------- src/kem/newhope/kem_newhope.c | 57 ------------------- src/kem/newhope/kem_newhope.h | 44 -------------- src/kem/newhopenist/Makefile.am | 21 +++++++ .../NEWHOPE-1024CCA.Optimized.kat | 0 .../NEWHOPE-512CCA.Optimized.kat | 0 .../functions_renaming.h | 0 src/kem/newhopenist/kem_newhopenist.c | 57 +++++++++++++++++++ src/kem/newhopenist/kem_newhopenist.h | 44 ++++++++++++++ .../{newhope => newhopenist}/optimized/api.h | 4 +- .../optimized/cpapke.c | 0 .../optimized/cpapke.h | 0 .../optimized/fips202.h | 0 .../{newhope => newhopenist}/optimized/kem.c | 0 .../{newhope => newhopenist}/optimized/ntt.c | 0 .../{newhope => newhopenist}/optimized/ntt.h | 0 .../optimized/params.h | 0 .../{newhope => newhopenist}/optimized/poly.c | 0 .../{newhope => newhopenist}/optimized/poly.h | 0 .../optimized/precomp.c | 0 .../optimized/reduce.c | 0 .../optimized/reduce.h | 0 .../optimized/verify.c | 0 .../optimized/verify.h | 0 .../win_newhope1024cca.c | 6 +- .../win_newhope512cca.c | 6 +- 36 files changed, 216 insertions(+), 219 deletions(-) delete mode 100644 docs/algorithms/kem_newhope.md create mode 100644 docs/algorithms/kem_newhopenist.md delete mode 100644 src/kem/newhope/Makefile.am delete mode 100644 src/kem/newhope/kem_newhope.c delete mode 100644 src/kem/newhope/kem_newhope.h create mode 100644 src/kem/newhopenist/Makefile.am rename src/kem/{newhope => newhopenist}/NEWHOPE-1024CCA.Optimized.kat (100%) rename src/kem/{newhope => newhopenist}/NEWHOPE-512CCA.Optimized.kat (100%) rename src/kem/{newhope => newhopenist}/functions_renaming.h (100%) create mode 100644 src/kem/newhopenist/kem_newhopenist.c create mode 100644 src/kem/newhopenist/kem_newhopenist.h rename src/kem/{newhope => newhopenist}/optimized/api.h (87%) rename src/kem/{newhope => newhopenist}/optimized/cpapke.c (100%) rename src/kem/{newhope => newhopenist}/optimized/cpapke.h (100%) rename src/kem/{newhope => newhopenist}/optimized/fips202.h (100%) rename src/kem/{newhope => newhopenist}/optimized/kem.c (100%) rename src/kem/{newhope => newhopenist}/optimized/ntt.c (100%) rename src/kem/{newhope => newhopenist}/optimized/ntt.h (100%) rename src/kem/{newhope => newhopenist}/optimized/params.h (100%) rename src/kem/{newhope => newhopenist}/optimized/poly.c (100%) rename src/kem/{newhope => newhopenist}/optimized/poly.h (100%) rename src/kem/{newhope => newhopenist}/optimized/precomp.c (100%) rename src/kem/{newhope => newhopenist}/optimized/reduce.c (100%) rename src/kem/{newhope => newhopenist}/optimized/reduce.h (100%) rename src/kem/{newhope => newhopenist}/optimized/verify.c (100%) rename src/kem/{newhope => newhopenist}/optimized/verify.h (100%) rename src/kem/{newhope => newhopenist}/win_newhope1024cca.c (60%) rename src/kem/{newhope => newhopenist}/win_newhope512cca.c (61%) diff --git a/Makefile.am b/Makefile.am index ca2ce2173..a90f6d775 100644 --- a/Makefile.am +++ b/Makefile.am @@ -37,7 +37,7 @@ if ENABLE_KEM_SIKE liboqs_la_LIBADD += src/kem/sike/libkemsike.la endif if ENABLE_KEM_NEWHOPE -liboqs_la_LIBADD += src/kem/newhope/libkemnewhope.la +liboqs_la_LIBADD += src/kem/newhopenist/libkemnewhopenist.la endif installheaderdir=$(includedir)/oqs @@ -50,7 +50,7 @@ installheader_HEADERS=config.h \ src/kem/kem.h \ src/kem/bike/kem_bike.h \ src/kem/frodokem/kem_frodokem.h \ - src/kem/newhope/kem_newhope.h \ + src/kem/newhopenist/kem_newhopenist.h \ src/kem/sike/kem_sike.h \ src/sig/sig.h \ src/sig/picnic/sig_picnic.h \ @@ -83,7 +83,7 @@ links: cp -f src/kem/bike/kem_bike.h include/oqs cp -f src/kem/frodokem/kem_frodokem.h include/oqs cp -f src/kem/sike/kem_sike.h include/oqs - cp -f src/kem/newhope/kem_newhope.h include/oqs + cp -f src/kem/newhopenist/kem_newhopenist.h include/oqs cp -f src/sig/sig.h include/oqs cp -f src/sig/picnic/sig_picnic.h include/oqs cp -f src/sig/qtesla/sig_qtesla.h include/oqs diff --git a/VisualStudio/oqs/oqs.vcxproj b/VisualStudio/oqs/oqs.vcxproj index 1ed662a84..9af8746f8 100644 --- a/VisualStudio/oqs/oqs.vcxproj +++ b/VisualStudio/oqs/oqs.vcxproj @@ -36,7 +36,7 @@ - + @@ -87,10 +87,10 @@ - + - - + + @@ -243,7 +243,7 @@ Disabled _X86_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;MUL_M4RI;REDUCED_LINEAR_LAYER;AES_DISABLE_NI;CONSTANT_TIME;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreadedDebug @@ -261,7 +261,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" @@ -276,7 +276,7 @@ copy "$(SolutionDir)..\src\sig\qtesla\sig_qtesla.h" "$(SolutionDir)include\oqs\" Disabled _X86_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;MUL_M4RI;REDUCED_LINEAR_LAYER;AES_DISABLE_NI;CONSTANT_TIME;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreadedDebugDLL @@ -295,7 +295,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" @@ -310,7 +310,7 @@ copy "$(SolutionDir)..\src\sig\qtesla\sig_qtesla.h" "$(SolutionDir)include\oqs\" Disabled _AMD64_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;CONSTANT_TIME;_DEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreadedDebug false @@ -329,7 +329,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" @@ -349,7 +349,7 @@ copy "$(SolutionDir)..\src\sig\qtesla\sig_qtesla.h" "$(SolutionDir)include\oqs\" Disabled _AMD64_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;CONSTANT_TIME;_DEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreadedDebugDLL false @@ -370,7 +370,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" @@ -390,7 +390,7 @@ copy "$(SolutionDir)..\src\sig\qtesla\sig_qtesla.h" "$(SolutionDir)include\oqs\" true _X86_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;MUL_M4RI;REDUCED_LINEAR_LAYER;AES_DISABLE_NI;CONSTANT_TIME;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreaded @@ -410,7 +410,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" @@ -427,7 +427,7 @@ copy "$(SolutionDir)..\src\sig\qtesla\sig_qtesla.h" "$(SolutionDir)include\oqs\" true _X86_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;MUL_M4RI;REDUCED_LINEAR_LAYER;AES_DISABLE_NI;CONSTANT_TIME;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreadedDLL @@ -448,7 +448,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" @@ -465,7 +465,7 @@ copy "$(SolutionDir)..\src\sig\qtesla\sig_qtesla.h" "$(SolutionDir)include\oqs\" true _AMD64_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;CONSTANT_TIME;NDEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreaded false @@ -486,7 +486,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" @@ -508,7 +508,7 @@ copy "$(SolutionDir)..\src\sig\qtesla\sig_qtesla.h" "$(SolutionDir)include\oqs\" true _AMD64_;inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;CONSTANT_TIME;NDEBUG;_LIB;%(PreprocessorDefinitions) false - $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhope + $(SolutionDir)include;$(SolutionDir)..\src\sig\picnic\external\;$(SolutionDir)..\src\sig\picnic\external\sha3\;$(SolutionDir)..\src\sig\picnic\external\sha3\opt64\;$(SolutionDir)..\src\kem\newhopenist MultiThreadedDLL false @@ -531,7 +531,7 @@ copy "$(SolutionDir)..\src\crypto\sha3\sha3.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\kem.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\bike\kem_bike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\frodokem\kem_frodokem.h" "$(SolutionDir)include\oqs\" -copy "$(SolutionDir)..\src\kem\newhope\kem_newhope.h" "$(SolutionDir)include\oqs\" +copy "$(SolutionDir)..\src\kem\newhopenist\kem_newhopenist.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\kem\sike\kem_sike.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\" copy "$(SolutionDir)..\src\sig\picnic\sig_picnic.h" "$(SolutionDir)include\oqs\" diff --git a/VisualStudio/oqs/oqs.vcxproj.filters b/VisualStudio/oqs/oqs.vcxproj.filters index 82eacc3f1..59546d744 100644 --- a/VisualStudio/oqs/oqs.vcxproj.filters +++ b/VisualStudio/oqs/oqs.vcxproj.filters @@ -109,17 +109,17 @@ sike - - newhope + + newhopenist common - - newhope + + newhopenist - - newhope + + newhopenist @@ -227,8 +227,8 @@ sike - - newhope + + newhopenist @@ -256,7 +256,7 @@ {620a9f8e-2013-4cb3-ad37-2ee4348ed893} - + {cb72ff2d-77c6-4e60-a04e-6aad5fc6c328} diff --git a/VisualStudio/winconfig.h b/VisualStudio/winconfig.h index 81e9a8b3e..472ba2e49 100644 --- a/VisualStudio/winconfig.h +++ b/VisualStudio/winconfig.h @@ -10,8 +10,8 @@ #define OQS_ENABLE_KEM_sike_p751 #define OQS_ENABLE_KEM_sidh_p503 #define OQS_ENABLE_KEM_sidh_p751 -#define OQS_ENABLE_KEM_newhope_1024cca -#define OQS_ENABLE_KEM_newhope_512cca +#define OQS_ENABLE_KEM_newhope_1024_cca_kem +#define OQS_ENABLE_KEM_newhope_512_cca_kem #define OQS_ENABLE_SIG_picnic_L1_FS #define OQS_ENABLE_SIG_picnic_L1_UR #define OQS_ENABLE_SIG_picnic_L3_FS diff --git a/config/features.m4 b/config/features.m4 index 869f9b26a..b207f33a4 100644 --- a/config/features.m4 +++ b/config/features.m4 @@ -45,7 +45,7 @@ AC_DEFUN([CONFIG_FEATURE_FLAGS], ARG_DISBL_SET_WRAP([kem-frodokem], [kem_frodokem], [ENABLE_KEM_FRODOKEM], [src/kem/frodokem]) ARG_DISBL_SET_WRAP([kem-sike], [kem_sike], [ENABLE_KEM_SIKE], [src/kem/sike]) - ARG_DISBL_SET_WRAP([kem-newhope], [kem_newhope], [ENABLE_KEM_NEWHOPE], [src/kem/newhope]) + ARG_DISBL_SET_WRAP([kem-newhope], [kem_newhope], [ENABLE_KEM_NEWHOPE], [src/kem/newhopenist]) ARG_DISBL_SET_WRAP([sig-picnic], [sig_picnic], [ENABLE_SIG_PICNIC], [src/sig/picnic]) @@ -108,8 +108,8 @@ AC_DEFUN([CONFIG_FEATURES], ]) AM_COND_IF([ENABLE_KEM_NEWHOPE], [ - AC_DEFINE(OQS_ENABLE_KEM_newhope_512cca, 1, "Define to 1 when NewHope-512cca enabled") - AC_DEFINE(OQS_ENABLE_KEM_newhope_1024cca, 1, "Define to 1 when NewHope-1024cca enabled") + AC_DEFINE(OQS_ENABLE_KEM_newhope_512_cca_kem, 1, "Define to 1 when NewHope-512-CCA-KEM enabled") + AC_DEFINE(OQS_ENABLE_KEM_newhope_1024_cca_kem, 1, "Define to 1 when NewHope-1024-CCA-KEM enabled") ]) ] diff --git a/configure.ac b/configure.ac index 58941e0f8..2e4cb4f50 100644 --- a/configure.ac +++ b/configure.ac @@ -59,7 +59,7 @@ AC_CONFIG_FILES([Makefile src/kem/bike/Makefile src/kem/frodokem/Makefile src/kem/sike/Makefile - src/kem/newhope/Makefile + src/kem/newhopenist/Makefile tests/Makefile ]) diff --git a/docs/algorithms/kem_newhope.md b/docs/algorithms/kem_newhope.md deleted file mode 100644 index e344b9fa8..000000000 --- a/docs/algorithms/kem_newhope.md +++ /dev/null @@ -1,36 +0,0 @@ -liboqs master branch algorithm datasheet: `kem_newhope` -======================================================== - -Summary -------- - -- **Name**: NewHope -- **Algorithm type**: key encapsulation mechanism -- **Main cryptographic assumption**: Ring Learning With Errors (RLWE) -- **Scheme authors**: Thomas Pöppelmann, Erdem Alkim, Roberto Avanzi, Joppe Bos, Léo Ducas, Antonio de la Piedra, Peter Schwabe, Douglas Stebila -- **Authors' website**: https://newhopecrypto.org/ -- **Added to liboqs by**: Shravan Mishra - -Parameter sets --------------- - -| Parameter set | Security model | Claimed NIST security level | Public key size (bytes) | Secret key size (bytes) | Ciphertext size (bytes) | Shared secret size (bytes) | -|---------------------|:--------------:|:---------------------------:|:-----------------------:|:-----------------------:|:-----------------------:|:--------------------------:| -| NEWHOPE-512CCA | IND-CCA | 1 | 928 | 1888 | 1120 | 32 | -| NEWHOPE-1024CCA | IND-CCA | 5 | 1824 | 3680 | 2208 | 32 | - -Implementation --------------- - -- **Source of implementation:** https://newhopecrypto.org/data/NewHope_2017_12_21.zip -- **License:** -- **Language:** C -- **Constant-time:** Yes -- **Architectures supported in liboqs master branch**: x86, x64 - -Additional comments -------------------- - -The original NewHope implementation includes optimizations that are not currently being built in liboqs: - -- AVX2 diff --git a/docs/algorithms/kem_newhopenist.md b/docs/algorithms/kem_newhopenist.md new file mode 100644 index 000000000..01c1a77aa --- /dev/null +++ b/docs/algorithms/kem_newhopenist.md @@ -0,0 +1,36 @@ +liboqs master branch algorithm datasheet: `kem_newhopenist` +=========================================================== + +Summary +------- + +- **Name**: NewHopeNIST +- **Algorithm type**: key encapsulation mechanism +- **Main cryptographic assumption**: Ring Learning With Errors (RLWE) +- **Scheme authors**: Thomas Pöppelmann, Erdem Alkim, Roberto Avanzi, Joppe Bos, Léo Ducas, Antonio de la Piedra, Peter Schwabe, Douglas Stebila +- **Authors' website**: https://newhopecrypto.org/ +- **Added to liboqs by**: Shravan Mishra + +Parameter sets +-------------- + +| Parameter set | Security model | Claimed NIST security level | Public key size (bytes) | Secret key size (bytes) | Ciphertext size (bytes) | Shared secret size (bytes) | +|----------------------|:--------------:|:---------------------------:|:-----------------------:|:-----------------------:|:-----------------------:|:--------------------------:| +| NewHope-512-CCA-KEM | IND-CCA | 1 | 928 | 1888 | 1120 | 32 | +| NewHope-1024-CCA-KEM | IND-CCA | 5 | 1824 | 3680 | 2208 | 32 | + +Implementation +-------------- + +- **Source of implementation:** https://newhopecrypto.org/data/NewHope_2017_12_21.zip +- **License:** +- **Language:** C +- **Constant-time:** Yes +- **Architectures supported in liboqs master branch**: x86, x64 + +Additional comments +------------------- + +The original NewHope implementation includes optimizations that are not currently being built in liboqs: + +- AVX2 diff --git a/src/kem/kem.c b/src/kem/kem.c index b08d8d104..60f30073f 100644 --- a/src/kem/kem.c +++ b/src/kem/kem.c @@ -17,7 +17,7 @@ OQS_API const char *OQS_KEM_alg_identifier(size_t i) { OQS_KEM_alg_bike1_l1, OQS_KEM_alg_bike1_l3, OQS_KEM_alg_bike1_l5, OQS_KEM_alg_bike2_l1, OQS_KEM_alg_bike2_l3, OQS_KEM_alg_bike2_l5, OQS_KEM_alg_bike3_l1, OQS_KEM_alg_bike3_l3, OQS_KEM_alg_bike3_l5, - OQS_KEM_alg_newhope_512cca, OQS_KEM_alg_newhope_1024cca}; + OQS_KEM_alg_newhope_512_cca_kem, OQS_KEM_alg_newhope_1024_cca_kem}; if (i >= OQS_KEM_algs_length) { return NULL; } else { @@ -130,15 +130,15 @@ OQS_API OQS_KEM *OQS_KEM_new(const char *method_name) { #else return NULL; #endif - } else if (0 == strcasecmp(method_name, OQS_KEM_alg_newhope_512cca)) { -#ifdef OQS_ENABLE_KEM_newhope_512cca - return OQS_KEM_newhope_512cca_new(); + } else if (0 == strcasecmp(method_name, OQS_KEM_alg_newhope_512_cca_kem)) { +#ifdef OQS_ENABLE_KEM_newhope_512_cca_kem + return OQS_KEM_newhope_512_cca_kem_new(); #else return NULL; #endif - } else if (0 == strcasecmp(method_name, OQS_KEM_alg_newhope_1024cca)) { -#ifdef OQS_ENABLE_KEM_newhope_1024cca - return OQS_KEM_newhope_1024cca_new(); + } else if (0 == strcasecmp(method_name, OQS_KEM_alg_newhope_1024_cca_kem)) { +#ifdef OQS_ENABLE_KEM_newhope_1024_cca_kem + return OQS_KEM_newhope_1024_cca_kem_new(); #else return NULL; #endif diff --git a/src/kem/kem.h b/src/kem/kem.h index 639d914a9..ff4b6af47 100644 --- a/src/kem/kem.h +++ b/src/kem/kem.h @@ -61,10 +61,10 @@ #define OQS_KEM_alg_bike3_l3 "BIKE3-L3" /** Algorithm identifier for BIKE1-L1 KEM. */ #define OQS_KEM_alg_bike3_l5 "BIKE3-L5" -/** Algorithm identifier for NEWHOPE_512CCA KEM. */ -#define OQS_KEM_alg_newhope_512cca "NEWHOPE-512CCA" -/** Algorithm identifier for NEWHOPE_1024CCA KEM. */ -#define OQS_KEM_alg_newhope_1024cca "NEWHOPE-1024CCA" +/** Algorithm identifier for NewHope512-CCA-KEM KEM. */ +#define OQS_KEM_alg_newhope_512_cca_kem "NewHope512-CCA-KEM" +/** Algorithm identifier for NewHope1024-CCA-KEM KEM. */ +#define OQS_KEM_alg_newhope_1024_cca_kem "NewHope1024-CCA-KEM" // EDIT-WHEN-ADDING-KEM /** Number of algorithm identifiers above. */ #define OQS_KEM_algs_length 20 @@ -216,7 +216,7 @@ OQS_API void OQS_KEM_free(OQS_KEM *kem); #include #include #include -#include +#include // EDIT-WHEN-ADDING-KEM #endif // __OQS_KEM_H diff --git a/src/kem/newhope/Makefile.am b/src/kem/newhope/Makefile.am deleted file mode 100644 index eaab68b74..000000000 --- a/src/kem/newhope/Makefile.am +++ /dev/null @@ -1,24 +0,0 @@ -AUTOMAKE_OPTIONS = foreign -noinst_LTLIBRARIES = libkemnewhope.la -noinst_LTLIBRARIES += libkemnewhope_512cca.la libkemnewhope_1024cca.la - -libkemnewhope_la_LIBADD = libkemnewhope_512cca.la libkemnewhope_1024cca.la -libkemnewhope_la_SOURCES = kem_newhope.c - -COMMON_FLAGS = $(AM_CFLAGS) -include functions_renaming.h -libkemnewhope_la_CFLAGS = $(COMMON_FLAGS) - -NEWHOPE_SRC_DIR = optimized - -NEWHOPE_CSRCS = $(NEWHOPE_SRC_DIR)/cpapke.c $(NEWHOPE_SRC_DIR)/kem.c $(NEWHOPE_SRC_DIR)/ntt.c -NEWHOPE_CSRCS += $(NEWHOPE_SRC_DIR)/poly.c $(NEWHOPE_SRC_DIR)/precomp.c $(NEWHOPE_SRC_DIR)/reduce.c -NEWHOPE_CSRCS += $(NEWHOPE_SRC_DIR)/verify.c - -libkemnewhope_512cca_la_SOURCES = $(NEWHOPE_CSRCS) -libkemnewhope_1024cca_la_SOURCES = $(NEWHOPE_CSRCS) - -libkemnewhope_512cca_la_CFLAGS = $(COMMON_FLAGS) -DNEWHOPE_N=512 -DFUNC_PREFIX=OQS_KEM_newhope_512cca -libkemnewhope_1024cca_la_CFLAGS = $(COMMON_FLAGS) -DNEWHOPE_N=1024 -DFUNC_PREFIX=OQS_KEM_newhope_1024cca - - - diff --git a/src/kem/newhope/kem_newhope.c b/src/kem/newhope/kem_newhope.c deleted file mode 100644 index a8eae6f0a..000000000 --- a/src/kem/newhope/kem_newhope.c +++ /dev/null @@ -1,57 +0,0 @@ -#include - -#include - -#ifdef OQS_ENABLE_KEM_newhope_512cca - -OQS_KEM *OQS_KEM_newhope_512cca_new() { - - OQS_KEM *kem = malloc(sizeof(OQS_KEM)); - if (kem == NULL) { - return NULL; - } - kem->method_name = OQS_KEM_alg_newhope_512cca; - - kem->claimed_nist_level = 1; - kem->ind_cca = true; - - kem->length_public_key = OQS_KEM_newhope_512cca_length_public_key; - kem->length_secret_key = OQS_KEM_newhope_512cca_length_secret_key; - kem->length_ciphertext = OQS_KEM_newhope_512cca_length_ciphertext; - kem->length_shared_secret = OQS_KEM_newhope_512cca_length_shared_secret; - - kem->keypair = OQS_KEM_newhope_512cca_keypair; - kem->encaps = OQS_KEM_newhope_512cca_encaps; - kem->decaps = OQS_KEM_newhope_512cca_decaps; - - return kem; -} - -#endif - -#ifdef OQS_ENABLE_KEM_newhope_1024cca - -OQS_KEM *OQS_KEM_newhope_1024cca_new() { - - OQS_KEM *kem = malloc(sizeof(OQS_KEM)); - if (kem == NULL) { - return NULL; - } - kem->method_name = OQS_KEM_alg_newhope_1024cca; - - kem->claimed_nist_level = 5; - kem->ind_cca = true; - - kem->length_public_key = OQS_KEM_newhope_1024cca_length_public_key; - kem->length_secret_key = OQS_KEM_newhope_1024cca_length_secret_key; - kem->length_ciphertext = OQS_KEM_newhope_1024cca_length_ciphertext; - kem->length_shared_secret = OQS_KEM_newhope_1024cca_length_shared_secret; - - kem->keypair = OQS_KEM_newhope_1024cca_keypair; - kem->encaps = OQS_KEM_newhope_1024cca_encaps; - kem->decaps = OQS_KEM_newhope_1024cca_decaps; - - return kem; -} - -#endif diff --git a/src/kem/newhope/kem_newhope.h b/src/kem/newhope/kem_newhope.h deleted file mode 100644 index 45b3bf52e..000000000 --- a/src/kem/newhope/kem_newhope.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef __OQS_KEM_NEWHOPE_H -#define __OQS_KEM_NEWHOPE_H - -#include - -#ifdef OQS_ENABLE_KEM_newhope_512cca - -#define OQS_KEM_newhope_512cca_length_secret_key 1888 -#define OQS_KEM_newhope_512cca_length_public_key 928 -#define OQS_KEM_newhope_512cca_length_ciphertext 1120 -#define OQS_KEM_newhope_512cca_length_shared_secret 32 - -OQS_KEM *OQS_KEM_newhope_512cca_new(); - -OQS_STATUS OQS_KEM_newhope_512cca_keypair(uint8_t *public_key, - uint8_t *secret_key); -OQS_STATUS OQS_KEM_newhope_512cca_encaps(uint8_t *ciphertext, - uint8_t *shared_secret, - const uint8_t *public_key); -OQS_STATUS OQS_KEM_newhope_512cca_decaps(uint8_t *shared_secret, - const unsigned char *ciphertext, - const uint8_t *secret_key); -#endif - -#ifdef OQS_ENABLE_KEM_newhope_1024cca - -#define OQS_KEM_newhope_1024cca_length_secret_key 3680 -#define OQS_KEM_newhope_1024cca_length_public_key 1824 -#define OQS_KEM_newhope_1024cca_length_ciphertext 2208 -#define OQS_KEM_newhope_1024cca_length_shared_secret 32 - -OQS_KEM *OQS_KEM_newhope_1024cca_new(); - -OQS_STATUS OQS_KEM_newhope_1024cca_keypair(uint8_t *public_key, - uint8_t *secret_key); -OQS_STATUS OQS_KEM_newhope_1024cca_encaps(uint8_t *ciphertext, - uint8_t *shared_secret, - const uint8_t *public_key); -OQS_STATUS OQS_KEM_newhope_1024cca_decaps(uint8_t *shared_secret, - const unsigned char *ciphertext, - const uint8_t *secret_key); -#endif - -#endif diff --git a/src/kem/newhopenist/Makefile.am b/src/kem/newhopenist/Makefile.am new file mode 100644 index 000000000..88c25f6b7 --- /dev/null +++ b/src/kem/newhopenist/Makefile.am @@ -0,0 +1,21 @@ +AUTOMAKE_OPTIONS = foreign +noinst_LTLIBRARIES = libkemnewhopenist.la +noinst_LTLIBRARIES += libkemnewhopenist_512_cca.la libkemnewhopenist_1024_cca.la + +libkemnewhopenist_la_LIBADD = libkemnewhopenist_512_cca.la libkemnewhopenist_1024_cca.la +libkemnewhopenist_la_SOURCES = kem_newhope.c + +COMMON_FLAGS = $(AM_CFLAGS) -include functions_renaming.h +libkemnewhopenist_la_CFLAGS = $(COMMON_FLAGS) + +NEWHOPE_SRC_DIR = optimized + +NEWHOPE_CSRCS = $(NEWHOPE_SRC_DIR)/cpapke.c $(NEWHOPE_SRC_DIR)/kem.c $(NEWHOPE_SRC_DIR)/ntt.c +NEWHOPE_CSRCS += $(NEWHOPE_SRC_DIR)/poly.c $(NEWHOPE_SRC_DIR)/precomp.c $(NEWHOPE_SRC_DIR)/reduce.c +NEWHOPE_CSRCS += $(NEWHOPE_SRC_DIR)/verify.c + +libkemnewhopenist_512_cca_la_SOURCES = $(NEWHOPE_CSRCS) +libkemnewhopenist_1024_cca_la_SOURCES = $(NEWHOPE_CSRCS) + +libkemnewhopenist_512_cca_la_CFLAGS = $(COMMON_FLAGS) -DNEWHOPE_N=512 -DFUNC_PREFIX=OQS_KEM_newhope_512_cca_kem +libkemnewhopenist_1024_cca_la_CFLAGS = $(COMMON_FLAGS) -DNEWHOPE_N=1024 -DFUNC_PREFIX=OQS_KEM_newhope_1024_cca_kem diff --git a/src/kem/newhope/NEWHOPE-1024CCA.Optimized.kat b/src/kem/newhopenist/NEWHOPE-1024CCA.Optimized.kat similarity index 100% rename from src/kem/newhope/NEWHOPE-1024CCA.Optimized.kat rename to src/kem/newhopenist/NEWHOPE-1024CCA.Optimized.kat diff --git a/src/kem/newhope/NEWHOPE-512CCA.Optimized.kat b/src/kem/newhopenist/NEWHOPE-512CCA.Optimized.kat similarity index 100% rename from src/kem/newhope/NEWHOPE-512CCA.Optimized.kat rename to src/kem/newhopenist/NEWHOPE-512CCA.Optimized.kat diff --git a/src/kem/newhope/functions_renaming.h b/src/kem/newhopenist/functions_renaming.h similarity index 100% rename from src/kem/newhope/functions_renaming.h rename to src/kem/newhopenist/functions_renaming.h diff --git a/src/kem/newhopenist/kem_newhopenist.c b/src/kem/newhopenist/kem_newhopenist.c new file mode 100644 index 000000000..3d17293ac --- /dev/null +++ b/src/kem/newhopenist/kem_newhopenist.c @@ -0,0 +1,57 @@ +#include + +#include + +#ifdef OQS_ENABLE_KEM_newhope_512_cca_kem + +OQS_KEM *OQS_KEM_newhope_512_cca_kem_new() { + + OQS_KEM *kem = malloc(sizeof(OQS_KEM)); + if (kem == NULL) { + return NULL; + } + kem->method_name = OQS_KEM_alg_newhope_512_cca_kem; + + kem->claimed_nist_level = 1; + kem->ind_cca = true; + + kem->length_public_key = OQS_KEM_newhope_512_cca_kem_length_public_key; + kem->length_secret_key = OQS_KEM_newhope_512_cca_kem_length_secret_key; + kem->length_ciphertext = OQS_KEM_newhope_512_cca_kem_length_ciphertext; + kem->length_shared_secret = OQS_KEM_newhope_512_cca_kem_length_shared_secret; + + kem->keypair = OQS_KEM_newhope_512_cca_kem_keypair; + kem->encaps = OQS_KEM_newhope_512_cca_kem_encaps; + kem->decaps = OQS_KEM_newhope_512_cca_kem_decaps; + + return kem; +} + +#endif + +#ifdef OQS_ENABLE_KEM_newhope_1024_cca_kem + +OQS_KEM *OQS_KEM_newhope_1024_cca_kem_new() { + + OQS_KEM *kem = malloc(sizeof(OQS_KEM)); + if (kem == NULL) { + return NULL; + } + kem->method_name = OQS_KEM_alg_newhope_1024_cca_kem; + + kem->claimed_nist_level = 5; + kem->ind_cca = true; + + kem->length_public_key = OQS_KEM_newhope_1024_cca_kem_length_public_key; + kem->length_secret_key = OQS_KEM_newhope_1024_cca_kem_length_secret_key; + kem->length_ciphertext = OQS_KEM_newhope_1024_cca_kem_length_ciphertext; + kem->length_shared_secret = OQS_KEM_newhope_1024_cca_kem_length_shared_secret; + + kem->keypair = OQS_KEM_newhope_1024_cca_kem_keypair; + kem->encaps = OQS_KEM_newhope_1024_cca_kem_encaps; + kem->decaps = OQS_KEM_newhope_1024_cca_kem_decaps; + + return kem; +} + +#endif diff --git a/src/kem/newhopenist/kem_newhopenist.h b/src/kem/newhopenist/kem_newhopenist.h new file mode 100644 index 000000000..cfef3c04c --- /dev/null +++ b/src/kem/newhopenist/kem_newhopenist.h @@ -0,0 +1,44 @@ +#ifndef __OQS_KEM_NEWHOPENIST_H +#define __OQS_KEM_NEWHOPENIST_H + +#include + +#ifdef OQS_ENABLE_KEM_newhope_512_cca_kem + +#define OQS_KEM_newhope_512_cca_kem_length_secret_key 1888 +#define OQS_KEM_newhope_512_cca_kem_length_public_key 928 +#define OQS_KEM_newhope_512_cca_kem_length_ciphertext 1120 +#define OQS_KEM_newhope_512_cca_kem_length_shared_secret 32 + +OQS_KEM *OQS_KEM_newhope_512_cca_kem_new(); + +OQS_STATUS OQS_KEM_newhope_512_cca_kem_keypair(uint8_t *public_key, + uint8_t *secret_key); +OQS_STATUS OQS_KEM_newhope_512_cca_kem_encaps(uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key); +OQS_STATUS OQS_KEM_newhope_512_cca_kem_decaps(uint8_t *shared_secret, + const unsigned char *ciphertext, + const uint8_t *secret_key); +#endif + +#ifdef OQS_ENABLE_KEM_newhope_1024_cca_kem + +#define OQS_KEM_newhope_1024_cca_kem_length_secret_key 3680 +#define OQS_KEM_newhope_1024_cca_kem_length_public_key 1824 +#define OQS_KEM_newhope_1024_cca_kem_length_ciphertext 2208 +#define OQS_KEM_newhope_1024_cca_kem_length_shared_secret 32 + +OQS_KEM *OQS_KEM_newhope_1024_cca_kem_new(); + +OQS_STATUS OQS_KEM_newhope_1024_cca_kem_keypair(uint8_t *public_key, + uint8_t *secret_key); +OQS_STATUS OQS_KEM_newhope_1024_cca_kem_encaps(uint8_t *ciphertext, + uint8_t *shared_secret, + const uint8_t *public_key); +OQS_STATUS OQS_KEM_newhope_1024_cca_kem_decaps(uint8_t *shared_secret, + const unsigned char *ciphertext, + const uint8_t *secret_key); +#endif + +#endif diff --git a/src/kem/newhope/optimized/api.h b/src/kem/newhopenist/optimized/api.h similarity index 87% rename from src/kem/newhope/optimized/api.h rename to src/kem/newhopenist/optimized/api.h index 078918b0a..f406d4242 100644 --- a/src/kem/newhope/optimized/api.h +++ b/src/kem/newhopenist/optimized/api.h @@ -9,9 +9,9 @@ #define CRYPTO_BYTES NEWHOPE_SYMBYTES #if (NEWHOPE_N == 512) -#define CRYPTO_ALGNAME "NewHope512-CCAKEM" +#define CRYPTO_ALGNAME "NewHope512-CCA-KEM" #elif (NEWHOPE_N == 1024) -#define CRYPTO_ALGNAME "NewHope1024-CCAKEM" +#define CRYPTO_ALGNAME "NewHope1024-CCA-KEM" #else #error "NEWHOPE_N must be either 512 or 1024" #endif diff --git a/src/kem/newhope/optimized/cpapke.c b/src/kem/newhopenist/optimized/cpapke.c similarity index 100% rename from src/kem/newhope/optimized/cpapke.c rename to src/kem/newhopenist/optimized/cpapke.c diff --git a/src/kem/newhope/optimized/cpapke.h b/src/kem/newhopenist/optimized/cpapke.h similarity index 100% rename from src/kem/newhope/optimized/cpapke.h rename to src/kem/newhopenist/optimized/cpapke.h diff --git a/src/kem/newhope/optimized/fips202.h b/src/kem/newhopenist/optimized/fips202.h similarity index 100% rename from src/kem/newhope/optimized/fips202.h rename to src/kem/newhopenist/optimized/fips202.h diff --git a/src/kem/newhope/optimized/kem.c b/src/kem/newhopenist/optimized/kem.c similarity index 100% rename from src/kem/newhope/optimized/kem.c rename to src/kem/newhopenist/optimized/kem.c diff --git a/src/kem/newhope/optimized/ntt.c b/src/kem/newhopenist/optimized/ntt.c similarity index 100% rename from src/kem/newhope/optimized/ntt.c rename to src/kem/newhopenist/optimized/ntt.c diff --git a/src/kem/newhope/optimized/ntt.h b/src/kem/newhopenist/optimized/ntt.h similarity index 100% rename from src/kem/newhope/optimized/ntt.h rename to src/kem/newhopenist/optimized/ntt.h diff --git a/src/kem/newhope/optimized/params.h b/src/kem/newhopenist/optimized/params.h similarity index 100% rename from src/kem/newhope/optimized/params.h rename to src/kem/newhopenist/optimized/params.h diff --git a/src/kem/newhope/optimized/poly.c b/src/kem/newhopenist/optimized/poly.c similarity index 100% rename from src/kem/newhope/optimized/poly.c rename to src/kem/newhopenist/optimized/poly.c diff --git a/src/kem/newhope/optimized/poly.h b/src/kem/newhopenist/optimized/poly.h similarity index 100% rename from src/kem/newhope/optimized/poly.h rename to src/kem/newhopenist/optimized/poly.h diff --git a/src/kem/newhope/optimized/precomp.c b/src/kem/newhopenist/optimized/precomp.c similarity index 100% rename from src/kem/newhope/optimized/precomp.c rename to src/kem/newhopenist/optimized/precomp.c diff --git a/src/kem/newhope/optimized/reduce.c b/src/kem/newhopenist/optimized/reduce.c similarity index 100% rename from src/kem/newhope/optimized/reduce.c rename to src/kem/newhopenist/optimized/reduce.c diff --git a/src/kem/newhope/optimized/reduce.h b/src/kem/newhopenist/optimized/reduce.h similarity index 100% rename from src/kem/newhope/optimized/reduce.h rename to src/kem/newhopenist/optimized/reduce.h diff --git a/src/kem/newhope/optimized/verify.c b/src/kem/newhopenist/optimized/verify.c similarity index 100% rename from src/kem/newhope/optimized/verify.c rename to src/kem/newhopenist/optimized/verify.c diff --git a/src/kem/newhope/optimized/verify.h b/src/kem/newhopenist/optimized/verify.h similarity index 100% rename from src/kem/newhope/optimized/verify.h rename to src/kem/newhopenist/optimized/verify.h diff --git a/src/kem/newhope/win_newhope1024cca.c b/src/kem/newhopenist/win_newhope1024cca.c similarity index 60% rename from src/kem/newhope/win_newhope1024cca.c rename to src/kem/newhopenist/win_newhope1024cca.c index 30a2fb1df..79d81b48f 100644 --- a/src/kem/newhope/win_newhope1024cca.c +++ b/src/kem/newhopenist/win_newhope1024cca.c @@ -1,7 +1,7 @@ -/* newhope 512cca compilation file for Windows */ +/* NewHope-1024-CCA-KEM compilation file for Windows */ #define NEWHOPE_N 1024 -#define FUNC_PREFIX OQS_KEM_newhope_1024cca +#define FUNC_PREFIX OQS_KEM_newhope_1024_cca_kem #include "functions_renaming.h" #include "optimized\cpapke.c" @@ -10,4 +10,4 @@ #include "optimized\poly.c" #include "optimized\precomp.c" #include "optimized\reduce.c" -#include "optimized\verify.c" \ No newline at end of file +#include "optimized\verify.c" diff --git a/src/kem/newhope/win_newhope512cca.c b/src/kem/newhopenist/win_newhope512cca.c similarity index 61% rename from src/kem/newhope/win_newhope512cca.c rename to src/kem/newhopenist/win_newhope512cca.c index 6b57cc35b..4bd1c4ef4 100644 --- a/src/kem/newhope/win_newhope512cca.c +++ b/src/kem/newhopenist/win_newhope512cca.c @@ -1,7 +1,7 @@ -/* newhope 512cca compilation file for Windows */ +/* NewHope-512-CCA-KEM compilation file for Windows */ #define NEWHOPE_N 512 -#define FUNC_PREFIX OQS_KEM_newhope_512cca +#define FUNC_PREFIX OQS_KEM_newhope_512_cca_kem #include "functions_renaming.h" #include "optimized\cpapke.c" @@ -10,4 +10,4 @@ #include "optimized\poly.c" #include "optimized\precomp.c" #include "optimized\reduce.c" -#include "optimized\verify.c" \ No newline at end of file +#include "optimized\verify.c" From 251f016acaec4e88778c9b97c462c2aa3ba36a4b Mon Sep 17 00:00:00 2001 From: Douglas Stebila Date: Tue, 9 Oct 2018 22:19:39 -0400 Subject: [PATCH 2/3] Forgot to rename file in Makefile for NewHopeNIST --- src/kem/newhopenist/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kem/newhopenist/Makefile.am b/src/kem/newhopenist/Makefile.am index 88c25f6b7..fbd25ccdc 100644 --- a/src/kem/newhopenist/Makefile.am +++ b/src/kem/newhopenist/Makefile.am @@ -3,7 +3,7 @@ noinst_LTLIBRARIES = libkemnewhopenist.la noinst_LTLIBRARIES += libkemnewhopenist_512_cca.la libkemnewhopenist_1024_cca.la libkemnewhopenist_la_LIBADD = libkemnewhopenist_512_cca.la libkemnewhopenist_1024_cca.la -libkemnewhopenist_la_SOURCES = kem_newhope.c +libkemnewhopenist_la_SOURCES = kem_newhopenist.c COMMON_FLAGS = $(AM_CFLAGS) -include functions_renaming.h libkemnewhopenist_la_CFLAGS = $(COMMON_FLAGS) From c8a649e1a6610525e4cae1395ebb8eb87ea9c9cf Mon Sep 17 00:00:00 2001 From: Douglas Stebila Date: Tue, 9 Oct 2018 22:49:09 -0400 Subject: [PATCH 3/3] Naming consistent between code and algorithm datasheets --- src/kem/kem.h | 8 ++++---- src/kem/newhopenist/optimized/api.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/kem/kem.h b/src/kem/kem.h index ff4b6af47..d45545fd6 100644 --- a/src/kem/kem.h +++ b/src/kem/kem.h @@ -61,10 +61,10 @@ #define OQS_KEM_alg_bike3_l3 "BIKE3-L3" /** Algorithm identifier for BIKE1-L1 KEM. */ #define OQS_KEM_alg_bike3_l5 "BIKE3-L5" -/** Algorithm identifier for NewHope512-CCA-KEM KEM. */ -#define OQS_KEM_alg_newhope_512_cca_kem "NewHope512-CCA-KEM" -/** Algorithm identifier for NewHope1024-CCA-KEM KEM. */ -#define OQS_KEM_alg_newhope_1024_cca_kem "NewHope1024-CCA-KEM" +/** Algorithm identifier for NewHope-512-CCA-KEM KEM. */ +#define OQS_KEM_alg_newhope_512_cca_kem "NewHope-512-CCA-KEM" +/** Algorithm identifier for NewHope-1024-CCA-KEM KEM. */ +#define OQS_KEM_alg_newhope_1024_cca_kem "NewHope-1024-CCA-KEM" // EDIT-WHEN-ADDING-KEM /** Number of algorithm identifiers above. */ #define OQS_KEM_algs_length 20 diff --git a/src/kem/newhopenist/optimized/api.h b/src/kem/newhopenist/optimized/api.h index f406d4242..252c45011 100644 --- a/src/kem/newhopenist/optimized/api.h +++ b/src/kem/newhopenist/optimized/api.h @@ -9,9 +9,9 @@ #define CRYPTO_BYTES NEWHOPE_SYMBYTES #if (NEWHOPE_N == 512) -#define CRYPTO_ALGNAME "NewHope512-CCA-KEM" +#define CRYPTO_ALGNAME "NewHope-512-CCA-KEM" #elif (NEWHOPE_N == 1024) -#define CRYPTO_ALGNAME "NewHope1024-CCA-KEM" +#define CRYPTO_ALGNAME "NewHope-1024-CCA-KEM" #else #error "NEWHOPE_N must be either 512 or 1024" #endif