Skip to content

Commit 4b8ded0

Browse files
authored
Merge pull request #18 from SmartArray/tests/key_tests
test: correct key_tests
2 parents 5e5122a + f0656a6 commit 4b8ded0

File tree

2 files changed

+59
-16
lines changed

2 files changed

+59
-16
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
## Test Vectors
2+
Private key and address test vectors for test `key_tests` were crafted by hand.
3+
The following document illustrates how they have been chosen.
4+
5+
### compressed private key
6+
```
7+
80111111111111111111111111111111111111111111111111111111111111111101
8+
969b59a7 d30dd0eb7b64944926f4006e84a74a4bdd1f49c30f651082425c0747
9+
80111111111111111111111111111111111111111111111111111111111111111101969b59a7
10+
KwntMbt59tTsj8xqpqYqRRWufyjGunvhSyeMo3NTYpFYzZbXJ5Hp
11+
DU9umLs2Ze8eNRo69wbSj5HeufphJawFPh
12+
```
13+
14+
### uncompressed private key
15+
```
16+
801111111111111111111111111111111111111111111111111111111111111111
17+
e5ce7258 ab95e95003a854ccfca9f027108d9b9b35bc113a9095aeef3e1bc836
18+
801111111111111111111111111111111111111111111111111111111111111111e5ce7258
19+
5HwoXVkHoRM8sL2KmNRS217n1g8mPPBomrY7yehCuXC1115WWsh
20+
DS1P3gwq6MFtatWprr2e2J32xGPd89n75C
21+
```
22+
23+
// 2
24+
### compressed private key
25+
```
26+
80222222222222222222222222222222222222222222222222222222222222222201
27+
c2d1512d d4570cc56481d9bf6dbe147ed964a486b7b229f426b1320f77070c52
28+
80222222222222222222222222222222222222222222222222222222222222222201c2d1512d
29+
KxN4XYdzu6f9j3EMryaMwZvUVLk3y29M4QZ2xwPoFP2zwka1aWxU
30+
DCiLe5VAcdLpGXURTDsaoryMWdMVBP9NoN
31+
```
32+
33+
### uncompressed private key
34+
```
35+
802222222222222222222222222222222222222222222222222222222222222222
36+
d15081bf 4cb85f0f73cd32c4b21dace0e3ed3ffce7020023fe448d97b20b278d
37+
802222222222222222222222222222222222222222222222222222222222222222d15081bf
38+
5J5KUK3VXP8HUefNVYPxwxVRokScZdWXpu1Tj8LfaAXMqHzMmbk
39+
DMQ3t1L7BmTwL5wpZ9mek1KUaCRLJSXJWV
40+
```
41+
42+
43+
44+
45+

src/test/key_tests.cpp

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,17 @@
1616
#include <vector>
1717

1818
#include <boost/test/unit_test.hpp>
19-
20-
static const std::string strSecret1 = "5HxWvvfubhXpYYpS3tJkw6fq9jE9j18THftkZjHHfmFiWtmAbrj";
21-
static const std::string strSecret2 = "5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3";
22-
static const std::string strSecret1C = "Kwr371tjA9u2rFSMZjTNun2PXXP3WPZu2afRHTcta6KxEUdm1vEw";
23-
static const std::string strSecret2C = "L3Hq7a8FEQwJkW1M2GNKDW28546Vp5miewcCzSqUD9kCAXrJdS3g";
24-
static const std::string addr1 = "1QFqqMUD55ZV3PJEJZtaKCsQmjLT6JkjvJ";
25-
static const std::string addr2 = "1F5y5E5FMc5YzdJtB9hLaUe43GDxEKXENJ";
26-
static const std::string addr1C = "1NoJrossxPBKfCHuJXT4HadJrXRE9Fxiqs";
27-
static const std::string addr2C = "1CRj2HyM1CXWzHAXLQtiGLyggNT9WQqsDs";
19+
static const std::string strSecret1 = "5HwoXVkHoRM8sL2KmNRS217n1g8mPPBomrY7yehCuXC1115WWsh";
20+
static const std::string strSecret2 = "5J5KUK3VXP8HUefNVYPxwxVRokScZdWXpu1Tj8LfaAXMqHzMmbk";
21+
static const std::string strSecret1C = "KwntMbt59tTsj8xqpqYqRRWufyjGunvhSyeMo3NTYpFYzZbXJ5Hp";
22+
static const std::string strSecret2C = "KxN4XYdzu6f9j3EMryaMwZvUVLk3y29M4QZ2xwPoFP2zwka1aWxU";
23+
static const std::string addr1 = "DS1P3gwq6MFtatWprr2e2J32xGPd89n75C";
24+
static const std::string addr2 = "DMQ3t1L7BmTwL5wpZ9mek1KUaCRLJSXJWV";
25+
static const std::string addr1C = "DU9umLs2Ze8eNRo69wbSj5HeufphJawFPh";
26+
static const std::string addr2C = "DCiLe5VAcdLpGXURTDsaoryMWdMVBP9NoN";
2827

