diff --git a/core/dap_list.c b/core/dap_list.c
index 6d28340db8969022342905c32d224109c775a3c8..31afbd6255a088b00b1b95cd8846268419d35e22 100755
--- a/core/dap_list.c
+++ b/core/dap_list.c
@@ -191,7 +191,7 @@ dap_list_t *dap_list_insert(dap_list_t *list, void* data, int position)
     else if(position == 0)
         return dap_list_prepend(list, data);
 
-    tmp_list = dap_list_nth(list, position);
+    tmp_list = dap_list_nth(list,(unsigned int) position);
     if(!tmp_list)
         return dap_list_append(list, data);
 
diff --git a/crypto/dap_enc_bliss.c b/crypto/dap_enc_bliss.c
index 9f167c609a4c07e3f6e67b4fd1e7fbd27357f3c5..87c8d9a928135faf45e6b411be6e8405d781974b 100755
--- a/crypto/dap_enc_bliss.c
+++ b/crypto/dap_enc_bliss.c
@@ -280,7 +280,7 @@ bliss_private_key_t* dap_enc_sig_bliss_read_private_key(uint8_t *a_buf, size_t a
 }
 
 /* Deserialize a public key. */
-bliss_public_key_t* dap_enc_sig_bliss_read_public_key(uint8_t *a_buf, size_t a_buflen)
+bliss_public_key_t* dap_enc_sig_bliss_read_public_key(const uint8_t *a_buf, size_t a_buflen)
 {
     if(!a_buf || a_buflen < (sizeof(size_t) + sizeof(bliss_kind_t)))
         return NULL;
diff --git a/crypto/dap_enc_bliss.h b/crypto/dap_enc_bliss.h
index 49c0d7af8439416f21b58510a4d691d566e5bd17..8b602bc66e387ba8cc9661ed1edab7c6a452be56 100755
--- a/crypto/dap_enc_bliss.h
+++ b/crypto/dap_enc_bliss.h
@@ -32,6 +32,6 @@ bliss_signature_t* dap_enc_sig_bliss_read_signature(uint8_t *a_buf, size_t a_buf
 uint8_t* dap_enc_sig_bliss_write_private_key(const bliss_private_key_t* a_private_key, size_t *a_buflen_out);
 uint8_t* dap_enc_sig_bliss_write_public_key(const bliss_public_key_t* a_public_key, size_t *a_buflen_out);
 bliss_private_key_t* dap_enc_sig_bliss_read_private_key(uint8_t *a_buf, size_t a_buflen);
-bliss_public_key_t* dap_enc_sig_bliss_read_public_key(uint8_t *a_buf, size_t a_buflen);
+bliss_public_key_t* dap_enc_sig_bliss_read_public_key(const uint8_t *a_buf, size_t a_buflen);
 
 
diff --git a/crypto/dap_enc_key.c b/crypto/dap_enc_key.c
index e06bec89c567f1246ff374025ee2503841a00f95..5fe39c731d44b586c90ecaa3a2307bba3bccbd50 100755
--- a/crypto/dap_enc_key.c
+++ b/crypto/dap_enc_key.c
@@ -138,7 +138,7 @@ struct dap_enc_key_callbacks{
         .gen_alice_shared_key = NULL,
         .new_callback = dap_enc_sig_picnic_key_new,
         .gen_key_public = NULL,
-        .gen_key_public_size = NULL,
+        .gen_key_public_size = dap_enc_picnic_calc_signature_size,
         .delete_callback = dap_enc_sig_picnic_key_delete,
         .new_generate_callback = dap_enc_sig_picnic_key_new_generate,
         .enc_out_size = NULL,
@@ -368,7 +368,7 @@ int dap_enc_key_deserealize_priv_key(dap_enc_key_t *a_key, uint8_t *a_buf, size_
  * @param a_buflen_out
  * @return 0 Ok, -1 error
  */
-int dap_enc_key_deserealize_pub_key(dap_enc_key_t *a_key, uint8_t *a_buf, size_t a_buflen)
+int dap_enc_key_deserealize_pub_key(dap_enc_key_t *a_key,const uint8_t *a_buf, size_t a_buflen)
 {
     if(!a_key || !a_buf)
         return -1;
diff --git a/crypto/dap_enc_key.h b/crypto/dap_enc_key.h
index 11cc5dfe69d4ba7fd394f36d8de81b895ed4b6ac..ad912cf6be81f37cc549635f38209472c9e04922 100755
--- a/crypto/dap_enc_key.h
+++ b/crypto/dap_enc_key.h
@@ -226,7 +226,7 @@ uint8_t* dap_enc_key_deserealize_sign(dap_enc_key_type_t a_key_type, uint8_t *a_
 uint8_t* dap_enc_key_serealize_priv_key(dap_enc_key_t *a_key, size_t *a_buflen_out);
 uint8_t* dap_enc_key_serealize_pub_key(dap_enc_key_t *a_key, size_t *a_buflen_out);
 int dap_enc_key_deserealize_priv_key(dap_enc_key_t *a_key, uint8_t *a_buf, size_t a_buflen);
-int dap_enc_key_deserealize_pub_key(dap_enc_key_t *a_key, uint8_t *a_buf, size_t a_buflen);
+int dap_enc_key_deserealize_pub_key(dap_enc_key_t *a_key, const uint8_t *a_buf, size_t a_buflen);
 
 dap_enc_key_serealize_t* dap_enc_key_serealize(dap_enc_key_t * key);
 dap_enc_key_t* dap_enc_key_deserealize(void *buf, size_t buf_size);
diff --git a/crypto/dap_enc_tesla.c b/crypto/dap_enc_tesla.c
index 484ed19cb5903ed11ee688c8240f259ed7ddabbe..775eab1f64ba731ce64f4e621d749348df3b96d8 100755
--- a/crypto/dap_enc_tesla.c
+++ b/crypto/dap_enc_tesla.c
@@ -188,7 +188,7 @@ uint8_t* dap_enc_tesla_write_public_key(const tesla_public_key_t* a_public_key,
 }
 
 /* Deserialize a private key. */
-tesla_private_key_t* dap_enc_tesla_read_private_key(uint8_t *a_buf, size_t a_buflen)
+tesla_private_key_t* dap_enc_tesla_read_private_key(const uint8_t *a_buf, size_t a_buflen)
 {
     if(!a_buf || a_buflen < (sizeof(size_t) + sizeof(tesla_kind_t)))
         return NULL;
@@ -210,7 +210,7 @@ tesla_private_key_t* dap_enc_tesla_read_private_key(uint8_t *a_buf, size_t a_buf
 }
 
 /* Deserialize a public key. */
-tesla_public_key_t* dap_enc_tesla_read_public_key(uint8_t *a_buf, size_t a_buflen)
+tesla_public_key_t* dap_enc_tesla_read_public_key(const uint8_t *a_buf, size_t a_buflen)
 {
     if(!a_buf || a_buflen < (sizeof(size_t) + sizeof(tesla_kind_t)))
         return NULL;
diff --git a/crypto/dap_enc_tesla.h b/crypto/dap_enc_tesla.h
index a1e04cbaeaec5cff09ce40dfc836acd26c94c2f9..1cc7f7385117411861a3fa8b2e3e2a4b6273aefb 100755
--- a/crypto/dap_enc_tesla.h
+++ b/crypto/dap_enc_tesla.h
@@ -31,7 +31,7 @@ uint8_t* dap_enc_tesla_write_signature(tesla_signature_t* a_sign, size_t *a_sign
 tesla_signature_t* dap_enc_tesla_read_signature(uint8_t *a_buf, size_t a_buflen);
 uint8_t* dap_enc_tesla_write_private_key(const tesla_private_key_t* a_private_key, size_t *a_buflen_out);
 uint8_t* dap_enc_tesla_write_public_key(const tesla_public_key_t* a_public_key, size_t *a_buflen_out);
-tesla_private_key_t* dap_enc_tesla_read_private_key(uint8_t *a_buf, size_t a_buflen);
-tesla_public_key_t* dap_enc_tesla_read_public_key(uint8_t *a_buf, size_t a_buflen);
+tesla_private_key_t* dap_enc_tesla_read_private_key(const uint8_t *a_buf, size_t a_buflen);
+tesla_public_key_t* dap_enc_tesla_read_public_key(const uint8_t *a_buf, size_t a_buflen);
 
 #endif