pub struct Ke2Message<G: Group, H: Hash>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,{ /* private fields */ }Expand description
The second key exchange message
Trait Implementations§
Source§impl<G: Group, H: Hash> Clone for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
impl<G: Group, H: Hash> Clone for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
Source§impl<G: Group, H: Hash> Debug for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Debug,
impl<G: Group, H: Hash> Debug for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Debug,
Source§impl<G: Group, H: Hash> Deserialize for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
impl<G: Group, H: Hash> Deserialize for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
Source§fn deserialize_take(input: &mut &[u8]) -> Result<Self, ProtocolError>
fn deserialize_take(input: &mut &[u8]) -> Result<Self, ProtocolError>
Source§impl<'de, G: Group, H: Hash> Deserialize<'de> for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Deserialize<'de>,
impl<'de, G: Group, H: Hash> Deserialize<'de> for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Deserialize<'de>,
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<G: Group, H: Hash> Drop for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
impl<G: Group, H: Hash> Drop for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
impl<G: Group, H: Hash> Eq for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Eq,
Source§impl<G: Group, H: Hash> Hash for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Hash,
impl<G: Group, H: Hash> Hash for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Hash,
Source§impl<G: Group, H: Hash> Ord for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Ord,
impl<G: Group, H: Hash> Ord for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Ord,
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<G: Group, H: Hash> PartialEq for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: PartialEq,
impl<G: Group, H: Hash> PartialEq for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: PartialEq,
Source§impl<G: Group, H: Hash> PartialOrd for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: PartialOrd,
impl<G: Group, H: Hash> PartialOrd for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: PartialOrd,
Source§impl<G: Group, H: Hash> Serialize for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Serialize,
impl<G: Group, H: Hash> Serialize for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
G::Pk: Serialize,
Source§impl<H: Hash, G: Group> Serialize for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
U32: Add<G::PkLen>,
Sum<U32, G::PkLen>: ArrayLength + Add<<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize>,
Sum<Sum<U32, G::PkLen>, <<H as CoreProxy>::Core as OutputSizeUser>::OutputSize>: ArrayLength,
impl<H: Hash, G: Group> Serialize for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
U32: Add<G::PkLen>,
Sum<U32, G::PkLen>: ArrayLength + Add<<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize>,
Sum<Sum<U32, G::PkLen>, <<H as CoreProxy>::Core as OutputSizeUser>::OutputSize>: ArrayLength,
impl<G: Group, H: Hash> ZeroizeOnDrop for Ke2Message<G, H>where
H::Core: ProxyHash,
<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<H as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: ArrayLength,
Auto Trait Implementations§
impl<G, H> Freeze for Ke2Message<G, H>where
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: Sized,
<H as CoreProxy>::Core: Sized,
<G as Group>::Pk: Freeze,
<<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: Freeze,
impl<G, H> RefUnwindSafe for Ke2Message<G, H>where
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: Sized,
<H as CoreProxy>::Core: Sized,
<G as Group>::Pk: RefUnwindSafe,
<<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: RefUnwindSafe,
impl<G, H> Send for Ke2Message<G, H>
impl<G, H> Sync for Ke2Message<G, H>
impl<G, H> Unpin for Ke2Message<G, H>where
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: Sized,
<H as CoreProxy>::Core: Sized,
<G as Group>::Pk: Unpin,
<<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: Unpin,
impl<G, H> UnsafeUnpin for Ke2Message<G, H>where
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: Sized,
<H as CoreProxy>::Core: Sized,
<G as Group>::Pk: UnsafeUnpin,
<<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: UnsafeUnpin,
impl<G, H> UnwindSafe for Ke2Message<G, H>where
<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize: Sized,
<H as CoreProxy>::Core: Sized,
<G as Group>::Pk: UnwindSafe,
<<<H as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: UnwindSafe,
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