Skip to main content

Crate ic_pub_key

Crate ic_pub_key 

Source
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§

CanisterMasterKey
The canister’s master public key of a threshold signature system
DerivedPublicKey
A public key ultimately derived from a master key
EcdsaKeyId
ECDSA Key ID.
EcdsaPublicKeyArgs
ECDSA Public Key Args.
EcdsaPublicKeyResult
ECDSA Public Key Result.
MasterPublicKey
The master public key of a threshold signature system
SchnorrKeyId
Schnorr Key ID.
SchnorrPublicKeyArgs
Schnorr Public Key Args.
SchnorrPublicKeyResult
Schnorr Public Key Result.
VetKDKeyId
VetKDPublicKeyArgs
VetKD public key request.
VetKDPublicKeyResult
VetKD public key reply.

Enums§

EcdsaCurve
ECDSA Curve.
Error
Error that can occur during public key derivation
SchnorrAlgorithm
Schnorr Algorithm.
VetKDCurve
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§

CanisterId
Canister ID.