diff --git a/crypto/dap_enc_aes.c b/crypto/dap_enc_aes.c index 78b50e920c47fa5497e6f017694904c76e6dd2a8..5b839d327d181642460fa4294232f5f67594ae26 100755 --- a/crypto/dap_enc_aes.c +++ b/crypto/dap_enc_aes.c @@ -5,10 +5,12 @@ #include "dap_enc_aes.h" #include "dap_enc_key.h" -uint8_t tail_block[] = {21,27,20,36,16,20,27,31,22,41,27,33,30,21,32,28}; +#define AES_BLOCKSIZE 16 #define AES_KEYSIZE 16 +uint8_t tail_block[] = {21,27,20,36,16,20,27,31,22,41,27,33,30,21,32,28}; + #define DAP_ENC_AES_KEY(a) ((dap_enc_aes_key_t *)((a)->_inheritor) ) static void print_bytes(uint8_t *bytes, size_t num_bytes) { diff --git a/crypto/dap_enc_aes.h b/crypto/dap_enc_aes.h index 54ac68dbce8e1514ffc34b523d2e4ea0e7583dca..cf7e38f4899d79b6f416843fa7cd4fd82af3013d 100755 --- a/crypto/dap_enc_aes.h +++ b/crypto/dap_enc_aes.h @@ -6,6 +6,10 @@ #define AES_BLOCK_SIZE 16 +#ifdef __cplusplus +extern "C" { +#endif + struct dap_enc_key; void dap_enc_aes_key_new_generate(struct dap_enc_key * a_key,size_t a_size); @@ -17,4 +21,8 @@ int test_key_aes(); size_t dap_enc_aes_decode(struct dap_enc_key* a_key, const void * a_in, size_t a_in_size,void * a_out); size_t dap_enc_aes_encode(struct dap_enc_key* a_key, const void * a_in, size_t a_in_size,void * a_out); +#ifdef __cplusplus +} +#endif + #endif diff --git a/crypto/dap_enc_key.h b/crypto/dap_enc_key.h index 2266fb49e3291f8a0c9a0528408078fd153e6879..20bd576e6d5719fdd60f64667017a7c47aa51d77 100644 --- a/crypto/dap_enc_key.h +++ b/crypto/dap_enc_key.h @@ -23,6 +23,11 @@ #include <stddef.h> #include <time.h> + +#ifdef __cplusplus +extern "C" { +#endif + typedef enum dap_enc_data_type{DAP_ENC_DATA_TYPE_RAW, DAP_ENC_DATA_TYPE_B64, @@ -126,4 +131,8 @@ dap_enc_key_t *dap_enc_key_new_from_data(dap_enc_key_type_t a_key_type, void * a dap_enc_key_t *dap_enc_key_new_from_str(dap_enc_key_type_t a_key_type, const char *a_key_str); void dap_enc_key_delete(dap_enc_key_t * a_key); +#ifdef __cplusplus +} +#endif + #endif diff --git a/crypto/liboqs/crypto/aes/aes.c b/crypto/liboqs/crypto/aes/aes.c index c77a799ddc178c944eb79e060a5f175c31fec774..78854711441fececa3ad630c88e7da6501504618 100644 --- a/crypto/liboqs/crypto/aes/aes.c +++ b/crypto/liboqs/crypto/aes/aes.c @@ -3,6 +3,10 @@ #include "aes.h" #include "aes_local.h" +#ifdef __cplusplus +extern "C" { +#endif + void OQS_AES128_load_schedule(const uint8_t *key, void **schedule, int for_encryption) { #ifdef USE_OPENSSL oqs_aes128_load_schedule_ossl(key, schedule, for_encryption); @@ -191,4 +195,10 @@ inline void oqs_aes128_ecb_dec_sch_ossl(const uint8_t *ciphertext, const size_t assert(1 == EVP_DecryptFinal_ex((EVP_CIPHER_CTX *) schedule, plaintext, &outlen)); } + + +#endif + +#ifdef __cplusplus +} #endif diff --git a/crypto/liboqs/crypto/aes/aes.h b/crypto/liboqs/crypto/aes/aes.h index f90574243aa0aeb8a5c0292d53a4f1a4801ebaca..b6c3c73af74e8951ef8fa1e2b0e1357740e5c655 100644 --- a/crypto/liboqs/crypto/aes/aes.h +++ b/crypto/liboqs/crypto/aes/aes.h @@ -9,6 +9,10 @@ #include <stdint.h> #include <stdlib.h> +#ifdef __cplusplus +extern "C" { +#endif + /** * Function to fill a key schedule given an initial key. * @@ -63,4 +67,8 @@ void OQS_AES128_ECB_enc_sch(const uint8_t *plaintext, const size_t plaintext_len */ void OQS_AES128_ECB_dec_sch(const uint8_t *ciphertext, const size_t ciphertext_len, const void *schedule, uint8_t *plaintext); +#ifdef __cplusplus +} +#endif + #endif diff --git a/crypto/liboqs/crypto/aes/aes_local.h b/crypto/liboqs/crypto/aes/aes_local.h index 0b226c7845fc7a0016596f10677bf8c835a0b932..1787395d232a951ee0cc8419060aa51a77eafaee 100644 --- a/crypto/liboqs/crypto/aes/aes_local.h +++ b/crypto/liboqs/crypto/aes/aes_local.h @@ -9,6 +9,10 @@ #include <stdint.h> #include <stdlib.h> +#ifdef __cplusplus +extern "C" { +#endif + void oqs_aes128_load_schedule_ni(const uint8_t *key, void **schedule); void oqs_aes128_free_schedule_ni(void *schedule); void oqs_aes128_enc_ni(const uint8_t *plaintext, const void *schedule, uint8_t *ciphertext); @@ -36,4 +40,8 @@ void oqs_aes128_ecb_enc_sch_ossl(const uint8_t *plaintext, const size_t plaintex void oqs_aes128_ecb_dec_sch_ossl(const uint8_t *ciphertext, const size_t ciphertext_len, const void *schedule, uint8_t *plaintext); #endif +#ifdef __cplusplus +} +#endif + #endif diff --git a/crypto/liboqs/crypto/rand/rand.h b/crypto/liboqs/crypto/rand/rand.h index 710e449273cee3b5ea0880fc0b8033e16bdade83..bf5af4e84df956786d80e22a6dffa577de04ee89 100644 --- a/crypto/liboqs/crypto/rand/rand.h +++ b/crypto/liboqs/crypto/rand/rand.h @@ -9,6 +9,10 @@ #include <stddef.h> #include <stdint.h> +#ifdef __cplusplus +extern "C" { +#endif + enum OQS_RAND_alg_name { OQS_RAND_alg_default, OQS_RAND_alg_urandom_chacha20, @@ -95,4 +99,9 @@ double OQS_RAND_zscore_deviation_from_uniform(const unsigned long occurrences[25 void OQS_RAND_report_statistics(const unsigned long occurrences[256], const char *indent); int OQS_RAND_get_system_entropy(uint8_t *buf, size_t n); + +#ifdef __cplusplus +} +#endif + #endif diff --git a/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h b/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h index 77613a42e99356f61fda64706ba680ebda16c53d..08cd3ff4a877dac586f3a3f6b04cd796dfa40c5c 100644 --- a/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h +++ b/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h @@ -16,6 +16,10 @@ /*#include <oqs/kex.h> #include <oqs/rand.h>*/ +#ifdef __cplusplus +extern "C" { +#endif + OQS_KEX *OQS_KEX_rlwe_msrln16_new(OQS_RAND *rand); int OQS_KEX_rlwe_msrln16_alice_0(OQS_KEX *k, void **alice_priv, uint8_t **alice_msg, size_t *alice_msg_len); @@ -25,4 +29,8 @@ int OQS_KEX_rlwe_msrln16_alice_1(OQS_KEX *k, const void *alice_priv, const uint8 void OQS_KEX_rlwe_msrln16_alice_priv_free(OQS_KEX *k, void *alice_priv); void OQS_KEX_rlwe_msrln16_free(OQS_KEX *k); +#ifdef __cplusplus +} +#endif + #endif