#[repr(u8)]pub enum CryptoSuite {
PqHybrid = 1,
Classical = 2,
}Expand description
Cryptographic suite identifier carried in the ZCP envelope header.
This tells the receiver how to interpret the encrypted payload and MAC.
The actual crypto operations are performed by the consuming
implementation, not by clonic.
Variants§
PqHybrid = 1
Post-quantum hybrid: ML-KEM-768 + X25519 key exchange, ML-DSA-65 + Ed25519 signatures, AES-256-GCM symmetric.
Used on Linux devices with >= 1 GB RAM. Provides defense against both classical and quantum-era attacks.
Classical = 2
Classical-only: X25519 key exchange, Ed25519 signatures, AES-256-GCM symmetric.
Used on constrained devices (ESP32, STM32, nRF52). ML-KEM/ML-DSA are too expensive for sub-MHz microcontrollers.
Implementations§
Source§impl CryptoSuite
impl CryptoSuite
Trait Implementations§
Source§impl Clone for CryptoSuite
impl Clone for CryptoSuite
Source§fn clone(&self) -> CryptoSuite
fn clone(&self) -> CryptoSuite
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 CryptoSuite
impl Debug for CryptoSuite
Source§impl<'de> Deserialize<'de> for CryptoSuite
impl<'de> Deserialize<'de> for CryptoSuite
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
Source§impl Hash for CryptoSuite
impl Hash for CryptoSuite
Source§impl PartialEq for CryptoSuite
impl PartialEq for CryptoSuite
Source§impl Serialize for CryptoSuite
impl Serialize for CryptoSuite
impl Copy for CryptoSuite
impl Eq for CryptoSuite
impl StructuralPartialEq for CryptoSuite
Auto Trait Implementations§
impl Freeze for CryptoSuite
impl RefUnwindSafe for CryptoSuite
impl Send for CryptoSuite
impl Sync for CryptoSuite
impl Unpin for CryptoSuite
impl UnsafeUnpin for CryptoSuite
impl UnwindSafe for CryptoSuite
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