#[repr(i32)]pub enum Algorithm {
ALGORITHM_UNSPECIFIED = 0,
ALGORITHM_ED25519 = 1,
ALGORITHM_SECP256K1 = 2,
ALGORITHM_P256 = 3,
ALGORITHM_ED25519_WEBAUTHN = 4,
ALGORITHM_BLS12381_THRESHOLD = 5,
}Expand description
Algorithms — every signature algorithm mkit speaks. Wire numbers are load-bearing. Do NOT renumber. New algorithms append.
Variants§
ALGORITHM_UNSPECIFIED = 0
ALGORITHM_ED25519 = 1
Ed25519 over raw signing payload. The default for mkit commit/ref signing.
ALGORITHM_SECP256K1 = 2
ECDSA over secp256k1 with SHA-256 (Bitcoin-flavoured curve, NOT secp256r1). DSSE compatible.
ALGORITHM_P256 = 3
ECDSA over P-256 with SHA-256 (NIST-flavoured curve, also called secp256r1 / prime256v1). DSSE compatible.
ALGORITHM_ED25519_WEBAUTHN = 4
Ed25519, but the signing input is wrapped in a WebAuthn ClientDataJSON + authenticatorData per CTAP2. Used by the FIDO2/WebAuthn signer.
ALGORITHM_BLS12381_THRESHOLD = 5
BLS12-381 threshold signature. The wire signature is the
aggregated form recovered from M-of-N partial signatures
(variant MinSig — public key in G1, signature in G2, 96 bytes
compressed). The DSSE keyid carries the aggregated group
public key, NOT a per-share public key — every signer in the
M-of-N cohort emits a partial signature that combines into a
single signature verifiable against one keyid.
Defined in docs/specs/SPEC-RELEASE-THRESHOLD.md. Used by the “release party” flow where N maintainers co-sign a release without each maintainer’s signature appearing on the wire.
Implementations§
Source§impl Algorithm
impl Algorithm
Sourcepub const Unspecified: Self = Self::ALGORITHM_UNSPECIFIED
pub const Unspecified: Self = Self::ALGORITHM_UNSPECIFIED
Idiomatic alias for Self::ALGORITHM_UNSPECIFIED; Debug prints the variant name.
Sourcepub const Ed25519: Self = Self::ALGORITHM_ED25519
pub const Ed25519: Self = Self::ALGORITHM_ED25519
Idiomatic alias for Self::ALGORITHM_ED25519; Debug prints the variant name.
Sourcepub const Secp256k1: Self = Self::ALGORITHM_SECP256K1
pub const Secp256k1: Self = Self::ALGORITHM_SECP256K1
Idiomatic alias for Self::ALGORITHM_SECP256K1; Debug prints the variant name.
Sourcepub const P256: Self = Self::ALGORITHM_P256
pub const P256: Self = Self::ALGORITHM_P256
Idiomatic alias for Self::ALGORITHM_P256; Debug prints the variant name.
Sourcepub const Ed25519Webauthn: Self = Self::ALGORITHM_ED25519_WEBAUTHN
pub const Ed25519Webauthn: Self = Self::ALGORITHM_ED25519_WEBAUTHN
Idiomatic alias for Self::ALGORITHM_ED25519_WEBAUTHN; Debug prints the variant name.
Sourcepub const Bls12381Threshold: Self = Self::ALGORITHM_BLS12381_THRESHOLD
pub const Bls12381Threshold: Self = Self::ALGORITHM_BLS12381_THRESHOLD
Idiomatic alias for Self::ALGORITHM_BLS12381_THRESHOLD; Debug prints the variant name.
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for Algorithm
Available on crate feature arbitrary only.
impl<'arbitrary> Arbitrary<'arbitrary> for Algorithm
arbitrary only.Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured this type
needs to construct itself. Read moreimpl Copy for Algorithm
Source§impl Enumeration for Algorithm
impl Enumeration for Algorithm
Source§fn proto_name(&self) -> &'static str
fn proto_name(&self) -> &'static str
.proto file.