diff --git a/client/dap_client_internal.c b/client/dap_client_internal.c index c9d9366ea33edecf3a3ebe0f05398d13121720e0..ea5902827aed7baf118770151efdb310858fc38f 100644 --- a/client/dap_client_internal.c +++ b/client/dap_client_internal.c @@ -429,9 +429,7 @@ void m_enc_init_response(dap_client_t * a_client, void * a_response,size_t a_res dap_enc_base64_decode(msg_index+1,msg_size,encoded_msg); dap_enc_msrln16_key_t* msrln16_key = DAP_ENC_KEY_TYPE_RLWE_MSRLN16(s_key_domain); OQS_KEX_rlwe_msrln16_alice_1(msrln16_key->kex, msrln16_key->private_key, encoded_msg, 2048,&msrln16_key->public_key,&msrln16_key->public_length); - uint8_t s; - for(int i=0; i < msrln16_key->public_length;i++) - s = msrln16_key->public_key[i]; + aes_key_from_msrln_pub(s_key_domain); free(encoded_key); free(encoded_msg); l_client_internal->stage_status = DAP_CLIENT_STAGE_STATUS_DONE; diff --git a/crypto/dap_enc_msrln16.c b/crypto/dap_enc_msrln16.c index 418ceac54b00514f14ddd63aa1f00bdd75944228..61bc3eba3e77bdf3dd551f072f6dcb71f79f2bf9 100644 --- a/crypto/dap_enc_msrln16.c +++ b/crypto/dap_enc_msrln16.c @@ -224,3 +224,11 @@ size_t dap_enc_msrln16_encode(OQS_KEX *k, void **alice_priv, uint8_t **alice_msg } PRINT_HEX_STRING("Alice message", alice_msg, alice_msg_len);*/ } + + +void aes_key_from_msrln_pub(dap_enc_key_t* key){ + //TODO: More difflicult aes generation + dap_enc_msrln16_key_t* msrln_key = DAP_ENC_KEY_TYPE_RLWE_MSRLN16(key); + key->data = (unsigned char *)malloc(16); + memcpy(key->data,msrln_key->public_key,16); +} diff --git a/crypto/dap_enc_msrln16.h b/crypto/dap_enc_msrln16.h index a9f2225ee35e5d75d84d5a649778e19cdea52d17..583ef4ee57b2eac7cd3be926e889a4997b84555c 100644 --- a/crypto/dap_enc_msrln16.h +++ b/crypto/dap_enc_msrln16.h @@ -46,5 +46,6 @@ void dap_enc_msrln16_key_delete(struct dap_enc_key* a_key); size_t dap_enc_msrln16_decode(OQS_KEX *k, const uint8_t *alice_msg, const size_t alice_msg_len, uint8_t **bob_msg, size_t *bob_msg_len, uint8_t **key, size_t *key_len); size_t dap_enc_msrln16_encode(OQS_KEX *k, void **alice_priv, uint8_t **alice_msg, size_t *alice_msg_len); //size_t dap_enc_msrln16_encode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out); +void aes_key_from_msrln_pub(dap_enc_key_t* key); #endif