From da479b80530ec8789006b807eda28263f37c8a87 Mon Sep 17 00:00:00 2001 From: "alexey.stratulat" <alexey.stratulat@demlabs.net> Date: Tue, 20 Sep 2022 18:07:36 +0700 Subject: [PATCH] [+] Added test for kyber key exchange algorithm with DAP_ENC_KEY_TYPE_KEM_KYBER512 key type. --- .../crypto/test/crypto/dap_enc_kyber_test.c | 21 +++++++++++++++++++ .../crypto/test/crypto/dap_enc_kyber_test.h | 5 +++++ dap-sdk/crypto/test/crypto/main.c | 3 +++ 3 files changed, 29 insertions(+) create mode 100644 dap-sdk/crypto/test/crypto/dap_enc_kyber_test.c create mode 100644 dap-sdk/crypto/test/crypto/dap_enc_kyber_test.h diff --git a/dap-sdk/crypto/test/crypto/dap_enc_kyber_test.c b/dap-sdk/crypto/test/crypto/dap_enc_kyber_test.c new file mode 100644 index 0000000000..7a490ff456 --- /dev/null +++ b/dap-sdk/crypto/test/crypto/dap_enc_kyber_test.c @@ -0,0 +1,21 @@ +#include "dap_enc_kyber_test.h" + +void key_kem_kyber512_transfer_simulation_test(void){ + dap_enc_key_t *alice_key = dap_enc_key_new_generate(DAP_ENC_KEY_TYPE_KEM_KYBER512, NULL, 0, NULL, 0, 0); + uint8_t *alice_pkey = alice_key->pub_key_data; + size_t alice_pkey_size = alice_key->pub_key_data_size; + + dap_enc_key_t *bob_key = dap_enc_key_new_generate(DAP_ENC_KEY_TYPE_KEM_KYBER512, NULL, 0, NULL, 0, 0); + bob_key->gen_bob_shared_key(bob_key, alice_pkey, alice_pkey_size, (void**)&bob_key->pub_key_data); + uint8_t *bob_pkey = bob_key->pub_key_data; + size_t bob_pkey_size = bob_key->pub_key_data_size; + + alice_key->gen_alice_shared_key(alice_key, alice_key->priv_key_data, bob_pkey_size, bob_pkey); + + dap_assert(memcmp(alice_key->priv_key_data, bob_key->priv_key_data, alice_key->priv_key_data_size) == 0, "Session keys equals"); +} + +int dap_enc_kyber_test_run(void) { + dap_print_module_name("dap_enc_kyber_test_kem_kyber512"); + key_kem_kyber512_transfer_simulation_test(); +} \ No newline at end of file diff --git a/dap-sdk/crypto/test/crypto/dap_enc_kyber_test.h b/dap-sdk/crypto/test/crypto/dap_enc_kyber_test.h new file mode 100644 index 0000000000..295eed5cfe --- /dev/null +++ b/dap-sdk/crypto/test/crypto/dap_enc_kyber_test.h @@ -0,0 +1,5 @@ +#pragma once +#include "dap_enc_key.h" +#include "dap_test.h" + +int dap_enc_kyber_test_run(void); \ No newline at end of file diff --git a/dap-sdk/crypto/test/crypto/main.c b/dap-sdk/crypto/test/crypto/main.c index c9489e50a4..04bcb252ee 100755 --- a/dap-sdk/crypto/test/crypto/main.c +++ b/dap-sdk/crypto/test/crypto/main.c @@ -8,6 +8,7 @@ #include "dap_enc_tesla_test.h" #include "dap_enc_dilithium_test.h" #include "dap_enc_ringct20_test.h" +#include "dap_enc_kyber_test.h" #ifndef DAP_CRYPTO_MULTISIGN_TEST_OFF #include "dap_enc_sign_multi_test.h" #endif @@ -53,6 +54,8 @@ int main(void) { dap_enc_defeo_tests_run(); dap_enc_tesla_tests_run(); + dap_enc_kyber_test_run(); + #ifndef DAP_CRYPTO_MULTISIGN_TEST_OFF dap_enc_multi_sign_tests_run(); #endif -- GitLab