Wladimir J. van der Laan
376638afcf
Merge #14047 : Add HKDF_HMAC256_L32 and method to negate a private key
...
8794a4b3ae QA: add test for HKDF HMAC_SHA256 L32 (Jonas Schnelli)
551d489416 Add HKDF HMAC_SHA256 L=32 implementations (Jonas Schnelli)
3b64f852e4 QA: add test for CKey::Negate() (Jonas Schnelli)
463921bb64 CKey: add method to negate the key (Jonas Schnelli)
Pull request description:
This adds a limited implementation of `HKDF` (defined by rfc5869) that supports only HMAC-SHA256 and length output of 32 bytes (will be required for v2 transport protocol).
This PR also includes a method to negate a private key which is useful to enforce public keys starting with 0x02 (or 0x03) (a requirement for the v2 transport protocol). The new `CKey::Negate()` method is pretty much a wrapper around `secp256k1_ec_privkey_negate()`.
Including tests.
This is a subset of #14032 and a pre-requirement for the v2 transport protocol.
ACKs for commit 8794a4:
Tree-SHA512: 5341929dfa29f5da766ec3612784baec6a3ad69972f08b5a985a8aafdae4dae36f104a2b888d1f5d1f33561456bd111f960d7e32c2cc4fd18e48358468f26c1a
2019-05-16 19:24:52 +02:00
..
2019-05-13 14:46:01 -04:00
2019-03-05 11:19:32 +01:00
2019-05-02 15:30:58 -04:00
2019-05-16 19:24:52 +02:00
2019-05-03 15:02:54 -04:00
2019-05-16 11:18:27 -04:00
2019-01-26 12:45:48 -05:00
2019-04-09 17:53:08 -04:00
2019-05-03 15:02:54 -04:00
2019-04-25 14:15:43 -04:00
2019-05-13 14:46:01 -04:00
2019-05-16 19:05:24 +02:00
2019-05-09 18:54:43 +02:00
2017-09-29 16:02:39 +02:00
2019-01-23 16:28:27 +08:00
2019-05-16 19:24:52 +02:00
2018-09-07 08:21:14 -04:00
2019-05-07 00:17:33 +00:00
2019-05-16 18:20:14 +02:00
2019-01-25 14:16:07 -05:00
2018-04-13 15:37:20 -04:00
2019-01-16 13:54:18 -05:00
2019-01-16 13:54:18 -05:00
2019-03-01 16:15:50 -05:00
2019-02-27 16:53:44 -05:00
2018-12-29 10:15:01 +01:00
2018-11-04 22:46:07 -08:00
2018-12-04 19:55:04 +02:00
2018-11-05 17:03:11 +01:00
2019-01-22 21:10:48 +00:00
2019-01-22 21:10:48 +00:00
2018-11-04 22:46:07 -08:00
2018-11-05 17:03:11 +01:00
2018-08-27 18:19:33 +02:00
2018-03-22 16:23:04 +01:00
2019-03-11 10:28:42 -04:00
2019-04-29 10:15:23 -04:00
2019-01-30 16:26:52 -05:00
2019-02-06 14:16:43 -05:00
2019-04-29 13:42:25 -04:00
2019-05-02 15:14:12 -04:00
2018-11-13 12:41:41 -08:00
2019-04-06 12:10:55 -07:00
2019-04-06 12:10:55 -07:00
2018-08-25 17:41:00 +02:00
2018-08-13 01:24:55 +02:00
2019-03-27 18:29:48 -04:00
2019-03-27 18:29:48 -04:00
2019-02-17 03:38:08 +00:00
2018-10-07 13:11:36 +01:00
2018-11-04 22:46:07 -08:00
2018-07-27 07:15:02 -04:00
2018-08-13 13:57:15 +02:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2018-11-05 09:25:15 -08:00
2019-04-26 13:09:30 -04:00
2019-01-23 16:28:27 +08:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-03-26 17:38:00 -07:00
2018-07-27 07:15:02 -04:00
2019-03-26 17:38:00 -07:00
2018-11-04 22:46:07 -08:00
2018-08-27 18:19:33 +02:00
2019-04-30 10:05:54 +03:00
2018-11-04 22:46:07 -08:00
2019-04-28 04:42:38 +00:00
2019-02-22 17:38:45 -08:00
2019-02-22 17:38:45 -08:00
2019-04-10 12:16:52 +01:00
2019-04-30 10:05:54 +03:00
2018-11-05 09:25:15 -08:00
2018-11-30 18:48:58 +01:00
2018-11-04 22:46:07 -08:00
2018-08-11 09:34:47 +03:00
2019-04-29 13:42:25 -04:00
2019-04-09 17:53:08 -04:00
2019-05-16 19:05:24 +02:00
2018-11-06 11:44:40 -04:00
2019-04-29 10:15:23 -04:00
2018-07-27 07:15:02 -04:00
2019-03-27 13:59:50 +01:00
2019-03-27 13:59:50 +01:00
2019-04-29 10:15:23 -04:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-04-29 13:49:15 -04:00
2019-04-29 13:49:15 -04:00
2019-05-16 19:24:52 +02:00
2019-05-10 09:26:23 +02:00
2019-01-26 09:28:48 +08:00
2019-05-02 12:18:18 +00:00
2019-04-11 10:12:36 -04:00
2019-04-29 13:43:01 -04:00
2018-07-27 07:15:02 -04:00
2019-01-10 01:58:33 +01:00
2018-07-27 07:15:02 -04:00
2019-05-03 15:02:54 -04:00
2019-02-12 11:34:57 -05:00
2019-05-09 09:10:53 -04:00
2019-01-16 13:54:18 -05:00
2019-05-09 09:10:53 -04:00
2019-05-09 09:10:53 -04:00
2019-04-10 11:48:47 -04:00
2019-04-10 11:48:47 -04:00
2019-01-24 15:58:49 -08:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2018-11-04 22:46:07 -08:00
2018-12-29 10:15:01 +01:00
2019-01-30 22:44:28 +02:00
2019-04-29 10:15:23 -04:00
2018-11-05 17:03:11 +01:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-05-06 15:32:24 -04:00
2018-11-04 22:46:07 -08:00
2019-01-05 16:16:37 +01:00
2019-05-02 15:08:22 +02:00
2019-04-09 17:53:08 -04:00
2018-07-27 07:15:02 -04:00
2018-07-27 07:15:02 -04:00
2019-05-03 20:31:18 +02:00
2019-05-03 20:31:18 +02:00
2019-05-03 15:02:54 -04:00
2018-07-24 20:46:23 +01:00
2019-01-16 16:34:56 -08:00
2019-02-10 17:17:32 -05:00
2019-04-06 12:03:21 -07:00
2018-06-25 00:08:49 -04:00
2018-06-25 00:08:49 -04:00
2018-07-27 11:52:18 -07:00
2019-01-25 12:32:37 -08:00
2019-04-29 13:51:59 -04:00
2019-04-20 08:13:34 -04:00
2018-08-31 16:00:38 +02:00
2018-12-29 10:15:01 +01:00
2018-11-06 11:44:40 -04:00
2018-11-04 22:46:07 -08:00
2018-07-27 07:15:02 -04:00
2018-03-21 08:34:44 +02:00
2019-01-13 22:50:36 -08:00
2018-07-27 07:15:02 -04:00
2018-11-04 22:46:07 -08:00
2019-04-06 12:10:55 -07:00
2019-05-01 10:06:15 -04:00
2019-05-03 15:02:54 -04:00
2019-04-23 13:03:41 -04:00
2019-04-23 13:03:41 -04:00
2019-01-10 02:51:14 +01:00
2018-09-18 14:27:05 +09:00
2018-11-05 09:25:15 -08:00
2019-05-13 14:46:01 -04:00
2019-05-13 14:46:01 -04:00
2019-04-09 10:38:13 -04:00
2019-04-10 11:44:40 -04:00
2018-07-27 07:15:02 -04:00
2018-09-23 22:55:11 +02:00
2018-09-23 22:55:11 +02:00
2018-09-23 22:55:11 +02:00
2018-09-23 22:55:11 +02:00
2018-11-06 11:44:40 -04:00
2018-11-04 22:46:07 -08:00
2018-08-08 13:55:27 +02:00