Deterministic Derivation
POST /keys/{keyId}/derive
Dfns decentralized key management network supports threshold Diffie-Hellman protocol based on GLOW20 paper. You can use the DH protocol to derive output from a domain separation tag and a seed value. The derivation process is deterministic, i.e. the same Diffie-Hellman key and seed will lead to the same derived output. To ensure reproducibility, we use hash to curve RFC9380 and standard ciphersuite secp256k1_XMD:SHA-256_SSWU_RO_.
The seed doesn’t need to be secret. Without access to the DH key, it is not possible to do the derivation, even if the seed is known. Moreover, if both seed and derived output are known, it’s also not possible to do the derivation for another seed without having access to the DH key.
This endpoint only supports Diffie-Hellman keys. Regular threshold signature keys, like ECDSA or EdDSA, will not work. You can create a Diffie-Hellman key with the Create Key endpoint using scheme=DH and curve=secp256k1.
User action signature required. See User Action Signing for more information.
Request headers required. See Request Headers for more information.
Authentication required. See Authentication Headers for more information.
Required Permissions
Keys:Derive
Always Required
Parameters
Path parameters
keyId
Unique identifier of the key.
Request Body
domain
Domain separation tag in hex-encoded format. Used to ensure the same seed will generate different outputs for different applications. For example, a DST can be {company}:{application}:{version}.
String
seed
Seed value in hex-encoded format.
String
Example
Response Body
output
Derivation output in hex-encoded format.
String
200 Success
Last updated