pub struct QuantumSignatureVerifyingKey { /* private fields */ }Expand description
Public-key-only half of a QuantumSignature.
A legitimate verifier only ever needs – and only ever has – the public
key, never the private key. Splitting this out as its own type (rather
than verifying via a QuantumSignature that also stores the private key)
makes that structurally explicit.
Implementations§
Source§impl QuantumSignatureVerifyingKey
impl QuantumSignatureVerifyingKey
Sourcepub fn verify(&self, message: &[u8], signature: &[u8]) -> Result<bool>
pub fn verify(&self, message: &[u8], signature: &[u8]) -> Result<bool>
Verifies signature against message using only this public key.
Sourcepub fn to_bytes(&self) -> Vec<u8> ⓘ
pub fn to_bytes(&self) -> Vec<u8> ⓘ
Serializes this verifying key to bytes (a big-endian bit-count prefix
followed by each 32-byte public-key entry), suitable for embedding in,
e.g., a blockchain transaction’s sender field.
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self>
pub fn from_bytes(bytes: &[u8]) -> Result<Self>
Deserializes a verifying key previously produced by Self::to_bytes.
Trait Implementations§
Source§impl Clone for QuantumSignatureVerifyingKey
impl Clone for QuantumSignatureVerifyingKey
Source§fn clone(&self) -> QuantumSignatureVerifyingKey
fn clone(&self) -> QuantumSignatureVerifyingKey
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for QuantumSignatureVerifyingKey
impl Debug for QuantumSignatureVerifyingKey
impl StructuralPartialEq for QuantumSignatureVerifyingKey
Auto Trait Implementations§
impl Freeze for QuantumSignatureVerifyingKey
impl RefUnwindSafe for QuantumSignatureVerifyingKey
impl Send for QuantumSignatureVerifyingKey
impl Sync for QuantumSignatureVerifyingKey
impl Unpin for QuantumSignatureVerifyingKey
impl UnsafeUnpin for QuantumSignatureVerifyingKey
impl UnwindSafe for QuantumSignatureVerifyingKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.