Skip to main content

IdentityIsland

Struct IdentityIsland 

Source
pub struct IdentityIsland { /* private fields */ }
Expand description

ML-DSA-65 identity deterministically derived from a master seed via HKDF-SHA3-512.

For hardware-backed or enclave-resident keys, implement IdentitySigner directly.

Implementations§

Source§

impl IdentityIsland

Source

pub fn derive( master: &[u8; 32], deployment: &[u8], context: &[u8], ) -> Result<Self, KernelError>

Derives a key pair from master (secret), deployment, and context.

HKDF info = deployment || ':' || context. Different deployments or contexts yield independent key material from the same master seed.

Returns HkdfExpandFailed if the combined info string exceeds 512 bytes.

Trait Implementations§

Source§

impl IdentitySigner for IdentityIsland

Source§

fn public_key(&self) -> PublicKey<'_>

Returns the public key corresponding to this signer’s signing key.
Source§

fn sign_into( &self, payload: &[u8], out: &mut [u8; 3309], ) -> Result<(), KernelError>

Signs payload and writes the SIG_SIZE-byte signature into out. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.