diff --git a/dap-sdk/core/libdap.pri b/dap-sdk/core/libdap.pri index 118eb93d3432898879883b8b6a68940e5987556e..bf87862a3cb15373b69076707321308244cfb4ac 100755 --- a/dap-sdk/core/libdap.pri +++ b/dap-sdk/core/libdap.pri @@ -2,19 +2,21 @@ QMAKE_CFLAGS_DEBUG = -std=gnu11 QMAKE_CFLAGS_RELEASE = -std=gnu11 unix { include(src/unix/unix.pri) + DEFINES += DAP_OS_UNIX LIBS += -lrt } darwin { include(src/darwin/darwin.pri) + DEFINES += DAP_OS_DARWIN LIBS -= -lrt } win32 { include(src/win32/win32.pri) LIBS += -lpsapi + DEFINES += DAP_OS_WINDOWS } -DEFINES += DAP_LOG_MT HEADERS += $$PWD/include/dap_common.h \ $$PWD/include/dap_config.h \ $$PWD/include/dap_math_ops.h \ diff --git a/dap-sdk/core/src/unix/linux/linux.pri b/dap-sdk/core/src/unix/linux/linux.pri index 05fc40b8a06d55a4b52d3c47ce3767c48f29b73c..e783722b47dddc75103dd7df4be36919205cd618 100755 --- a/dap-sdk/core/src/unix/linux/linux.pri +++ b/dap-sdk/core/src/unix/linux/linux.pri @@ -3,3 +3,4 @@ HEADERS += $$PWD/dap_network_monitor.h \ SOURCES += $$PWD/dap_network_monitor.c \ INCLUDEPATH += $$PWD +DEFINES += DAP_OS_LINUX diff --git a/dap-sdk/crypto/include/dap_enc_newhope.h b/dap-sdk/crypto/include/dap_enc_newhope.h index e54e22bb65509b16028eba7d8160484efc535861..fa30a3021b26b1b4c2edcd827691cead858bbd0f 100644 --- a/dap-sdk/crypto/include/dap_enc_newhope.h +++ b/dap-sdk/crypto/include/dap_enc_newhope.h @@ -1,7 +1,29 @@ -#ifndef _DAP_ENC_NEWHOPE_H_ -#define _DAP_ENC_NEWHOPE_H_ - -#include "newhope/cpakem.h" +/* + * Authors: + * Dmitriy A. Gearasimov <naeper@demlabs.net> + * Demlabs Limited https://demlabs.net + * Sources community https://gitlab.demlabs.net/cellframe/cellframe-sdk/dap-sdk + * Copyright (c) 2017-2020 + * All rights reserved. + + This file is part of DAP SDK the open source project + + DAP SDK is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + DAP is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with any DAP based project. If not, see <http://www.gnu.org/licenses/>. +*/ +#pragma once + +#include "newhope/newhope_cpakem.h" #include "dap_enc_key.h" @@ -61,4 +83,3 @@ void dap_enc_newhope_kem_key_delete(struct dap_enc_key * key); //newhope_private_key_t* dap_enc_newhope_read_private_key(const uint8_t *a_buf, size_t a_buflen); //newhope_public_key_t* dap_enc_newhope_read_public_key(const uint8_t *a_buf, size_t a_buflen); -#endif diff --git a/dap-sdk/crypto/src/dap_enc_newhope.c b/dap-sdk/crypto/src/dap_enc_newhope.c index 03630c263f3d0dac4aa163ab5250df7edf113cb0..417eabf9f7eb23e8aab8d2ee9b0c45108bc9e067 100644 --- a/dap-sdk/crypto/src/dap_enc_newhope.c +++ b/dap-sdk/crypto/src/dap_enc_newhope.c @@ -1,12 +1,34 @@ -#include <assert.h> -#include <inttypes.h> -#include <string.h> +/* + * Authors: + * Dmitriy A. Gearasimov <naeper@demlabs.net> + * Demlabs Limited https://demlabs.net + * Sources community https://gitlab.demlabs.net/cellframe/cellframe-sdk/dap-sdk + * Copyright (c) 2017-2020 + * All rights reserved. + + This file is part of DAP SDK the open source project + + DAP SDK is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + DAP is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with any DAP based project. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include <stdio.h> #include "dap_enc_newhope.h" #include "dap_common.h" #include "rand/dap_rand.h" -#include "newhope/cpapke.h" -#include "newhope/params.h" +#include "newhope/newhope_cpapke.h" +#include "newhope/newhope_params.h" #define LOG_TAG "dap_enc_newhope_pke" @@ -36,7 +58,9 @@ void dap_enc_newhope_kem_key_new_generate(struct dap_enc_key * a_key, const void size_t kex_size, const void * seed, size_t seed_size, size_t key_size) { - + UNUSED(kex_buf); + UNUSED(key_size); + UNUSED(seed); DAP_NEWHOPE_SIGN_SECURITY newhope_type = NEWHOPE_1024; dap_enc_newhope_pke_set_type(newhope_type); diff --git a/dap-sdk/crypto/src/newhope/api.h b/dap-sdk/crypto/src/newhope/api.h deleted file mode 100644 index bcc9e32db3a2cf98158b51e1d7c58bf4758ee779..0000000000000000000000000000000000000000 --- a/dap-sdk/crypto/src/newhope/api.h +++ /dev/null @@ -1,4 +0,0 @@ -#ifndef CHOICE_API_H -#define CHOICE_API_H -#include"cpakem.h" -#endif // CHOICE_API_H diff --git a/dap-sdk/crypto/src/newhope/newhope.pri b/dap-sdk/crypto/src/newhope/newhope.pri new file mode 100755 index 0000000000000000000000000000000000000000..7f618fd998c64c703a491a08b0d0f6240454243c --- /dev/null +++ b/dap-sdk/crypto/src/newhope/newhope.pri @@ -0,0 +1,3 @@ +INCLUDEPATH += $$PW +HEADERS += $$PWD/newhope_api.h $$PWD/newhope_cpakem.h $$PWD/newhope_cpapke.h $$PWD/newhope_ntt.h $$PWD/newhope_params.h $$PWD/newhope_poly.h $$PWD/newhope_reduce.h +SOURCES += $$PWD/newhope_cpakem.c $$PWD/newhope_cpapke.c $$PWD/newhope_ntt.c $$PWD/newhope_poly.c $$PWD/newhope_precomp.c $$PWD/newhope_reduce.c diff --git a/dap-sdk/crypto/src/newhope/newhope_api.h b/dap-sdk/crypto/src/newhope/newhope_api.h new file mode 100644 index 0000000000000000000000000000000000000000..6d49e650b652415233eca3707697202b08dfd8ce --- /dev/null +++ b/dap-sdk/crypto/src/newhope/newhope_api.h @@ -0,0 +1,3 @@ +#pragma once +#include "newhope_cpakem.h" + diff --git a/dap-sdk/crypto/src/newhope/cpakem.c b/dap-sdk/crypto/src/newhope/newhope_cpakem.c similarity index 97% rename from dap-sdk/crypto/src/newhope/cpakem.c rename to dap-sdk/crypto/src/newhope/newhope_cpakem.c index dd490654c3021cd19bb9bedd3861bbb2d80f432d..934e9a10c7c20e082ab9738fc1fa35ecf7e26c19 100644 --- a/dap-sdk/crypto/src/newhope/cpakem.c +++ b/dap-sdk/crypto/src/newhope/newhope_cpakem.c @@ -1,7 +1,7 @@ #include <string.h> -#include "api.h" -#include "cpapke.h" -#include "params.h" +#include "newhope_api.h" +#include "newhope_cpapke.h" +#include "newhope_params.h" #include "rand/dap_rand.h" #include "sha3/fips202.h" diff --git a/dap-sdk/crypto/src/newhope/cpakem.h b/dap-sdk/crypto/src/newhope/newhope_cpakem.h similarity index 92% rename from dap-sdk/crypto/src/newhope/cpakem.h rename to dap-sdk/crypto/src/newhope/newhope_cpakem.h index b5bfd2b510016f52c499edd4b2876846e16eb827..0f5dfdd15a8df7e4c7c3f15def56112526f02d94 100644 --- a/dap-sdk/crypto/src/newhope/cpakem.h +++ b/dap-sdk/crypto/src/newhope/newhope_cpakem.h @@ -1,7 +1,5 @@ -#ifndef API_H -#define API_H - -#include "params.h" +#pragma once +#include "newhope_params.h" #define CRYPTO_SECRETKEYBYTES NEWHOPE_CPAKEM_SECRETKEYBYTES #define CRYPTO_PUBLICKEYBYTES NEWHOPE_CPAKEM_PUBLICKEYBYTES @@ -22,4 +20,3 @@ int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk); -#endif diff --git a/dap-sdk/crypto/src/newhope/cpapke.c b/dap-sdk/crypto/src/newhope/newhope_cpapke.c similarity index 99% rename from dap-sdk/crypto/src/newhope/cpapke.c rename to dap-sdk/crypto/src/newhope/newhope_cpapke.c index 7d804243e424646eaa94f7378f27ab397984300e..59b9f7315b4c1bcdc9465008846718aa47176fb2 100644 --- a/dap-sdk/crypto/src/newhope/cpapke.c +++ b/dap-sdk/crypto/src/newhope/newhope_cpapke.c @@ -1,6 +1,6 @@ #include <stdio.h> -#include "api.h" -#include "poly.h" +#include "newhope_api.h" +#include "newhope_poly.h" #include "rand/dap_rand.h" #include "sha3/fips202.h" diff --git a/dap-sdk/crypto/src/newhope/cpapke.h b/dap-sdk/crypto/src/newhope/newhope_cpapke.h similarity index 89% rename from dap-sdk/crypto/src/newhope/cpapke.h rename to dap-sdk/crypto/src/newhope/newhope_cpapke.h index 23a0fe271e224ffc64fdd2ba1e37040b1cb65f4c..4f43a8e438035530c99df45ceb5d89703360ff63 100644 --- a/dap-sdk/crypto/src/newhope/cpapke.h +++ b/dap-sdk/crypto/src/newhope/newhope_cpapke.h @@ -1,5 +1,4 @@ -#ifndef INDCPA_H -#define INDCPA_H +#pragma once void cpapke_keypair(unsigned char *pk, unsigned char *sk); @@ -13,4 +12,3 @@ void cpapke_dec(unsigned char *m, const unsigned char *c, const unsigned char *sk); -#endif diff --git a/dap-sdk/crypto/src/newhope/ntt.c b/dap-sdk/crypto/src/newhope/newhope_ntt.c similarity index 99% rename from dap-sdk/crypto/src/newhope/ntt.c rename to dap-sdk/crypto/src/newhope/newhope_ntt.c index 8094553a47cee65009ad94f58889e6034aac8890..5241b74b71d8cb531115f813bb9654c49ba27460 100644 --- a/dap-sdk/crypto/src/newhope/ntt.c +++ b/dap-sdk/crypto/src/newhope/newhope_ntt.c @@ -1,7 +1,7 @@ #include "inttypes.h" -#include "ntt.h" -#include "params.h" -#include "reduce.h" +#include "newhope_ntt.h" +#include "newhope_params.h" +#include "newhope_reduce.h" #if (NEWHOPE_N == 512) /************************************************************ diff --git a/dap-sdk/crypto/src/newhope/ntt.h b/dap-sdk/crypto/src/newhope/newhope_ntt.h similarity index 87% rename from dap-sdk/crypto/src/newhope/ntt.h rename to dap-sdk/crypto/src/newhope/newhope_ntt.h index f301dfcb5dcd8f802b2efa286f6a89be7c8c60cf..d90a539132abc69177af6c78900c7ced155feafa 100644 --- a/dap-sdk/crypto/src/newhope/ntt.h +++ b/dap-sdk/crypto/src/newhope/newhope_ntt.h @@ -1,5 +1,4 @@ -#ifndef ntt_newhope_H -#define ntt_newhope_H +#pragma once #include "inttypes.h" @@ -11,4 +10,3 @@ void bitrev_vector_newhope(uint16_t* poly_newhope); void mul_coefficients_newhope(uint16_t* poly_newhope, const uint16_t* factors); void ntt_newhope(uint16_t* poly_newhope, const uint16_t* omegas); -#endif diff --git a/dap-sdk/crypto/src/newhope/params.h b/dap-sdk/crypto/src/newhope/newhope_params.h similarity index 96% rename from dap-sdk/crypto/src/newhope/params.h rename to dap-sdk/crypto/src/newhope/newhope_params.h index b148d6fba1cdbede998337c9f5aab638a04f1488..3ea9647ba3c75be86d406711a6a5708878cc43dc 100644 --- a/dap-sdk/crypto/src/newhope/params.h +++ b/dap-sdk/crypto/src/newhope/newhope_params.h @@ -1,5 +1,4 @@ -#ifndef PARAMS_H -#define PARAMS_H +#pragma once #ifndef NEWHOPE_N #define NEWHOPE_N 1024 @@ -24,5 +23,3 @@ #define NEWHOPE_CCAKEM_PUBLICKEYBYTES NEWHOPE_CPAPKE_PUBLICKEYBYTES #define NEWHOPE_CCAKEM_SECRETKEYBYTES (NEWHOPE_CPAPKE_SECRETKEYBYTES + NEWHOPE_CPAPKE_PUBLICKEYBYTES + 2*NEWHOPE_SYMBYTES) #define NEWHOPE_CCAKEM_CIPHERTEXTBYTES (NEWHOPE_CPAPKE_CIPHERTEXTBYTES + NEWHOPE_SYMBYTES) /* Second part is for Targhi-Unruh */ - -#endif diff --git a/dap-sdk/crypto/src/newhope/poly.c b/dap-sdk/crypto/src/newhope/newhope_poly.c similarity index 99% rename from dap-sdk/crypto/src/newhope/poly.c rename to dap-sdk/crypto/src/newhope/newhope_poly.c index 9736201889cd8410543087b2705c19a3fcbc7206..8e5e04e815a8d1efafd47fbb3a401c8fdd8aaa7b 100644 --- a/dap-sdk/crypto/src/newhope/poly.c +++ b/dap-sdk/crypto/src/newhope/newhope_poly.c @@ -1,6 +1,6 @@ -#include "poly.h" -#include "ntt.h" -#include "reduce.h" +#include "newhope_poly.h" +#include "newhope_ntt.h" +#include "newhope_reduce.h" #include "sha3/fips202.h" /************************************************* diff --git a/dap-sdk/crypto/src/newhope/poly.h b/dap-sdk/crypto/src/newhope/newhope_poly.h similarity index 97% rename from dap-sdk/crypto/src/newhope/poly.h rename to dap-sdk/crypto/src/newhope/newhope_poly.h index 17f62e99a213f55fff8cce3ce740ff23ee1bf29a..112475eae54799c2b1db1be23bbd2a6f97c13ced 100644 --- a/dap-sdk/crypto/src/newhope/poly.h +++ b/dap-sdk/crypto/src/newhope/newhope_poly.h @@ -2,7 +2,7 @@ #define poly_newhope_H #include <stdint.h> -#include "params.h" +#include "newhope_params.h" /* * Elements of R_q = Z_q[X]/(X^n + 1). Represents polynomial diff --git a/dap-sdk/crypto/src/newhope/precomp.c b/dap-sdk/crypto/src/newhope/newhope_precomp.c similarity index 99% rename from dap-sdk/crypto/src/newhope/precomp.c rename to dap-sdk/crypto/src/newhope/newhope_precomp.c index 22fd7a056825bb6cf449e8725a6291b35af9d32f..fd85ecbabd094f7db23af6335174e5f0432719e6 100644 --- a/dap-sdk/crypto/src/newhope/precomp.c +++ b/dap-sdk/crypto/src/newhope/newhope_precomp.c @@ -1,6 +1,6 @@ #include "inttypes.h" -#include "ntt.h" -#include "params.h" +#include "newhope_ntt.h" +#include "newhope_params.h" /* Precomputed ntt_newhope contants generated by Pari/GP script as follows: * diff --git a/dap-sdk/crypto/src/newhope/reduce.c b/dap-sdk/crypto/src/newhope/newhope_reduce.c similarity index 93% rename from dap-sdk/crypto/src/newhope/reduce.c rename to dap-sdk/crypto/src/newhope/newhope_reduce.c index e3fb9c5088c2d573fe85648e7d62787f39cb8d63..ce48183e045ce23708e5c433a2a680e4b8298372 100644 --- a/dap-sdk/crypto/src/newhope/reduce.c +++ b/dap-sdk/crypto/src/newhope/newhope_reduce.c @@ -1,5 +1,5 @@ -#include "reduce.h" -#include "params.h" +#include "newhope_reduce.h" +#include "newhope_params.h" static const uint32_t qinv = 12287; // -inverse_mod(p,2^18) static const uint32_t rlog = 18; diff --git a/dap-sdk/crypto/src/newhope/reduce.h b/dap-sdk/crypto/src/newhope/newhope_reduce.h similarity index 100% rename from dap-sdk/crypto/src/newhope/reduce.h rename to dap-sdk/crypto/src/newhope/newhope_reduce.h