diff --git a/Makefile.am b/Makefile.am
index a6fbdc93e..ed422e729 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..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 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 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
@@ -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..fbd25ccdc
--- /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_newhopenist.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..252c45011 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 "NewHope-512-CCA-KEM"
#elif (NEWHOPE_N == 1024)
-#define CRYPTO_ALGNAME "NewHope1024-CCAKEM"
+#define CRYPTO_ALGNAME "NewHope-1024-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"