pub struct QuantumKeypair {
pub algorithm: QuantumAlgorithm,
pub public_key: Vec<u8>,
pub created_at: SystemTime,
pub expires_at: Option<SystemTime>,
/* private fields */
}Expand description
Quantum-safe keypair for signing authorization tuples
Fields§
§algorithm: QuantumAlgorithmAlgorithm used for this keypair
public_key: Vec<u8>Public key (shareable)
created_at: SystemTimeKey creation timestamp
expires_at: Option<SystemTime>Key expiration (recommended: 90 days)
Implementations§
Source§impl QuantumKeypair
impl QuantumKeypair
Sourcepub fn generate() -> Result<Self>
pub fn generate() -> Result<Self>
Generate a new quantum-safe keypair
§Security
Uses system entropy for key generation. In production, ensure:
- Sufficient entropy pool (
/dev/urandomon Linux) - Hardware RNG if available (RDRAND on modern CPUs)
Sourcepub fn generate_with_algorithm(algorithm: QuantumAlgorithm) -> Result<Self>
pub fn generate_with_algorithm(algorithm: QuantumAlgorithm) -> Result<Self>
Generate keypair with specific algorithm
Sourcepub fn sign(&self, data: &[u8]) -> Result<QuantumSignature>
pub fn sign(&self, data: &[u8]) -> Result<QuantumSignature>
Sourcepub fn needs_rotation(&self) -> bool
pub fn needs_rotation(&self) -> bool
Check if key needs rotation
Trait Implementations§
Source§impl Clone for QuantumKeypair
impl Clone for QuantumKeypair
Source§fn clone(&self) -> QuantumKeypair
fn clone(&self) -> QuantumKeypair
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 QuantumKeypair
impl Debug for QuantumKeypair
Source§impl<'de> Deserialize<'de> for QuantumKeypair
impl<'de> Deserialize<'de> for QuantumKeypair
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 QuantumKeypair
impl RefUnwindSafe for QuantumKeypair
impl Send for QuantumKeypair
impl Sync for QuantumKeypair
impl Unpin for QuantumKeypair
impl UnwindSafe for QuantumKeypair
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