From e0e6fe9aebbdf78761fd457a3fca0e62ee594254 Mon Sep 17 00:00:00 2001
From: Ivan Deniskin <ivanmordwin@yandex.ru>
Date: Wed, 23 May 2018 18:55:22 +0300
Subject: [PATCH] Little changes

---
 client/dap_client_internal.c | 4 +---
 crypto/dap_enc_msrln16.c     | 8 ++++++++
 crypto/dap_enc_msrln16.h     | 1 +
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/client/dap_client_internal.c b/client/dap_client_internal.c
index c9d9366..ea59028 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 418ceac..61bc3eb 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 a9f2225..583ef4e 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
-- 
GitLab