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