mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-12-04 00:03:41 -05:00
Mark relevant functions with OQS_API
This commit is contained in:
parent
8e060a720a
commit
c409ce6e78
7
.gitignore
vendored
7
.gitignore
vendored
@ -64,13 +64,6 @@ VisualStudio/**/x64/
|
||||
VisualStudio/include/
|
||||
VisualStudio/**/*.user
|
||||
|
||||
# External sources
|
||||
external
|
||||
!src/sig_picnic/external
|
||||
src/sig_picnic/external/build/**
|
||||
src/sig_picnic/external/msbuild/**
|
||||
/temp/
|
||||
|
||||
# Travis files
|
||||
cmake-3.8.0.tar.gz
|
||||
cmake-3.8.0/**
|
||||
|
||||
@ -1,33 +1,105 @@
|
||||
LIBRARY oqs
|
||||
EXPORTS
|
||||
OQS_MEM_cleanse
|
||||
OQS_MEM_secure_free
|
||||
OQS_MEM_insecure_free
|
||||
OQS_randombytes_switch_algorithm
|
||||
OQS_randombytes_custom_algorithm
|
||||
OQS_randombytes
|
||||
OQS_randombytes_nist_kat_init
|
||||
OQS_KEM_frodokem_640_aes_keypair
|
||||
OQS_KEM_frodokem_640_aes_encaps
|
||||
OQS_KEM_frodokem_640_aes_decaps
|
||||
OQS_KEM_frodokem_976_aes_keypair
|
||||
OQS_KEM_frodokem_976_aes_encaps
|
||||
OQS_KEM_frodokem_976_aes_decaps
|
||||
OQS_KEM_frodokem_640_cshake_keypair
|
||||
OQS_KEM_frodokem_640_cshake_encaps
|
||||
OQS_KEM_frodokem_640_cshake_decaps
|
||||
OQS_KEM_frodokem_976_cshake_keypair
|
||||
OQS_KEM_frodokem_976_cshake_encaps
|
||||
OQS_KEM_frodokem_976_cshake_decaps
|
||||
OQS_KEM_alg_identifier
|
||||
OQS_KEM_new
|
||||
OQS_KEM_keypair
|
||||
OQS_KEM_encaps
|
||||
OQS_KEM_decaps
|
||||
OQS_KEM_free
|
||||
OQS_KEM_bike1_l1_decaps
|
||||
OQS_KEM_bike1_l1_encaps
|
||||
OQS_KEM_bike1_l1_keypair
|
||||
OQS_KEM_bike1_l3_decaps
|
||||
OQS_KEM_bike1_l3_encaps
|
||||
OQS_KEM_bike1_l3_keypair
|
||||
OQS_KEM_bike1_l5_decaps
|
||||
OQS_KEM_bike1_l5_encaps
|
||||
OQS_KEM_bike1_l5_keypair
|
||||
OQS_KEM_bike2_l1_decaps
|
||||
OQS_KEM_bike2_l1_encaps
|
||||
OQS_KEM_bike2_l1_keypair
|
||||
OQS_KEM_bike2_l3_decaps
|
||||
OQS_KEM_bike2_l3_encaps
|
||||
OQS_KEM_bike2_l3_keypair
|
||||
OQS_KEM_bike2_l5_decaps
|
||||
OQS_KEM_bike2_l5_encaps
|
||||
OQS_KEM_bike2_l5_keypair
|
||||
OQS_KEM_bike3_l1_decaps
|
||||
OQS_KEM_bike3_l1_encaps
|
||||
OQS_KEM_bike3_l1_keypair
|
||||
OQS_KEM_bike3_l3_decaps
|
||||
OQS_KEM_bike3_l3_encaps
|
||||
OQS_KEM_bike3_l3_keypair
|
||||
OQS_KEM_bike3_l5_decaps
|
||||
OQS_KEM_bike3_l5_encaps
|
||||
OQS_KEM_bike3_l5_keypair
|
||||
OQS_KEM_frodokem_640_aes_decaps
|
||||
OQS_KEM_frodokem_640_aes_encaps
|
||||
OQS_KEM_frodokem_640_aes_keypair
|
||||
OQS_KEM_frodokem_640_cshake_decaps
|
||||
OQS_KEM_frodokem_640_cshake_encaps
|
||||
OQS_KEM_frodokem_640_cshake_keypair
|
||||
OQS_KEM_frodokem_976_aes_decaps
|
||||
OQS_KEM_frodokem_976_aes_encaps
|
||||
OQS_KEM_frodokem_976_aes_keypair
|
||||
OQS_KEM_frodokem_976_cshake_decaps
|
||||
OQS_KEM_frodokem_976_cshake_encaps
|
||||
OQS_KEM_frodokem_976_cshake_keypair
|
||||
OQS_KEM_newhope_1024_cca_kem_decaps
|
||||
OQS_KEM_newhope_1024_cca_kem_encaps
|
||||
OQS_KEM_newhope_1024_cca_kem_keypair
|
||||
OQS_KEM_newhope_512_cca_kem_decaps
|
||||
OQS_KEM_newhope_512_cca_kem_encaps
|
||||
OQS_KEM_newhope_512_cca_kem_keypair
|
||||
OQS_KEM_sidh_p503_decaps
|
||||
OQS_KEM_sidh_p503_encaps
|
||||
OQS_KEM_sidh_p503_keypair
|
||||
OQS_KEM_sidh_p751_decaps
|
||||
OQS_KEM_sidh_p751_encaps
|
||||
OQS_KEM_sidh_p751_keypair
|
||||
OQS_KEM_sike_p503_decaps
|
||||
OQS_KEM_sike_p503_encaps
|
||||
OQS_KEM_sike_p503_keypair
|
||||
OQS_KEM_sike_p751_decaps
|
||||
OQS_KEM_sike_p751_encaps
|
||||
OQS_KEM_sike_p751_keypair
|
||||
OQS_MEM_cleanse
|
||||
OQS_MEM_insecure_free
|
||||
OQS_MEM_secure_free
|
||||
OQS_randombytes
|
||||
OQS_randombytes_custom_algorithm
|
||||
OQS_randombytes_nist_kat_init
|
||||
OQS_randombytes_switch_algorithm
|
||||
OQS_SIG_alg_identifier
|
||||
OQS_SIG_new
|
||||
OQS_SIG_keypair
|
||||
OQS_SIG_sign
|
||||
OQS_SIG_verify
|
||||
OQS_SIG_free
|
||||
OQS_SIG_picnic_L1_FS_keypair
|
||||
OQS_SIG_picnic_L1_FS_sign
|
||||
OQS_SIG_picnic_L1_FS_verify
|
||||
OQS_SIG_picnic_L1_UR_keypair
|
||||
OQS_SIG_picnic_L1_UR_sign
|
||||
OQS_SIG_picnic_L1_UR_verify
|
||||
OQS_SIG_picnic_L3_FS_keypair
|
||||
OQS_SIG_picnic_L3_FS_sign
|
||||
OQS_SIG_picnic_L3_FS_verify
|
||||
OQS_SIG_picnic_L3_UR_keypair
|
||||
OQS_SIG_picnic_L3_UR_sign
|
||||
OQS_SIG_picnic_L3_UR_verify
|
||||
OQS_SIG_picnic_L5_FS_keypair
|
||||
OQS_SIG_picnic_L5_FS_sign
|
||||
OQS_SIG_picnic_L5_FS_verify
|
||||
OQS_SIG_picnic_L5_UR_keypair
|
||||
OQS_SIG_picnic_L5_UR_sign
|
||||
OQS_SIG_picnic_L5_UR_verify
|
||||
OQS_SIG_qTESLA_I_keypair
|
||||
OQS_SIG_qTESLA_I_sign
|
||||
OQS_SIG_qTESLA_I_verify
|
||||
OQS_SIG_qTESLA_III_size_keypair
|
||||
OQS_SIG_qTESLA_III_size_sign
|
||||
OQS_SIG_qTESLA_III_size_verify
|
||||
OQS_SIG_qTESLA_III_speed_keypair
|
||||
OQS_SIG_qTESLA_III_speed_sign
|
||||
OQS_SIG_qTESLA_III_speed_verify
|
||||
|
||||
@ -31,7 +31,7 @@ Implementation
|
||||
--------------
|
||||
|
||||
- **Source of implementation:** http://bikesuite.org/#implementation
|
||||
- **Implementation version:** 1.0.0
|
||||
- **Implementation version:** Additional implementation: 05/23/2018; reference implementation: 06/29/2018 (with NTL calls replaced by OpenSSL calls and the decoder of the additional implementation)
|
||||
- **License:** MIT License
|
||||
- **Language:** C
|
||||
- **Constant-time:** No
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
noinst_LTLIBRARIES = libkembike.la
|
||||
noinst_LTLIBRARIES = libkembike.la
|
||||
noinst_LTLIBRARIES += libkembike1_l1.la libkembike1_l3.la libkembike1_l5.la
|
||||
noinst_LTLIBRARIES += libkembike2_l1.la libkembike2_l3.la libkembike2_l5.la
|
||||
noinst_LTLIBRARIES += libkembike3_l1.la libkembike3_l3.la libkembike3_l5.la
|
||||
@ -8,7 +8,7 @@ libkembike_la_LIBADD = libkembike1_l1.la libkembike1_l3.la libkembike1_l5.la
|
||||
libkembike_la_LIBADD += libkembike2_l1.la libkembike2_l3.la libkembike2_l5.la
|
||||
libkembike_la_LIBADD += libkembike3_l1.la libkembike3_l3.la libkembike3_l5.la
|
||||
|
||||
libkembike_la_SOURCES = kem_bike.c
|
||||
libkembike_la_SOURCES = kem_bike.c
|
||||
|
||||
COMMON_FLAGS = $(AM_CFLAGS) -include functions_renaming.h
|
||||
libkembike_la_CFLAGS = $(COMMON_FLAGS)
|
||||
@ -17,12 +17,14 @@ libkembike_la_LIBTOOLFLAGS = $(AM_LIBTOOLFLAGS)
|
||||
#When AVX2 is supported also AVX512 is supported and we can use the additional implementation.
|
||||
if BIKE_ADDITIONAL_IMPL
|
||||
BIKE_SRC_DIR=x86_64/
|
||||
libkembike_la_CFLAGS += -DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION
|
||||
else
|
||||
BIKE_SRC_DIR=ref/
|
||||
libkembike_la_CFLAGS += -DOQS_KEM_BIKE_REFERENCE_IMPLEMENTATION
|
||||
endif
|
||||
|
||||
COMMON_CSRCS = $(BIKE_SRC_DIR)/kem.c $(BIKE_SRC_DIR)/aes_ctr_prf.c $(BIKE_SRC_DIR)/parallel_hash.c
|
||||
COMMON_CSRCS += $(BIKE_SRC_DIR)/sampling.c $(BIKE_SRC_DIR)/utilities.c $(BIKE_SRC_DIR)/decode.c $(BIKE_SRC_DIR)/openssl_utils.c
|
||||
COMMON_CSRCS = $(BIKE_SRC_DIR)/kem.c $(BIKE_SRC_DIR)/aes_ctr_prf.c $(BIKE_SRC_DIR)/parallel_hash.c
|
||||
COMMON_CSRCS += $(BIKE_SRC_DIR)/sampling.c $(BIKE_SRC_DIR)/utilities.c $(BIKE_SRC_DIR)/decode.c $(BIKE_SRC_DIR)/openssl_utils.c
|
||||
|
||||
|
||||
if BIKE_ADDITIONAL_IMPL
|
||||
@ -32,7 +34,7 @@ if BIKE_ADDITIONAL_IMPL
|
||||
COMMON_CSRCS += $(BIKE_SRC_DIR)/sha384_update_mb.S $(BIKE_SRC_DIR)/red.S
|
||||
COMMON_CSRCS += $(BIKE_SRC_DIR)/sampling_x86_64.S $(BIKE_SRC_DIR)/decode_x86_64.S
|
||||
else
|
||||
COMMON_CSRCS += $(BIKE_SRC_DIR)/conversions.c
|
||||
COMMON_CSRCS += $(BIKE_SRC_DIR)/conversions.c
|
||||
endif
|
||||
|
||||
libkembike1_l1_la_SOURCES = $(COMMON_CSRCS)
|
||||
|
||||
@ -11,7 +11,13 @@ OQS_KEM *OQS_KEM_bike1_l1_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike1_l1;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 1;
|
||||
kem->ind_cca = false;
|
||||
@ -39,7 +45,13 @@ OQS_KEM *OQS_KEM_bike1_l3_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike1_l3;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 3;
|
||||
kem->ind_cca = false;
|
||||
@ -67,7 +79,13 @@ OQS_KEM *OQS_KEM_bike1_l5_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike1_l5;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 5;
|
||||
kem->ind_cca = false;
|
||||
@ -95,7 +113,13 @@ OQS_KEM *OQS_KEM_bike2_l1_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike2_l1;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 1;
|
||||
kem->ind_cca = false;
|
||||
@ -123,7 +147,13 @@ OQS_KEM *OQS_KEM_bike2_l3_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike2_l3;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 3;
|
||||
kem->ind_cca = false;
|
||||
@ -151,7 +181,13 @@ OQS_KEM *OQS_KEM_bike2_l5_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike2_l5;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 5;
|
||||
kem->ind_cca = false;
|
||||
@ -179,7 +215,13 @@ OQS_KEM *OQS_KEM_bike3_l1_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike3_l1;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 1;
|
||||
kem->ind_cca = false;
|
||||
@ -207,7 +249,13 @@ OQS_KEM *OQS_KEM_bike3_l3_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike3_l3;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 3;
|
||||
kem->ind_cca = false;
|
||||
@ -235,7 +283,13 @@ OQS_KEM *OQS_KEM_bike3_l5_new() {
|
||||
return NULL;
|
||||
}
|
||||
kem->method_name = OQS_KEM_alg_bike3_l5;
|
||||
kem->alg_version = "TODO";
|
||||
#if defined(OQS_KEM_BIKE_REFERENCE_IMPLEMENTATION)
|
||||
kem->alg_version = "Reference - 06/29/2018";
|
||||
#elif defined(DOQS_KEM_BIKE_ADDITIONAL_IMPLEMENTATION)
|
||||
kem->alg_version = "Additional - 05/23/2018";
|
||||
#else
|
||||
#error "BIKE version macro not specified correctly"
|
||||
#endif
|
||||
|
||||
kem->claimed_nist_level = 5;
|
||||
kem->ind_cca = false;
|
||||
|
||||
@ -21,12 +21,12 @@
|
||||
|
||||
OQS_KEM *OQS_KEM_bike1_l1_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike1_l1_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l1_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike1_l1_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l1_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike1_l1_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l1_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -49,12 +49,12 @@ OQS_STATUS OQS_KEM_bike1_l1_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike1_l3_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike1_l3_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l3_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike1_l3_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l3_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike1_l3_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l3_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -77,12 +77,12 @@ OQS_STATUS OQS_KEM_bike1_l3_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike1_l5_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike1_l5_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l5_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike1_l5_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l5_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike1_l5_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike1_l5_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -107,12 +107,12 @@ OQS_STATUS OQS_KEM_bike1_l5_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike2_l1_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike2_l1_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l1_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike2_l1_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l1_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike2_l1_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l1_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -138,12 +138,12 @@ OQS_STATUS OQS_KEM_bike2_l1_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike2_l3_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike2_l3_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l3_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike2_l3_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l3_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike2_l3_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l3_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -169,12 +169,12 @@ OQS_STATUS OQS_KEM_bike2_l3_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike2_l5_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike2_l5_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l5_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike2_l5_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l5_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike2_l5_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike2_l5_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -198,12 +198,12 @@ OQS_STATUS OQS_KEM_bike2_l5_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike3_l1_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike3_l1_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l1_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike3_l1_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l1_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike3_l1_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l1_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -226,12 +226,12 @@ OQS_STATUS OQS_KEM_bike3_l1_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike3_l3_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike3_l3_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l3_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike3_l3_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l3_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike3_l3_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l3_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
@ -254,12 +254,12 @@ OQS_STATUS OQS_KEM_bike3_l3_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_bike3_l5_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_bike3_l5_keypair(uint8_t *public_key,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l5_keypair(uint8_t *public_key,
|
||||
uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_bike3_l5_encaps(uint8_t *ciphertext,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l5_encaps(uint8_t *ciphertext,
|
||||
uint8_t *shared_secret,
|
||||
const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_bike3_l5_decaps(uint8_t *shared_secret,
|
||||
OQS_API OQS_STATUS OQS_KEM_bike3_l5_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
|
||||
|
||||
@ -169,7 +169,7 @@ EXIT:
|
||||
////////////////////////////////////////////////////////////////
|
||||
// The three APIs below (keypair, enc, dec) are defined by NIST:
|
||||
////////////////////////////////////////////////////////////////
|
||||
OQS_STATUS keypair(OUT unsigned char *pk, OUT unsigned char *sk) {
|
||||
OQS_API OQS_STATUS keypair(OUT unsigned char *pk, OUT unsigned char *sk) {
|
||||
// Convert to this implementation types
|
||||
sk_t *l_sk = (sk_t *) sk;
|
||||
pk_t *l_pk = (pk_t *) pk;
|
||||
@ -256,7 +256,7 @@ EXIT:
|
||||
// Encapsulate - pk is the public key,
|
||||
// ct is a key encapsulation message (ciphertext),
|
||||
// ss is the shared secret.
|
||||
OQS_STATUS encaps(OUT unsigned char *ct,
|
||||
OQS_API OQS_STATUS encaps(OUT unsigned char *ct,
|
||||
OUT unsigned char *ss,
|
||||
IN const unsigned char *pk) {
|
||||
DMSG(" Enter crypto_kem_enc.\n");
|
||||
@ -322,7 +322,7 @@ EXIT:
|
||||
// Decapsulate - ct is a key encapsulation message (ciphertext),
|
||||
// sk is the private key,
|
||||
// ss is the shared secret
|
||||
OQS_STATUS decaps(OUT unsigned char *ss,
|
||||
OQS_API OQS_STATUS decaps(OUT unsigned char *ss,
|
||||
IN const unsigned char *ct,
|
||||
IN const unsigned char *sk) {
|
||||
DMSG(" Enter crypto_kem_dec.\n");
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/***************************************************************************
|
||||
* Additional implementation of "BIKE: Bit Flipping Key Encapsulation".
|
||||
* Additional implementation of "BIKE: Bit Flipping Key Encapsulation".
|
||||
* Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Written by Nir Drucker and Shay Gueron
|
||||
@ -307,7 +307,7 @@ _INLINE_ void get_ss(OUT ss_t *out, IN const e_t *e) {
|
||||
////////////////////////////////////////////////////////////////
|
||||
// The three APIs below (keygeneration, encapsulate, decapsulate) are defined by NIST:
|
||||
////////////////////////////////////////////////////////////////
|
||||
int keypair(OUT unsigned char *pk, OUT unsigned char *sk) {
|
||||
OQS_API OQS_STATUS keypair(OUT unsigned char *pk, OUT unsigned char *sk) {
|
||||
// Convert to this implementation types
|
||||
sk_t *l_sk = (sk_t *) sk;
|
||||
pk_t *l_pk = (pk_t *) pk;
|
||||
@ -390,7 +390,7 @@ EXIT:
|
||||
// Encapsulate - pk is the public key,
|
||||
// ct is a key encapsulation message (ciphertext),
|
||||
// ss is the shared secret.
|
||||
int encaps(OUT unsigned char *ct,
|
||||
OQS_API OQS_STATUS encaps(OUT unsigned char *ct,
|
||||
OUT unsigned char *ss,
|
||||
IN const unsigned char *pk) {
|
||||
DMSG(" Enter crypto_kem_enc.\n");
|
||||
@ -463,7 +463,7 @@ EXIT:
|
||||
// Decapsulate - ct is a key encapsulation message (ciphertext),
|
||||
// sk is the private key,
|
||||
// ss is the shared secret
|
||||
int decaps(OUT unsigned char *ss,
|
||||
OQS_API OQS_STATUS decaps(OUT unsigned char *ss,
|
||||
IN const unsigned char *ct,
|
||||
IN const unsigned char *sk) {
|
||||
OQS_STATUS res = OQS_SUCCESS;
|
||||
|
||||
@ -12,12 +12,12 @@
|
||||
|
||||
OQS_KEM *OQS_KEM_newhope_512_cca_kem_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_newhope_512_cca_kem_keypair(uint8_t *public_key,
|
||||
OQS_API 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,
|
||||
OQS_API 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,
|
||||
OQS_API OQS_STATUS OQS_KEM_newhope_512_cca_kem_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
#endif
|
||||
@ -31,12 +31,12 @@ OQS_STATUS OQS_KEM_newhope_512_cca_kem_decaps(uint8_t *shared_secret,
|
||||
|
||||
OQS_KEM *OQS_KEM_newhope_1024_cca_kem_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_newhope_1024_cca_kem_keypair(uint8_t *public_key,
|
||||
OQS_API 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,
|
||||
OQS_API 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,
|
||||
OQS_API OQS_STATUS OQS_KEM_newhope_1024_cca_kem_decaps(uint8_t *shared_secret,
|
||||
const unsigned char *ciphertext,
|
||||
const uint8_t *secret_key);
|
||||
#endif
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
*
|
||||
* Returns 0 (success)
|
||||
**************************************************/
|
||||
int crypto_kem_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
OQS_API OQS_STATUS crypto_kem_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
size_t i;
|
||||
|
||||
cpapke_keypair(pk, sk);
|
||||
@ -34,7 +34,7 @@ int crypto_kem_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
|
||||
OQS_randombytes(sk, NEWHOPE_SYMBYTES); /* Append the value s for pseudo-random output on reject */
|
||||
|
||||
return 0;
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
@ -49,7 +49,7 @@ int crypto_kem_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
*
|
||||
* Returns 0 (success)
|
||||
**************************************************/
|
||||
int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk) {
|
||||
OQS_API OQS_STATUS crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk) {
|
||||
unsigned char k_coins_d[3 * NEWHOPE_SYMBYTES]; /* Will contain key, coins, qrom-hash */
|
||||
unsigned char buf[2 * NEWHOPE_SYMBYTES];
|
||||
int i;
|
||||
@ -67,7 +67,7 @@ int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk
|
||||
|
||||
OQS_SHA3_shake256(k_coins_d + NEWHOPE_SYMBYTES, NEWHOPE_SYMBYTES, ct, NEWHOPE_CCAKEM_CIPHERTEXTBYTES); /* overwrite coins in k_coins_d with h(c) */
|
||||
OQS_SHA3_shake256(ss, NEWHOPE_SYMBYTES, k_coins_d, 2 * NEWHOPE_SYMBYTES); /* hash concatenation of pre-k and h(c) to ss */
|
||||
return 0;
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
@ -84,7 +84,7 @@ int crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk
|
||||
*
|
||||
* On failure, ss will contain a randomized value.
|
||||
**************************************************/
|
||||
int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk) {
|
||||
OQS_API OQS_STATUS crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk) {
|
||||
int i, fail;
|
||||
unsigned char ct_cmp[NEWHOPE_CCAKEM_CIPHERTEXTBYTES];
|
||||
unsigned char buf[2 * NEWHOPE_SYMBYTES];
|
||||
@ -108,5 +108,6 @@ int crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned ch
|
||||
cmov(k_coins_d, sk + NEWHOPE_CCAKEM_SECRETKEYBYTES - NEWHOPE_SYMBYTES, NEWHOPE_SYMBYTES, fail); /* Overwrite pre-k with z on re-encryption failure */
|
||||
OQS_SHA3_shake256(ss, NEWHOPE_SYMBYTES, k_coins_d, 2 * NEWHOPE_SYMBYTES); /* hash concatenation of pre-k and h(c) to k */
|
||||
|
||||
return -fail;
|
||||
return (OQS_STATUS) -fail;
|
||||
|
||||
}
|
||||
|
||||
@ -111,14 +111,14 @@ OQS_KEM *OQS_KEM_sidh_p503_new() {
|
||||
}
|
||||
|
||||
/* Forward KEM API calls to SIDH's API */
|
||||
OQS_STATUS OQS_KEM_sidh_p503_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p503_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
if (oqs_kem_sidh_p503_EphemeralKeyGeneration_A((unsigned char *) secret_key, (unsigned char *) public_key) != 0) {
|
||||
return OQS_ERROR;
|
||||
}
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_KEM_sidh_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
OQS_STATUS ret = OQS_ERROR;
|
||||
unsigned char *secret_key = malloc(OQS_KEM_sidh_p503_length_secret_key);
|
||||
if (oqs_kem_sidh_p503_EphemeralKeyGeneration_B(secret_key, (unsigned char *) ciphertext)) {
|
||||
@ -141,7 +141,7 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_KEM_sidh_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key) {
|
||||
if (oqs_kem_sidh_p503_EphemeralSecretAgreement_A((unsigned char *) secret_key, (unsigned char *) ciphertext, (unsigned char *) shared_secret) != 0) {
|
||||
return OQS_ERROR;
|
||||
}
|
||||
@ -189,14 +189,14 @@ OQS_KEM *OQS_KEM_sidh_p751_new() {
|
||||
}
|
||||
|
||||
/* Forward KEM API calls to SIDH's API */
|
||||
OQS_STATUS OQS_KEM_sidh_p751_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p751_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
if (oqs_kem_sidh_p751_EphemeralKeyGeneration_A((unsigned char *) secret_key, (unsigned char *) public_key) != 0) {
|
||||
return OQS_ERROR;
|
||||
}
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_KEM_sidh_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
OQS_STATUS ret = OQS_ERROR;
|
||||
unsigned char *secret_key = malloc(OQS_KEM_sidh_p751_length_secret_key);
|
||||
if (oqs_kem_sidh_p751_EphemeralKeyGeneration_B(secret_key, (unsigned char *) ciphertext)) {
|
||||
@ -219,7 +219,7 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_KEM_sidh_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key) {
|
||||
if (oqs_kem_sidh_p751_EphemeralSecretAgreement_A((unsigned char *) secret_key, (unsigned char *) ciphertext, (unsigned char *) shared_secret) != 0) {
|
||||
return OQS_ERROR;
|
||||
}
|
||||
|
||||
@ -12,9 +12,9 @@
|
||||
|
||||
OQS_KEM *OQS_KEM_sike_p503_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_sike_p503_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_sike_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_sike_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sike_p503_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sike_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sike_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -27,9 +27,9 @@ OQS_STATUS OQS_KEM_sike_p503_decaps(uint8_t *shared_secret, const unsigned char
|
||||
|
||||
OQS_KEM *OQS_KEM_sike_p751_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_sike_p751_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_sike_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_sike_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sike_p751_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sike_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sike_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -42,9 +42,9 @@ OQS_STATUS OQS_KEM_sike_p751_decaps(uint8_t *shared_secret, const unsigned char
|
||||
|
||||
OQS_KEM *OQS_KEM_sidh_p503_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_sidh_p503_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_sidh_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_sidh_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p503_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -57,9 +57,9 @@ OQS_STATUS OQS_KEM_sidh_p503_decaps(uint8_t *shared_secret, const unsigned char
|
||||
|
||||
OQS_KEM *OQS_KEM_sidh_p751_new();
|
||||
|
||||
OQS_STATUS OQS_KEM_sidh_p751_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_KEM_sidh_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_STATUS OQS_KEM_sidh_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p751_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_KEM_sidh_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
#include <oqs/common.h>
|
||||
#include <oqs/sha3.h>
|
||||
|
||||
OQS_STATUS crypto_kem_keypair(unsigned char *pk, unsigned char *sk) { // SIKE's key generation
|
||||
OQS_API OQS_STATUS crypto_kem_keypair(unsigned char *pk, unsigned char *sk) { // SIKE's key generation
|
||||
// Outputs: secret key sk (CRYPTO_SECRETKEYBYTES = MSG_BYTES + SECRETKEY_B_BYTES + CRYPTO_PUBLICKEYBYTES bytes)
|
||||
// public key pk (CRYPTO_PUBLICKEYBYTES bytes)
|
||||
|
||||
@ -25,7 +25,7 @@ OQS_STATUS crypto_kem_keypair(unsigned char *pk, unsigned char *sk) { // SIKE's
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
OQS_STATUS crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk) { // SIKE's encapsulation
|
||||
OQS_API OQS_STATUS crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned char *pk) { // SIKE's encapsulation
|
||||
// Input: public key pk (CRYPTO_PUBLICKEYBYTES bytes)
|
||||
// Outputs: shared secret ss (CRYPTO_BYTES bytes)
|
||||
// ciphertext message ct (CRYPTO_CIPHERTEXTBYTES = CRYPTO_PUBLICKEYBYTES + MSG_BYTES bytes)
|
||||
@ -58,7 +58,7 @@ OQS_STATUS crypto_kem_enc(unsigned char *ct, unsigned char *ss, const unsigned c
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
OQS_STATUS crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk) { // SIKE's decapsulation
|
||||
OQS_API OQS_STATUS crypto_kem_dec(unsigned char *ss, const unsigned char *ct, const unsigned char *sk) { // SIKE's decapsulation
|
||||
// Input: secret key sk (CRYPTO_SECRETKEYBYTES = MSG_BYTES + SECRETKEY_B_BYTES + CRYPTO_PUBLICKEYBYTES bytes)
|
||||
// ciphertext message ct (CRYPTO_CIPHERTEXTBYTES = CRYPTO_PUBLICKEYBYTES + MSG_BYTES bytes)
|
||||
// Outputs: shared secret ss (CRYPTO_BYTES bytes)
|
||||
|
||||
@ -106,15 +106,15 @@ OQS_SIG *OQS_SIG_picnic_L1_FS_new() {
|
||||
return sig;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_FS_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_FS_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
return common_picnic_keypair(Picnic_L1_FS, secret_key, public_key);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
return common_picnic_sign(Picnic_L1_FS, secret_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
return common_picnic_verify(Picnic_L1_FS, public_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
@ -145,15 +145,15 @@ OQS_SIG *OQS_SIG_picnic_L1_UR_new() {
|
||||
return sig;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_UR_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_UR_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
return common_picnic_keypair(Picnic_L1_UR, secret_key, public_key);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
return common_picnic_sign(Picnic_L1_UR, secret_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
return common_picnic_verify(Picnic_L1_UR, public_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
@ -184,15 +184,15 @@ OQS_SIG *OQS_SIG_picnic_L3_FS_new() {
|
||||
return sig;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_FS_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_FS_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
return common_picnic_keypair(Picnic_L3_FS, secret_key, public_key);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
return common_picnic_sign(Picnic_L3_FS, secret_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
return common_picnic_verify(Picnic_L3_FS, public_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
@ -223,15 +223,15 @@ OQS_SIG *OQS_SIG_picnic_L3_UR_new() {
|
||||
return sig;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_UR_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_UR_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
return common_picnic_keypair(Picnic_L3_UR, secret_key, public_key);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
return common_picnic_sign(Picnic_L3_UR, secret_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
return common_picnic_verify(Picnic_L3_UR, public_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
@ -262,15 +262,15 @@ OQS_SIG *OQS_SIG_picnic_L5_FS_new() {
|
||||
return sig;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_FS_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_FS_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
return common_picnic_keypair(Picnic_L5_FS, secret_key, public_key);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
return common_picnic_sign(Picnic_L5_FS, secret_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
return common_picnic_verify(Picnic_L5_FS, public_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
@ -302,15 +302,15 @@ OQS_SIG *OQS_SIG_picnic_L5_UR_new() {
|
||||
return sig;
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_UR_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_UR_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
return common_picnic_keypair(Picnic_L5_UR, secret_key, public_key);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
return common_picnic_sign(Picnic_L5_UR, secret_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
return common_picnic_verify(Picnic_L5_UR, public_key, message, message_len, signature, signature_len);
|
||||
}
|
||||
|
||||
|
||||
@ -11,9 +11,9 @@
|
||||
|
||||
OQS_SIG *OQS_SIG_picnic_L1_FS_new();
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_FS_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L1_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L1_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_FS_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -25,9 +25,9 @@ OQS_STATUS OQS_SIG_picnic_L1_FS_verify(const uint8_t *message, size_t message_le
|
||||
|
||||
OQS_SIG *OQS_SIG_picnic_L1_UR_new();
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L1_UR_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L1_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L1_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_UR_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L1_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -39,9 +39,9 @@ OQS_STATUS OQS_SIG_picnic_L1_UR_verify(const uint8_t *message, size_t message_le
|
||||
|
||||
OQS_SIG *OQS_SIG_picnic_L3_FS_new();
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_FS_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L3_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L3_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_FS_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -53,9 +53,9 @@ OQS_STATUS OQS_SIG_picnic_L3_FS_verify(const uint8_t *message, size_t message_le
|
||||
|
||||
OQS_SIG *OQS_SIG_picnic_L3_UR_new();
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L3_UR_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L3_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L3_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_UR_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L3_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -67,9 +67,9 @@ OQS_STATUS OQS_SIG_picnic_L3_UR_verify(const uint8_t *message, size_t message_le
|
||||
|
||||
OQS_SIG *OQS_SIG_picnic_L5_FS_new();
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_FS_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L5_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L5_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_FS_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_FS_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_FS_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
|
||||
#endif
|
||||
|
||||
@ -81,9 +81,9 @@ OQS_STATUS OQS_SIG_picnic_L5_FS_verify(const uint8_t *message, size_t message_le
|
||||
|
||||
OQS_SIG *OQS_SIG_picnic_L5_UR_new();
|
||||
|
||||
OQS_STATUS OQS_SIG_picnic_L5_UR_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L5_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_STATUS OQS_SIG_picnic_L5_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_UR_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_UR_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_picnic_L5_UR_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
6
src/sig/qtesla/external/qTESLA_I.c
vendored
6
src/sig/qtesla/external/qTESLA_I.c
vendored
@ -1839,14 +1839,14 @@ static void sparse_mul32(poly prod, const int32_t *pk, const uint32_t pos_list[P
|
||||
|
||||
#include "qTESLA_api.c"
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_I_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
return crypto_sign_keypair(pk, sk);
|
||||
}
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_I_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
return crypto_sign(sm, smlen, m, mlen, sk);
|
||||
}
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_I_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
return crypto_verify(m, mlen, sm, smlen, pk);
|
||||
}
|
||||
|
||||
6
src/sig/qtesla/external/qTESLA_I.h
vendored
6
src/sig/qtesla/external/qTESLA_I.h
vendored
@ -1,13 +1,13 @@
|
||||
OQS_API int OQS_SIG_qTESLA_I_keypair(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_keypair(
|
||||
unsigned char *,
|
||||
unsigned char *);
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_I_sign(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_sign(
|
||||
unsigned char *, unsigned long long *,
|
||||
const unsigned char *, unsigned long long,
|
||||
const unsigned char *);
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_I_verify(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_verify(
|
||||
unsigned char *, unsigned long long,
|
||||
const unsigned char *, unsigned long long,
|
||||
const unsigned char *);
|
||||
|
||||
6
src/sig/qtesla/external/qTESLA_III_size.c
vendored
6
src/sig/qtesla/external/qTESLA_III_size.c
vendored
@ -2878,14 +2878,14 @@ static void sparse_mul32(poly prod, const int32_t *pk, const uint32_t pos_list[P
|
||||
|
||||
#include "qTESLA_api.c"
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_size_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
return crypto_sign_keypair(pk, sk);
|
||||
}
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_size_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
return crypto_sign(sm, smlen, m, mlen, sk);
|
||||
}
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_size_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
return crypto_verify(m, mlen, sm, smlen, pk);
|
||||
}
|
||||
|
||||
6
src/sig/qtesla/external/qTESLA_III_size.h
vendored
6
src/sig/qtesla/external/qTESLA_III_size.h
vendored
@ -1,13 +1,13 @@
|
||||
OQS_API int OQS_SIG_qTESLA_III_size_keypair(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_keypair(
|
||||
unsigned char *,
|
||||
unsigned char *);
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_size_sign(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_sign(
|
||||
unsigned char *, unsigned long long *,
|
||||
const unsigned char *, unsigned long long,
|
||||
const unsigned char *);
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_size_verify(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_verify(
|
||||
unsigned char *, unsigned long long,
|
||||
const unsigned char *, unsigned long long,
|
||||
const unsigned char *);
|
||||
|
||||
6
src/sig/qtesla/external/qTESLA_III_speed.c
vendored
6
src/sig/qtesla/external/qTESLA_III_speed.c
vendored
@ -2804,14 +2804,14 @@ static void sparse_mul32(poly prod, const int32_t *pk, const uint32_t pos_list[P
|
||||
|
||||
#include "qTESLA_api.c"
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_speed_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
return crypto_sign_keypair(pk, sk);
|
||||
}
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_speed_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
return crypto_sign(sm, smlen, m, mlen, sk);
|
||||
}
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_speed_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
return crypto_verify(m, mlen, sm, smlen, pk);
|
||||
}
|
||||
|
||||
6
src/sig/qtesla/external/qTESLA_III_speed.h
vendored
6
src/sig/qtesla/external/qTESLA_III_speed.h
vendored
@ -1,13 +1,13 @@
|
||||
OQS_API int OQS_SIG_qTESLA_III_speed_keypair(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_keypair(
|
||||
unsigned char *,
|
||||
unsigned char *);
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_speed_sign(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_sign(
|
||||
unsigned char *, unsigned long long *,
|
||||
const unsigned char *, unsigned long long,
|
||||
const unsigned char *);
|
||||
|
||||
OQS_API int OQS_SIG_qTESLA_III_speed_verify(
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_verify(
|
||||
unsigned char *, unsigned long long,
|
||||
const unsigned char *, unsigned long long,
|
||||
const unsigned char *);
|
||||
|
||||
18
src/sig/qtesla/external/qTESLA_api.c
vendored
18
src/sig/qtesla/external/qTESLA_api.c
vendored
@ -9,7 +9,7 @@
|
||||
* - unsigned char *sk: secret key
|
||||
* Returns: 0 for successful execution
|
||||
**********************************************************/
|
||||
static int crypto_sign_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
static OQS_STATUS crypto_sign_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
unsigned char randomness[CRYPTO_RANDOMBYTES], randomness_extended[4 * CRYPTO_SEEDBYTES];
|
||||
poly s, e, a, t;
|
||||
int nonce = 0; // Initialize domain separator for error and secret polynomials
|
||||
@ -50,7 +50,7 @@ static int crypto_sign_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
pack_sk(sk, s, e, &randomness_extended[2 * CRYPTO_SEEDBYTES]);
|
||||
encode_pk(pk, t, &randomness_extended[2 * CRYPTO_SEEDBYTES]);
|
||||
|
||||
return 0;
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
@ -66,7 +66,7 @@ static int crypto_sign_keypair(unsigned char *pk, unsigned char *sk) {
|
||||
* - unsigned long long *smlen: signature length*
|
||||
* Returns: 0 for successful execution
|
||||
***************************************************************/
|
||||
static int crypto_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
static OQS_STATUS crypto_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m, unsigned long long mlen, const unsigned char *sk) {
|
||||
unsigned char c[CRYPTO_C_BYTES], randomness[CRYPTO_SEEDBYTES], randomness_input[CRYPTO_RANDOMBYTES + CRYPTO_SEEDBYTES + mlen];
|
||||
uint32_t pos_list[PARAM_W];
|
||||
int16_t sign_list[PARAM_W];
|
||||
@ -122,7 +122,7 @@ static int crypto_sign(unsigned char *sm, unsigned long long *smlen, const unsig
|
||||
*smlen = CRYPTO_BYTES;
|
||||
encode_sig(sm, c, z);
|
||||
|
||||
return 0;
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ static int crypto_sign(unsigned char *sm, unsigned long long *smlen, const unsig
|
||||
* Returns: 0 for valid signature
|
||||
* <0 for invalid signature
|
||||
************************************************************/
|
||||
static int crypto_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
static OQS_STATUS crypto_verify(unsigned char *m, unsigned long long mlen, const unsigned char *sm, unsigned long long smlen, const unsigned char *pk) {
|
||||
unsigned char c[CRYPTO_C_BYTES], c_sig[CRYPTO_C_BYTES], seed[CRYPTO_SEEDBYTES];
|
||||
uint32_t pos_list[PARAM_W];
|
||||
int16_t sign_list[PARAM_W];
|
||||
@ -147,11 +147,11 @@ static int crypto_verify(unsigned char *m, unsigned long long mlen, const unsign
|
||||
poly w, z, a, Tc;
|
||||
|
||||
if (smlen < CRYPTO_BYTES)
|
||||
return -1;
|
||||
return OQS_ERROR;
|
||||
|
||||
decode_sig(c, z, sm);
|
||||
if (test_z(z) != 0)
|
||||
return -2; // Check norm of z
|
||||
return OQS_ERROR; // Check norm of z
|
||||
decode_pk((int32_t *) pk_t, seed, pk);
|
||||
poly_uniform(a, seed);
|
||||
encode_c(pos_list, sign_list, c);
|
||||
@ -162,7 +162,7 @@ static int crypto_verify(unsigned char *m, unsigned long long mlen, const unsign
|
||||
|
||||
// Check if the calculated c matches c from the signature
|
||||
if (memcmp(c, c_sig, CRYPTO_C_BYTES))
|
||||
return -3;
|
||||
return OQS_ERROR;
|
||||
|
||||
return 0;
|
||||
return OQS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
#ifdef OQS_ENABLE_SIG_qTESLA_I
|
||||
|
||||
OQS_API OQS_SIG *OQS_SIG_qTESLA_I_new() {
|
||||
OQS_SIG *OQS_SIG_qTESLA_I_new() {
|
||||
|
||||
OQS_SIG *sig = malloc(sizeof(OQS_SIG));
|
||||
if (sig == NULL) {
|
||||
@ -31,7 +31,7 @@ OQS_API OQS_SIG *OQS_SIG_qTESLA_I_new() {
|
||||
|
||||
#ifdef OQS_ENABLE_SIG_qTESLA_III_size
|
||||
|
||||
OQS_API OQS_SIG *OQS_SIG_qTESLA_III_size_new() {
|
||||
OQS_SIG *OQS_SIG_qTESLA_III_size_new() {
|
||||
|
||||
OQS_SIG *sig = malloc(sizeof(OQS_SIG));
|
||||
if (sig == NULL) {
|
||||
@ -58,7 +58,7 @@ OQS_API OQS_SIG *OQS_SIG_qTESLA_III_size_new() {
|
||||
|
||||
#ifdef OQS_ENABLE_SIG_qTESLA_III_speed
|
||||
|
||||
OQS_API OQS_SIG *OQS_SIG_qTESLA_III_speed_new() {
|
||||
OQS_SIG *OQS_SIG_qTESLA_III_speed_new() {
|
||||
|
||||
OQS_SIG *sig = malloc(sizeof(OQS_SIG));
|
||||
if (sig == NULL) {
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#define OQS_SIG_qTESLA_I_length_secret_key 2112
|
||||
#define OQS_SIG_qTESLA_I_length_signature 1376
|
||||
|
||||
OQS_API OQS_SIG *OQS_SIG_qTESLA_I_new();
|
||||
OQS_SIG *OQS_SIG_qTESLA_I_new();
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_I_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
@ -23,7 +23,7 @@ OQS_API OQS_STATUS OQS_SIG_qTESLA_I_verify(const uint8_t *message, size_t messag
|
||||
#define OQS_SIG_qTESLA_III_size_length_secret_key 4160
|
||||
#define OQS_SIG_qTESLA_III_size_length_signature 2720
|
||||
|
||||
OQS_API OQS_SIG *OQS_SIG_qTESLA_III_size_new();
|
||||
OQS_SIG *OQS_SIG_qTESLA_III_size_new();
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
@ -37,7 +37,7 @@ OQS_API OQS_STATUS OQS_SIG_qTESLA_III_size_verify(const uint8_t *message, size_t
|
||||
#define OQS_SIG_qTESLA_III_speed_length_secret_key 4160
|
||||
#define OQS_SIG_qTESLA_III_speed_length_signature 2848
|
||||
|
||||
OQS_API OQS_SIG *OQS_SIG_qTESLA_III_speed_new();
|
||||
OQS_SIG *OQS_SIG_qTESLA_III_speed_new();
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_keypair(uint8_t *public_key, uint8_t *secret_key);
|
||||
OQS_API OQS_STATUS OQS_SIG_qTESLA_III_speed_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user