import type { MlKemExports, Sha3Exports, MlKemKeyPair, MlKemEncapsulation } from './types.js'; import type { MlKemParams } from './params.js'; /** * ML-KEM.KeyGen_internal (FIPS 203 Algorithm 15). * * dk = skCpa || ek || H(ek) || z */ export declare function kemKeypairDerand(kx: MlKemExports, sx: Sha3Exports, params: MlKemParams, d: Uint8Array, z: Uint8Array): MlKemKeyPair; /** * ML-KEM.Encaps_internal (FIPS 203 Algorithm 16). * * (K, r) = G(m || H(ek)), c = K-PKE.Encrypt(ek, m, r) */ export declare function kemEncapsulateDerand(kx: MlKemExports, sx: Sha3Exports, params: MlKemParams, ek: Uint8Array, m: Uint8Array): MlKemEncapsulation; /** * ML-KEM.Decaps_internal (FIPS 203 Algorithm 17). * * Constant-time: uses ct_verify and ct_cmov from mlkem WASM. * MUST NOT branch on secret data in JS, all comparison via WASM primitives. */ export declare function kemDecapsulate(kx: MlKemExports, sx: Sha3Exports, params: MlKemParams, dk: Uint8Array, c: Uint8Array): Uint8Array;