import type { MlKemExports, Sha3Exports } from './types.js'; import type { MlKemParams } from './params.js'; /** * Encapsulation key check, FIPS 203 §7.2 (EncapsulationKeyCheck). * * 1. Length gate: ek.length must equal params.ekBytes. * 2. Decode the polyvec portion via ByteDecode₁₂ (polyvec_frombytes). The * decoded coefficients are raw 12-bit values in [0, 4095], frombytes * does not reduce mod q. * 3. Modulus scan: every coefficient must satisfy c < Q = 3329. * * Returns true iff both gates pass. The seed ρ (final 32 bytes of ek) is * not checked; any 32-byte value is a valid ρ per FIPS 203. */ export declare function checkEncapsulationKey(kx: MlKemExports, params: MlKemParams, ek: Uint8Array): boolean; /** * Decapsulation key check, FIPS 203 §7.3 (DecapsulationKeyCheck). * * 1. Length check: dk.length == params.dkBytes * 2. Extract embedded ek and H(ek), verify SHA3-256(ek) matches stored H * 3. Also run checkEncapsulationKey on the embedded ek */ export declare function checkDecapsulationKey(kx: MlKemExports, sx: Sha3Exports, params: MlKemParams, dk: Uint8Array): boolean;