@@ -13,6 +13,8 @@ This crate implements:
13
13
* 3+1 rounds threshold and non-threshold signing
14
14
* Auxiliary info generation protocol
15
15
* Key refresh for non-threshold keys
16
+ * HD-wallets support based on [ slip10] standard (compatible with [ bip32] ) \
17
+ Requires ` hd-wallets ` feature
16
18
17
19
We also provide auxiliary tools like:
18
20
* Secret key reconstruction (exporting key from TSS)
@@ -142,6 +144,19 @@ Alternatively, you can generate presignature and use it to sign data:
142
144
** Never reuse presignatures!** If you use the same presignature to sign two different messages,
143
145
it leaks private key to anyone who can observe the signatures.
144
146
147
+ ## HD wallets support
148
+ Library supports non-hardened deterministic key derivation based on [ slip10] standard (compatible
149
+ with [ bip32] ). It allows signers to generate a master key once, and then use it to instantaneously
150
+ derive as many child keys as needed. Child key derivation takes place within signing protocol
151
+ practically at no cost.
152
+
153
+ In order to use HD wallets, ` hd-wallets ` feature must be enabled. Then, a master key needs to be
154
+ generated by running a regular key generation protocol with ` hd_wallet ` (keygen::GenericKeygenBuilder::hd_wallet)
155
+ set to ` true ` .
156
+
157
+ When master key is generated, you can issue a signature for child key by setting
158
+ derivation path in the signing.
159
+
145
160
## SPOF code: Key Import and Export
146
161
CGGMP21 protocol is designed to avoid Single Point of Failure by guaranteeing that attacker would
147
162
need to compromise threshold amount of nodes to obtain a secret key. However, some use-cases may
@@ -165,6 +180,8 @@ they are all documented in [the spec].
165
180
[ CGGMP21 ] : https://ia.cr/2021/060
166
181
[ the spec ] : https://dfns.github.io/cggmp21/cggmp21-spec.pdf
167
182
[ security guidelines ] : #security-guidelines
183
+ [ slip10 ] : https://github.com/satoshilabs/slips/blob/master/slip-0010.md
184
+ [ bip32 ] : https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
168
185
169
186
## Timing attacks
170
187
Timing attacks are type of side-channel attacks that leak sensitive information through duration of
0 commit comments