Struct opaque_ke::ClientLogin
source · [−]pub struct ClientLogin<CS: CipherSuite>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,{ /* private fields */ }
Expand description
The state elements the client holds to perform a login
Implementations
sourceimpl<CS: CipherSuite> ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
impl<CS: CipherSuite> ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
sourcepub fn serialize(
&self
) -> GenericArray<u8, Sum<Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, CredentialRequestLen<CS>>, <<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State as Serialize>::Len>>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen: Add<<<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1Message as Serialize>::Len>,
CredentialRequestLen<CS>: ArrayLength<u8>,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen: Add<CredentialRequestLen<CS>>,
Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, CredentialRequestLen<CS>>: ArrayLength<u8> + Add<<<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State as Serialize>::Len>,
Sum<Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, CredentialRequestLen<CS>>, <<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State as Serialize>::Len>: ArrayLength<u8>,
pub fn serialize(
&self
) -> GenericArray<u8, Sum<Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, CredentialRequestLen<CS>>, <<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State as Serialize>::Len>>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen: Add<<<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1Message as Serialize>::Len>,
CredentialRequestLen<CS>: ArrayLength<u8>,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen: Add<CredentialRequestLen<CS>>,
Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, CredentialRequestLen<CS>>: ArrayLength<u8> + Add<<<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State as Serialize>::Len>,
Sum<Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, CredentialRequestLen<CS>>, <<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State as Serialize>::Len>: ArrayLength<u8>,
Serialization into bytes
sourcepub fn deserialize(input: &[u8]) -> Result<Self, ProtocolError>
pub fn deserialize(input: &[u8]) -> Result<Self, ProtocolError>
Deserialization from bytes
sourceimpl<CS: CipherSuite> ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
impl<CS: CipherSuite> ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
sourcepub fn start<R: RngCore + CryptoRng>(
rng: &mut R,
password: &[u8]
) -> Result<ClientLoginStartResult<CS>, ProtocolError>
pub fn start<R: RngCore + CryptoRng>(
rng: &mut R,
password: &[u8]
) -> Result<ClientLoginStartResult<CS>, ProtocolError>
Returns an initial “blinded” password request to send to the server, as well as a ClientLogin
sourcepub fn finish(
self,
password: &[u8],
credential_response: CredentialResponse<CS>,
params: ClientLoginFinishParameters<'_, '_, '_, CS>
) -> Result<ClientLoginFinishResult<CS>, ProtocolError>where
U32: Add<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize>,
Sum<U32, <<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize>: ArrayLength<u8> + Add<<CS::KeGroup as KeGroup>::PkLen>,
Sum<Sum<U32, <<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize>, <CS::KeGroup as KeGroup>::PkLen>: ArrayLength<u8>,
pub fn finish(
self,
password: &[u8],
credential_response: CredentialResponse<CS>,
params: ClientLoginFinishParameters<'_, '_, '_, CS>
) -> Result<ClientLoginFinishResult<CS>, ProtocolError>where
U32: Add<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize>,
Sum<U32, <<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize>: ArrayLength<u8> + Add<<CS::KeGroup as KeGroup>::PkLen>,
Sum<Sum<U32, <<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize>, <CS::KeGroup as KeGroup>::PkLen>: ArrayLength<u8>,
“Unblinds” the server’s answer and returns the opened assets from the server
Trait Implementations
sourceimpl<CS: CipherSuite> Clone for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
impl<CS: CipherSuite> Clone for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
sourceimpl<CS: CipherSuite> Debug for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
OprfClient<CS::OprfCs>: Debug,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Debug,
CredentialRequest<CS>: Debug,
impl<CS: CipherSuite> Debug for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
OprfClient<CS::OprfCs>: Debug,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Debug,
CredentialRequest<CS>: Debug,
sourceimpl<'de, CS: CipherSuite> Deserialize<'de> for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1Message: Deserialize<'de>,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Deserialize<'de>,
impl<'de, CS: CipherSuite> Deserialize<'de> for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1Message: Deserialize<'de>,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Deserialize<'de>,
sourcefn 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
sourceimpl<CS: CipherSuite> Drop for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
impl<CS: CipherSuite> Drop for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
sourceimpl<CS: CipherSuite> Hash for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
OprfClient<CS::OprfCs>: Hash,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Hash,
CredentialRequest<CS>: Hash,
impl<CS: CipherSuite> Hash for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
OprfClient<CS::OprfCs>: Hash,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Hash,
CredentialRequest<CS>: Hash,
sourceimpl<CS: CipherSuite> PartialEq<ClientLogin<CS>> for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
OprfClient<CS::OprfCs>: PartialEq,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: PartialEq,
CredentialRequest<CS>: PartialEq,
impl<CS: CipherSuite> PartialEq<ClientLogin<CS>> for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
OprfClient<CS::OprfCs>: PartialEq,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: PartialEq,
CredentialRequest<CS>: PartialEq,
sourceimpl<CS: CipherSuite> Serialize for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1Message: Serialize,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Serialize,
impl<CS: CipherSuite> Serialize for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1Message: Serialize,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Serialize,
impl<CS: CipherSuite> Eq for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
OprfClient<CS::OprfCs>: Eq,
<CS::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, CS::KeGroup>>::KE1State: Eq,
CredentialRequest<CS>: Eq,
impl<CS: CipherSuite> ZeroizeOnDrop for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
Le<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
Auto Trait Implementations
impl<CS> RefUnwindSafe for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: RefUnwindSafe,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1Message: RefUnwindSafe,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1State: RefUnwindSafe,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: RefUnwindSafe,
impl<CS> Send for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Send,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1Message: Send,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1State: Send,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Send,
impl<CS> Sync for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Sync,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1Message: Sync,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1State: Sync,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Sync,
impl<CS> Unpin for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Unpin,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1Message: Unpin,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1State: Unpin,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Unpin,
impl<CS> UnwindSafe for ClientLogin<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: UnwindSafe,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1Message: UnwindSafe,
<<CS as CipherSuite>::KeyExchange as KeyExchange<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash, <CS as CipherSuite>::KeGroup>>::KE1State: UnwindSafe,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more