diff --git a/dap_chain_sign.c b/dap_chain_sign.c
index 1d075f795a28ab83e3d23e2be3566ebbbd12d98a..cf225a52258521065d62adbabfb4fd2addab2ee2 100755
--- a/dap_chain_sign.c
+++ b/dap_chain_sign.c
@@ -25,6 +25,7 @@
 #include <string.h>
 
 #include "dap_common.h"
+#include "dap_hash.h"
 #include "dap_chain_sign.h"
 #include "dap_enc_bliss.h"
 #include "dap_enc_tesla.h"
@@ -242,6 +243,26 @@ uint8_t* dap_chain_sign_get_pkey(dap_chain_sign_t *a_sign, size_t *a_pub_key_out
     return a_sign->pkey_n_sign;
 }
 
+/**
+ * @brief dap_chain_sign_get_pkey_hash
+ * @param a_sign
+ * @param a_sign_hash
+ * @return
+ */
+bool dap_chain_sign_get_pkey_hash(dap_chain_sign_t *a_sign, dap_chain_hash_fast_t * a_sign_hash)
+{
+    if(!a_sign){
+        log_it( L_WARNING, "Sign is NULL on enter");
+        return false;
+    }
+    if( ! a_sign->header.sign_pkey_size ){
+        log_it( L_WARNING, "Sign public key's size is 0");
+        return false;
+    }
+    return dap_hash_fast( a_sign->pkey_n_sign,a_sign->header.sign_pkey_size,a_sign_hash );
+}
+
+
 /**
  * @brief dap_chain_sign_to_enc_key
  * @param a_chain_sign
diff --git a/dap_chain_sign.h b/dap_chain_sign.h
index 812e0da00cc278a5c7498b8d0a0d2bf5774e34ec..b4a867c3c05c3e57d82ccf9ea1ad00cfe46bb389 100755
--- a/dap_chain_sign.h
+++ b/dap_chain_sign.h
@@ -66,6 +66,7 @@ dap_enc_key_type_t  dap_chain_sign_type_to_key_type(dap_chain_sign_type_t  a_cha
 
 uint8_t* dap_chain_sign_get_sign(dap_chain_sign_t *a_sign, size_t *a_sign_out);
 uint8_t* dap_chain_sign_get_pkey(dap_chain_sign_t *a_sign, size_t *a_pub_key_out);
+bool dap_chain_sign_get_pkey_hash(dap_chain_sign_t *a_sign, dap_chain_hash_fast_t * a_sign_hash);
 
 dap_enc_key_t *dap_chain_sign_to_enc_key(dap_chain_sign_t * a_chain_sign);
 const char * dap_chain_sign_type_to_str(dap_chain_sign_type_t a_chain_sign_type);