Struct Keys

Source
pub struct Keys {
    pub sk: SecretKey,
    pub pk: PublicKey,
}
Expand description

A c25519 keypair, to sign or verify messages.

There’s no particular advantage to using this instead of SecretKey and PublicKey seperately, but it may be convenient to keep track of them as a single unit.

Fields§

§sk: SecretKey

The secret key.

§pk: PublicKey

The public key.

Implementations§

Source§

impl Keys

Source

pub fn verify_domain( &self, domain: Domain, sig: &Signature, msg: &[u8], ) -> Result<(), Error>

Verify a message in a particular domain.

Source

pub fn sign_domain(&self, domain: Domain, msg: &[u8]) -> Signature

Sign a message for a particular domain, with a derived nonce.

Source

pub fn sign(&self, msg: &[u8]) -> Signature

Sign a message for the default domain.

Source

pub fn verify(&self, sig: &Signature, msg: &[u8]) -> Result<(), Error>

Verify a message in the default domain.

Source

pub fn sign_nonce( &self, domain: Domain, nonce: &[u8; 32], msg: &[u8], ) -> Signature

Sign a message for a particular domain, with the supplied secret nonce.

If you really want randomized signatures, this is the function to use. Make sure you have a really solid random number generator making these nonces!

Trait Implementations§

Source§

impl Clone for Keys

Source§

fn clone(&self) -> Keys

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Keys

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Keys

§

impl RefUnwindSafe for Keys

§

impl Send for Keys

§

impl Sync for Keys

§

impl Unpin for Keys

§

impl UnwindSafe for Keys

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.