Expand description
A crate for performing derivation of threshold public keys
The Internet Computer platform offers a threshold signing interface supporting ECDSA, Ed25519, BIP340-Schnorr, and BLS. The signing interface allows signing under many different keys which are derived from a master key using a derivation algorithm.
The management canister interface allows for online derivation of public keys: a canister running on the IC can invoke the call to determine what public key will be used for any particular context argument.
This crate mirrors that functionality in an offline way: it can be called either by canisters that do not wish to call the management canister interface, or by applications not running on that IC at all.
As an extension of the management canister interface, this crate also allows deriving keys relative to the hardcoded test master keys used by PocketIC.
Structs§
- Canister
Master Key - The canister’s master public key of a threshold signature system
- Derived
Public Key - A public key ultimately derived from a master key
- Ecdsa
KeyId - ECDSA Key ID.
- Ecdsa
Public KeyArgs - ECDSA Public Key Args.
- Ecdsa
Public KeyResult - ECDSA Public Key Result.
- Master
Public Key - The master public key of a threshold signature system
- Schnorr
KeyId - Schnorr Key ID.
- Schnorr
Public KeyArgs - Schnorr Public Key Args.
- Schnorr
Public KeyResult - Schnorr Public Key Result.
- VetKD
KeyId - VetKD
Public KeyArgs - VetKD public key request.
- VetKD
Public KeyResult - VetKD public key reply.
Enums§
- Ecdsa
Curve - ECDSA Curve.
- Error
- Error that can occur during public key derivation
- Schnorr
Algorithm - Schnorr Algorithm.
- VetKD
Curve - The curve used for key derivation.
Functions§
- derive_
ecdsa_ key - Derive an ECDSA public key
- derive_
schnorr_ key - Derive a Schnorr public key
- derive_
vetkd_ key - Derive a VetKD public key
Type Aliases§
- Canister
Id - Canister ID.