pub trait CipherSuitewhere
    <<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash as OutputSizeUser>::OutputSize: IsLess<U256> + IsLessOrEqual<<<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash as BlockSizeUser>::BlockSize>,
    <<Self as CipherSuite>::OprfCs as CipherSuite>::Hash: Hash,
    <<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
    <<<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<U256>,
    Le<<<<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as BlockSizeUser>::BlockSize, U256>: NonZero,
{ type OprfCs: CipherSuite; type KeGroup: KeGroup; type KeyExchange: KeyExchange<<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash, Self::KeGroup>; type Ksf: Ksf; }
Expand description

Configures the underlying primitives used in OPAQUE

  • OprfCs: A VOPRF ciphersuite, see voprf::CipherSuite.
  • KeGroup: A Group used for the KeyExchange.
  • KeyExchange: The key exchange protocol to use in the login step
  • Hash: The main hashing function to use
  • Ksf: A key stretching function, typically used for password hashing

Required Associated Types

A VOPRF ciphersuite, see voprf::CipherSuite.

A Group used for the KeyExchange.

A key exchange protocol

A key stretching function, typically used for password hashing

Implementors