Trait opaque_ke::ciphersuite::CipherSuite
source · [−]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, seevoprf::CipherSuite
.KeGroup
: AGroup
used 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<<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash, Self::KeGroup>
type KeyExchange: KeyExchange<<<Self as CipherSuite>::OprfCs as CipherSuite>::Hash, Self::KeGroup>
A key exchange protocol