Trait ml_dsa::param::PkeParams

source ·
pub trait PkeParams: ParameterSet {
    type NttVectorSize: ArraySize;
    type EncryptionKeySize: ArraySize;
    type CiphertextSize: ArraySize;

    // Required methods
    fn encode_u12(p: &NttVector<Self::K>) -> EncodedNttVector<Self>;
    fn decode_u12(v: &EncodedNttVector<Self>) -> NttVector<Self::K>;
    fn concat_ct(
        u: Array<u8, EncodedPolynomialVectorSize<<Self as ParameterSet>::Du, <Self as ParameterSet>::K>>,
        v: Array<u8, EncodedPolynomialSize<<Self as ParameterSet>::Dv>>,
    ) -> EncodedCiphertext<Self>;
    fn split_ct(
        ct: &EncodedCiphertext<Self>,
    ) -> (&Array<u8, EncodedPolynomialVectorSize<<Self as ParameterSet>::Du, <Self as ParameterSet>::K>>, &Array<u8, EncodedPolynomialSize<<Self as ParameterSet>::Dv>>);
    fn concat_ek(
        t_hat: EncodedNttVector<Self>,
        rho: B32,
    ) -> EncodedEncryptionKey<Self>;
    fn split_ek(
        ek: &EncodedEncryptionKey<Self>,
    ) -> (&EncodedNttVector<Self>, &B32);
}
Expand description

Derived parameter relevant to K-PKE

Required Associated Types§

Required Methods§

Object Safety§

This trait is not object safe.

Implementors§