aboutsummaryrefslogtreecommitdiff
path: root/src/pubkey.h
diff options
context:
space:
mode:
authorJack Grigg <jack@z.cash>2017-06-06 19:21:34 +1200
committerJack Grigg <jack@z.cash>2017-07-17 11:57:23 -0500
commit17fa3913ef7ba5f569ebc3695fab15b10dd914f0 (patch)
treef86b876dc96420a858e0cfe121f81923c471fcf2 /src/pubkey.h
parente4a10860a4043afdda29bf7ed8e98f05d5341905 (diff)
Specify ECDSA constant sizes as constants
Diffstat (limited to 'src/pubkey.h')
-rw-r--r--src/pubkey.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/pubkey.h b/src/pubkey.h
index dbf0e23f20..6e25ad7c49 100644
--- a/src/pubkey.h
+++ b/src/pubkey.h
@@ -1,5 +1,6 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2016 The Bitcoin Core developers
+// Copyright (c) 2017 The Zcash developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
@@ -15,10 +16,12 @@
/**
* secp256k1:
- * const unsigned int PRIVATE_KEY_SIZE = 279;
- * const unsigned int PUBLIC_KEY_SIZE = 65;
- * const unsigned int SIGNATURE_SIZE = 72;
- *
+ */
+const unsigned int PUBLIC_KEY_SIZE = 65;
+const unsigned int COMPRESSED_PUBLIC_KEY_SIZE = 33;
+const unsigned int SIGNATURE_SIZE = 72;
+const unsigned int COMPACT_SIGNATURE_SIZE = 65;
+/**
* see www.keylength.com
* script supports up to 75 for single byte push
*/
@@ -44,15 +47,15 @@ private:
* Just store the serialized data.
* Its length can very cheaply be computed from the first byte.
*/
- unsigned char vch[65];
+ unsigned char vch[PUBLIC_KEY_SIZE];
//! Compute the length of a pubkey with a given first byte.
unsigned int static GetLen(unsigned char chHeader)
{
if (chHeader == 2 || chHeader == 3)
- return 33;
+ return COMPRESSED_PUBLIC_KEY_SIZE;
if (chHeader == 4 || chHeader == 6 || chHeader == 7)
- return 65;
+ return PUBLIC_KEY_SIZE;
return 0;
}
@@ -127,7 +130,7 @@ public:
void Unserialize(Stream& s)
{
unsigned int len = ::ReadCompactSize(s);
- if (len <= 65) {
+ if (len <= PUBLIC_KEY_SIZE) {
s.read((char*)vch, len);
} else {
// invalid pubkey, skip available data
@@ -166,7 +169,7 @@ public:
//! Check whether this is a compressed public key.
bool IsCompressed() const
{
- return size() == 33;
+ return size() == COMPRESSED_PUBLIC_KEY_SIZE;
}
/**