pub struct SignedRelationTuple {
pub tuple: RelationTuple,
pub signature: QuantumSignature,
pub key_fingerprint: Vec<u8>,
}Expand description
Quantum-safe tuple wrapper with signature
Provides tamper-proof authorization tuples using post-quantum signatures
Fields§
§tuple: RelationTupleThe relation tuple
signature: QuantumSignatureQuantum-safe signature over the tuple
key_fingerprint: Vec<u8>Public key fingerprint (first 32 bytes of hash)
Implementations§
Source§impl SignedRelationTuple
impl SignedRelationTuple
Sourcepub fn sign(tuple: RelationTuple, keypair: &QuantumKeypair) -> Result<Self>
pub fn sign(tuple: RelationTuple, keypair: &QuantumKeypair) -> Result<Self>
Create a signed relation tuple
Sourcepub fn verify(&self, keypair: &QuantumKeypair) -> Result<bool>
pub fn verify(&self, keypair: &QuantumKeypair) -> Result<bool>
Verify the signature on this tuple
Trait Implementations§
Source§impl Clone for SignedRelationTuple
impl Clone for SignedRelationTuple
Source§fn clone(&self) -> SignedRelationTuple
fn clone(&self) -> SignedRelationTuple
Returns a duplicate of the value. Read more
1.0.0 · 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 SignedRelationTuple
impl Debug for SignedRelationTuple
Source§impl<'de> Deserialize<'de> for SignedRelationTuple
impl<'de> Deserialize<'de> for SignedRelationTuple
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SignedRelationTuple
impl RefUnwindSafe for SignedRelationTuple
impl Send for SignedRelationTuple
impl Sync for SignedRelationTuple
impl Unpin for SignedRelationTuple
impl UnwindSafe for SignedRelationTuple
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more