2928
static const std::string strAddressBad = "1HV9Lc3sNHZxwj4Zk6fB38tEmBryq2cBiF";
3029

31-
3230
BOOST_FIXTURE_TEST_SUITE(key_tests, BasicTestingSetup)
3331

3432
BOOST_AUTO_TEST_CASE(key_test1)
@@ -138,19 +136,19 @@ BOOST_AUTO_TEST_CASE(key_test1)
138136
BOOST_CHECK(key1.Sign(hashMsg, detsig));
139137
BOOST_CHECK(key1C.Sign(hashMsg, detsigc));
140138
BOOST_CHECK(detsig == detsigc);
141-
BOOST_CHECK(detsig == ParseHex("304402205dbbddda71772d95ce91cd2d14b592cfbc1dd0aabd6a394b6c2d377bbe59d31d022014ddda21494a4e221f0824f0b8b924c43fa43c0ad57dccdaa11f81a6bd4582f6"));
139+
BOOST_CHECK(detsig == ParseHex("3044022064b7d73eee352ebd0a9eea03b56141bb80ac71885506ca38cae731000a704b50022047ff0729ca4e6ffd41b7b4928cfa05ab1148dc4ecb7030bec53f7009a86d6ad2"));
142140
BOOST_CHECK(key2.Sign(hashMsg, detsig));
143141
BOOST_CHECK(key2C.Sign(hashMsg, detsigc));
144142
BOOST_CHECK(detsig == detsigc);
145-
BOOST_CHECK(detsig == ParseHex("3044022052d8a32079c11e79db95af63bb9600c5b04f21a9ca33dc129c2bfa8ac9dc1cd5022061d8ae5e0f6c1a16bde3719c64c2fd70e404b6428ab9a69566962e8771b5944d"));
143+
BOOST_CHECK(detsig == ParseHex("30440220056e087458d463ac8197b2036c4cf2fd88f6f19318d313c47d299682b5e9b55e022063e9cb599949c38a1762c18c5440e382779d63df12702ab93efebd510f28f3fc"));
146144
BOOST_CHECK(key1.SignCompact(hashMsg, detsig));
147145
BOOST_CHECK(key1C.SignCompact(hashMsg, detsigc));
148-
BOOST_CHECK(detsig == ParseHex("1c5dbbddda71772d95ce91cd2d14b592cfbc1dd0aabd6a394b6c2d377bbe59d31d14ddda21494a4e221f0824f0b8b924c43fa43c0ad57dccdaa11f81a6bd4582f6"));
149-
BOOST_CHECK(detsigc == ParseHex("205dbbddda71772d95ce91cd2d14b592cfbc1dd0aabd6a394b6c2d377bbe59d31d14ddda21494a4e221f0824f0b8b924c43fa43c0ad57dccdaa11f81a6bd4582f6"));
146+
BOOST_CHECK(detsig == ParseHex("1c64b7d73eee352ebd0a9eea03b56141bb80ac71885506ca38cae731000a704b5047ff0729ca4e6ffd41b7b4928cfa05ab1148dc4ecb7030bec53f7009a86d6ad2"));
147+
BOOST_CHECK(detsigc == ParseHex("2064b7d73eee352ebd0a9eea03b56141bb80ac71885506ca38cae731000a704b5047ff0729ca4e6ffd41b7b4928cfa05ab1148dc4ecb7030bec53f7009a86d6ad2"));
150148
BOOST_CHECK(key2.SignCompact(hashMsg, detsig));
151149
BOOST_CHECK(key2C.SignCompact(hashMsg, detsigc));
152-
BOOST_CHECK(detsig == ParseHex("1c52d8a32079c11e79db95af63bb9600c5b04f21a9ca33dc129c2bfa8ac9dc1cd561d8ae5e0f6c1a16bde3719c64c2fd70e404b6428ab9a69566962e8771b5944d"));
153-
BOOST_CHECK(detsigc == ParseHex("2052d8a32079c11e79db95af63bb9600c5b04f21a9ca33dc129c2bfa8ac9dc1cd561d8ae5e0f6c1a16bde3719c64c2fd70e404b6428ab9a69566962e8771b5944d"));
150+
BOOST_CHECK(detsig == ParseHex("1b056e087458d463ac8197b2036c4cf2fd88f6f19318d313c47d299682b5e9b55e63e9cb599949c38a1762c18c5440e382779d63df12702ab93efebd510f28f3fc"));
151+
BOOST_CHECK(detsigc == ParseHex("1f056e087458d463ac8197b2036c4cf2fd88f6f19318d313c47d299682b5e9b55e63e9cb599949c38a1762c18c5440e382779d63df12702ab93efebd510f28f3fc"));
154152
}
155153

156154
BOOST_AUTO_TEST_CASE(key_signature_tests)

0 commit comments

Comments
 (0)