pub trait CipherSuitewhere
<Self::OprfCs as CipherSuite>::Hash: Hash + EagerHash,
<<Self::OprfCs as CipherSuite>::Hash as CoreProxy>::Core: ProxyHash,
<<<Self::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize: IsLess<U256>,
Le<<<<Self::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as SmallBlockSizeUser>::_BlockSize, U256>: NonZero,
<<<Self::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize: Add<U32> + ArrayLength,
Sum<<<<Self::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize, U32>: ArrayLength + Add<<<Self::KeyExchange as KeyExchange>::Group as Group>::PkLen>,
Sum<Sum<<<<Self::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize, U32>, <<Self::KeyExchange as KeyExchange>::Group as Group>::PkLen>: ArrayLength,
<<Self::OprfCs as CipherSuite>::Group as Group>::ScalarLen: ArrayLength,
<<Self::OprfCs as CipherSuite>::Group as Group>::ElemLen: ArrayLength,{
type OprfCs: CipherSuite;
type KeyExchange: KeyExchange;
type Ksf: Ksf;
}Expand description
Configures the underlying primitives used in OPAQUE
OprfCs: A VOPRF ciphersuite, seevoprf::CipherSuite.KeGroup: AGroupused for theKeyExchange.KeyExchange: The key exchange protocol to use in the login stepHash: The main hashing function to useKsf: A key stretching function, typically used for password hashing
Required Associated Types§
Sourcetype OprfCs: CipherSuite
type OprfCs: CipherSuite
A VOPRF ciphersuite, see voprf::CipherSuite.
Sourcetype KeyExchange: KeyExchange
type KeyExchange: KeyExchange
A key exchange protocol
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".