Struct opaque_ke::ClientRegistration
source · [−]pub struct ClientRegistration<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 register itself
Implementations
sourceimpl<CS: CipherSuite> ClientRegistration<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> ClientRegistration<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<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen>>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen: Add<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen>,
Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen>: ArrayLength<u8>,
pub fn serialize(
&self
) -> GenericArray<u8, Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen>>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen: Add<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen>,
Sum<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::ElemLen>: ArrayLength<u8>,
Serialization into bytes
sourcepub fn deserialize(input: &[u8]) -> Result<Self, ProtocolError>
pub fn deserialize(input: &[u8]) -> Result<Self, ProtocolError>
Deserialization from bytes
sourcepub fn start<R: RngCore + CryptoRng>(
blinding_factor_rng: &mut R,
password: &[u8]
) -> Result<ClientRegistrationStartResult<CS>, ProtocolError>
pub fn start<R: RngCore + CryptoRng>(
blinding_factor_rng: &mut R,
password: &[u8]
) -> Result<ClientRegistrationStartResult<CS>, ProtocolError>
Returns an initial “blinded” request to send to the server, as well as a ClientRegistration
sourcepub fn finish<R: CryptoRng + RngCore>(
self,
rng: &mut R,
password: &[u8],
registration_response: RegistrationResponse<CS>,
params: ClientRegistrationFinishParameters<'_, '_, CS>
) -> Result<ClientRegistrationFinishResult<CS>, ProtocolError>
pub fn finish<R: CryptoRng + RngCore>(
self,
rng: &mut R,
password: &[u8],
registration_response: RegistrationResponse<CS>,
params: ClientRegistrationFinishParameters<'_, '_, CS>
) -> Result<ClientRegistrationFinishResult<CS>, ProtocolError>
“Unblinds” the server’s answer and returns a final message containing cryptographic identifiers, to be sent to the server on setup finalization
Trait Implementations
sourceimpl<CS: CipherSuite> Clone for ClientRegistration<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 ClientRegistration<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 ClientRegistration<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,
BlindedElement<CS::OprfCs>: Debug,
impl<CS: CipherSuite> Debug for ClientRegistration<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,
BlindedElement<CS::OprfCs>: Debug,
sourceimpl<'de, CS: CipherSuite> Deserialize<'de> for ClientRegistration<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<'de, CS: CipherSuite> Deserialize<'de> for ClientRegistration<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,
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 ClientRegistration<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 ClientRegistration<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 ClientRegistration<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,
BlindedElement<CS::OprfCs>: Hash,
impl<CS: CipherSuite> Hash for ClientRegistration<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,
BlindedElement<CS::OprfCs>: Hash,
sourceimpl<CS: CipherSuite> PartialEq<ClientRegistration<CS>> for ClientRegistration<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,
BlindedElement<CS::OprfCs>: PartialEq,
impl<CS: CipherSuite> PartialEq<ClientRegistration<CS>> for ClientRegistration<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,
BlindedElement<CS::OprfCs>: PartialEq,
sourceimpl<CS: CipherSuite> Serialize for ClientRegistration<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> Serialize for ClientRegistration<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> Eq for ClientRegistration<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,
BlindedElement<CS::OprfCs>: Eq,
impl<CS: CipherSuite> ZeroizeOnDrop for ClientRegistration<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 ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: RefUnwindSafe,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: RefUnwindSafe,
impl<CS> Send for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Send,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Send,
impl<CS> Sync for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Sync,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Sync,
impl<CS> Unpin for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Unpin,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Unpin,
impl<CS> UnwindSafe for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: 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