[tor-commits] [tor/master] Helper function to see if an ed25519 pk is set.

nickm at torproject.org nickm at torproject.org
Thu Dec 8 21:53:43 UTC 2016


commit 431565e0531eb6cfdaabd2bba8912655898f079b
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Sep 14 14:27:44 2016 -0400

    Helper function to see if an ed25519 pk is set.
---
 src/common/crypto_ed25519.c | 8 ++++++++
 src/common/crypto_ed25519.h | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/src/common/crypto_ed25519.c b/src/common/crypto_ed25519.c
index 30ed772..809ad12 100644
--- a/src/common/crypto_ed25519.c
+++ b/src/common/crypto_ed25519.c
@@ -211,6 +211,14 @@ ed25519_keypair_generate(ed25519_keypair_t *keypair_out, int extra_strong)
   return 0;
 }
 
+/** Return true iff 'pubkey' is set to zero (eg to indicate that it is not
+ * set). */
+int
+ed25519_public_key_is_zero(const ed25519_public_key_t *pubkey)
+{
+  return tor_mem_is_zero((char*)pubkey->pubkey, ED25519_PUBKEY_LEN);
+}
+
 /* Return a heap-allocated array that contains <b>msg</b> prefixed by the
  * string <b>prefix_str</b>. Set <b>final_msg_len_out</b> to the size of the
  * final array. If an error occured, return NULL. It's the resonsibility of the
diff --git a/src/common/crypto_ed25519.h b/src/common/crypto_ed25519.h
index 31afc49..5d63d90 100644
--- a/src/common/crypto_ed25519.h
+++ b/src/common/crypto_ed25519.h
@@ -66,6 +66,9 @@ ed25519_checksig_prefixed(const ed25519_signature_t *signature,
                           const char *prefix_str,
                           const ed25519_public_key_t *pubkey);
 
+int ed25519_public_key_is_zero(const ed25519_public_key_t *pubkey);
+
+
 /**
  * A collection of information necessary to check an Ed25519 signature. Used
  * for batch verification.





More information about the tor-commits mailing list