Enum Ciphersuite
#[repr(u16)]pub enum Ciphersuite {
MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519 = 1,
MLS_128_DHKEMP256_AES128GCM_SHA256_P256 = 2,
MLS_128_DHKEMX25519_CHACHA20POLY1305_SHA256_Ed25519 = 3,
MLS_256_DHKEMX448_AES256GCM_SHA512_Ed448 = 4,
MLS_256_DHKEMP521_AES256GCM_SHA512_P521 = 5,
MLS_256_DHKEMX448_CHACHA20POLY1305_SHA512_Ed448 = 6,
MLS_256_DHKEMP384_AES256GCM_SHA384_P384 = 7,
MLS_256_XWING_CHACHA20POLY1305_SHA256_Ed25519 = 77,
}Expand description
MLS ciphersuites.
Variants§
MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519 = 1
DH KEM x25519 | AES-GCM 128 | SHA2-256 | Ed25519
MLS_128_DHKEMP256_AES128GCM_SHA256_P256 = 2
DH KEM P256 | AES-GCM 128 | SHA2-256 | EcDSA P256
MLS_128_DHKEMX25519_CHACHA20POLY1305_SHA256_Ed25519 = 3
DH KEM x25519 | Chacha20Poly1305 | SHA2-256 | Ed25519
MLS_256_DHKEMX448_AES256GCM_SHA512_Ed448 = 4
DH KEM x448 | AES-GCM 256 | SHA2-512 | Ed448
MLS_256_DHKEMP521_AES256GCM_SHA512_P521 = 5
DH KEM P521 | AES-GCM 256 | SHA2-512 | EcDSA P521
MLS_256_DHKEMX448_CHACHA20POLY1305_SHA512_Ed448 = 6
DH KEM x448 | Chacha20Poly1305 | SHA2-512 | Ed448
MLS_256_DHKEMP384_AES256GCM_SHA384_P384 = 7
DH KEM P384 | AES-GCM 256 | SHA2-384 | EcDSA P384
MLS_256_XWING_CHACHA20POLY1305_SHA256_Ed25519 = 77
X-WING KEM draft-01 | Chacha20Poly1305 | SHA2-256 | Ed25519
Implementations§
§impl Ciphersuite
impl Ciphersuite
pub const fn hash_algorithm(&self) -> HashType
pub const fn hash_algorithm(&self) -> HashType
Get the HashType for this Ciphersuite
pub const fn signature_algorithm(&self) -> SignatureScheme
pub const fn signature_algorithm(&self) -> SignatureScheme
Get the SignatureScheme for this Ciphersuite.
pub const fn aead_algorithm(&self) -> AeadType
pub const fn aead_algorithm(&self) -> AeadType
Get the AeadType for this Ciphersuite.
pub const fn hpke_kdf_algorithm(&self) -> HpkeKdfType
pub const fn hpke_kdf_algorithm(&self) -> HpkeKdfType
Get the HpkeKdfType for this Ciphersuite.
pub const fn hpke_kem_algorithm(&self) -> HpkeKemType
pub const fn hpke_kem_algorithm(&self) -> HpkeKemType
Get the HpkeKemType for this Ciphersuite.
pub const fn hpke_aead_algorithm(&self) -> HpkeAeadType
pub const fn hpke_aead_algorithm(&self) -> HpkeAeadType
Get the HpkeAeadType for this Ciphersuite.
pub const fn hpke_config(&self) -> HpkeConfig
pub const fn hpke_config(&self) -> HpkeConfig
Get the HpkeConfig for this Ciphersuite.
pub const fn hash_length(&self) -> usize
pub const fn hash_length(&self) -> usize
Get the length of the used hash algorithm.
pub const fn mac_length(&self) -> usize
pub const fn mac_length(&self) -> usize
Get the length of the AEAD tag.
pub const fn aead_key_length(&self) -> usize
pub const fn aead_key_length(&self) -> usize
Returns the key size of the used AEAD.
pub const fn aead_nonce_length(&self) -> usize
pub const fn aead_nonce_length(&self) -> usize
Returns the length of the nonce of the AEAD.
Trait Implementations§
§impl Clone for Ciphersuite
impl Clone for Ciphersuite
§fn clone(&self) -> Ciphersuite
fn clone(&self) -> Ciphersuite
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for Ciphersuite
impl Debug for Ciphersuite
§impl<'de> Deserialize<'de> for Ciphersuite
impl<'de> Deserialize<'de> for Ciphersuite
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Ciphersuite, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Ciphersuite, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Deserialize for Ciphersuite
impl Deserialize for Ciphersuite
§fn tls_deserialize<R>(bytes: &mut R) -> Result<Ciphersuite, Error>where
R: Read,
fn tls_deserialize<R>(bytes: &mut R) -> Result<Ciphersuite, Error>where
R: Read,
bytes from the provided a std::io::Read
and returns the populated struct. Read more§impl DeserializeBytes for Ciphersuite
impl DeserializeBytes for Ciphersuite
§fn tls_deserialize_bytes(bytes: &[u8]) -> Result<(Ciphersuite, &[u8]), Error>
fn tls_deserialize_bytes(bytes: &[u8]) -> Result<(Ciphersuite, &[u8]), Error>
bytes from the provided a &[u8]
and returns the populated struct, as well as the remaining slice. Read more§impl Display for Ciphersuite
impl Display for Ciphersuite
§impl From<&Ciphersuite> for u16
impl From<&Ciphersuite> for u16
§fn from(s: &Ciphersuite) -> u16
fn from(s: &Ciphersuite) -> u16
§impl From<Ciphersuite> for AeadType
impl From<Ciphersuite> for AeadType
§fn from(ciphersuite_name: Ciphersuite) -> AeadType
fn from(ciphersuite_name: Ciphersuite) -> AeadType
§impl From<Ciphersuite> for HashType
impl From<Ciphersuite> for HashType
§fn from(ciphersuite_name: Ciphersuite) -> HashType
fn from(ciphersuite_name: Ciphersuite) -> HashType
§impl From<Ciphersuite> for HpkeAeadType
impl From<Ciphersuite> for HpkeAeadType
§fn from(ciphersuite_name: Ciphersuite) -> HpkeAeadType
fn from(ciphersuite_name: Ciphersuite) -> HpkeAeadType
§impl From<Ciphersuite> for HpkeKdfType
impl From<Ciphersuite> for HpkeKdfType
§fn from(ciphersuite_name: Ciphersuite) -> HpkeKdfType
fn from(ciphersuite_name: Ciphersuite) -> HpkeKdfType
§impl From<Ciphersuite> for HpkeKemType
impl From<Ciphersuite> for HpkeKemType
§fn from(ciphersuite_name: Ciphersuite) -> HpkeKemType
fn from(ciphersuite_name: Ciphersuite) -> HpkeKemType
§impl From<Ciphersuite> for SignatureScheme
impl From<Ciphersuite> for SignatureScheme
§fn from(ciphersuite_name: Ciphersuite) -> SignatureScheme
fn from(ciphersuite_name: Ciphersuite) -> SignatureScheme
§impl From<Ciphersuite> for VerifiableCiphersuite
impl From<Ciphersuite> for VerifiableCiphersuite
§fn from(value: Ciphersuite) -> VerifiableCiphersuite
fn from(value: Ciphersuite) -> VerifiableCiphersuite
§impl From<Ciphersuite> for u16
impl From<Ciphersuite> for u16
§fn from(s: Ciphersuite) -> u16
fn from(s: Ciphersuite) -> u16
§impl Hash for Ciphersuite
impl Hash for Ciphersuite
§impl Ord for Ciphersuite
impl Ord for Ciphersuite
§impl PartialEq for Ciphersuite
impl PartialEq for Ciphersuite
§impl PartialOrd for Ciphersuite
impl PartialOrd for Ciphersuite
§impl Serialize for &Ciphersuite
impl Serialize for &Ciphersuite
§impl Serialize for Ciphersuite
impl Serialize for Ciphersuite
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
§impl Serialize for Ciphersuite
impl Serialize for Ciphersuite
§impl Size for &Ciphersuite
impl Size for &Ciphersuite
fn tls_serialized_len(&self) -> usize
§impl Size for Ciphersuite
impl Size for Ciphersuite
fn tls_serialized_len(&self) -> usize
§impl TryFrom<VerifiableCiphersuite> for Ciphersuite
impl TryFrom<VerifiableCiphersuite> for Ciphersuite
§fn try_from(
value: VerifiableCiphersuite,
) -> Result<Ciphersuite, <Ciphersuite as TryFrom<VerifiableCiphersuite>>::Error>
fn try_from( value: VerifiableCiphersuite, ) -> Result<Ciphersuite, <Ciphersuite as TryFrom<VerifiableCiphersuite>>::Error>
§impl TryFrom<u16> for Ciphersuite
impl TryFrom<u16> for Ciphersuite
impl Copy for Ciphersuite
impl Eq for Ciphersuite
impl StructuralPartialEq for Ciphersuite
Auto Trait Implementations§
impl Freeze for Ciphersuite
impl RefUnwindSafe for Ciphersuite
impl Send for Ciphersuite
impl Sync for Ciphersuite
impl Unpin for Ciphersuite
impl UnwindSafe for Ciphersuite
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
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.