aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/pubkey/xmss
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2018-08-09 14:05:29 -0400
committerJack Lloyd <[email protected]>2018-08-10 10:12:49 -0400
commit1e18edf2673519c8f8c01dbbaacc5a189f0c0a92 (patch)
tree40a7c64752842ce9298de220860af38fe80bb882 /src/lib/pubkey/xmss
parentfe242c20a01ae2e8a4589c353cdbc080ae629487 (diff)
Add PK_Signer::signature_length
Diffstat (limited to 'src/lib/pubkey/xmss')
-rw-r--r--src/lib/pubkey/xmss/xmss_signature_operation.cpp6
-rw-r--r--src/lib/pubkey/xmss/xmss_signature_operation.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/pubkey/xmss/xmss_signature_operation.cpp b/src/lib/pubkey/xmss/xmss_signature_operation.cpp
index c3e43bfc9..d6a57bb08 100644
--- a/src/lib/pubkey/xmss/xmss_signature_operation.cpp
+++ b/src/lib/pubkey/xmss/xmss_signature_operation.cpp
@@ -52,6 +52,12 @@ XMSS_Signature_Operation::sign(const secure_vector<uint8_t>& msg_hash,
return sig;
}
+size_t XMSS_Signature_Operation::signature_length() const
+ {
+ // TODO bound this by the params
+ return 128*1024;
+ }
+
wots_keysig_t
XMSS_Signature_Operation::build_auth_path(XMSS_PrivateKey& priv_key,
XMSS_Address& adrs)
diff --git a/src/lib/pubkey/xmss/xmss_signature_operation.h b/src/lib/pubkey/xmss/xmss_signature_operation.h
index 5c1a14662..a1c395fa6 100644
--- a/src/lib/pubkey/xmss/xmss_signature_operation.h
+++ b/src/lib/pubkey/xmss/xmss_signature_operation.h
@@ -48,6 +48,8 @@ class XMSS_Signature_Operation final : public virtual PK_Ops::Signature,
void update(const uint8_t msg[], size_t msg_len) override;
+ size_t signature_length() const override;
+
private:
/**
* Algorithm 11: "treeSig"