Uniform rejection sampling for ML-KEM.

Uniform rejection sampler implementing the Parse function from FIPS 203. Samples uniform elements modulo q from a SHAKE-128 byte stream, rejecting values outside the valid range. The rejection loop is constant-time, eliminating data-dependent timing variation. This core is a required primitive for generating the public matrix A in all ML-KEM parameter sets.

Key features.

Why it matters.

Compliance and verification.

Standards

NIST FIPS 203

ML-KEM (Module-Lattice-Based Key-Encapsulation Mechanism) standard.

Verification

Verified vs golden model

RTL output verified byte-exact against Python golden reference model.

Note: "Verified" means RTL byte-exact against official test vectors. It does not imply FIPS 140-3 certification or foundry sign-off.

Availability and deliverables.

The Rejection Sampler is available now as verified soft IP, foundry-portable and ready for integration.

RTL

Synthesizable SystemVerilog RTL

Foundry-portable design targeting any process node. Technology-independent by default. Synthesis scripts and constraint templates included.

Verification

Self-Checking Testbench(es)

Automated pass/fail testbenches that verify RTL output byte-exact against golden reference vectors on every run.

Golden Model

Python Golden Reference Model

Independent software oracle for comparison and integration testing. Matches the NIST/RFC specification at every parameter set.

Regression

cocotb Regression

Full cocotb-based test infrastructure for rapid integration into customer verification flows and CI pipelines.

Synthesis

Synthesis Scripts

Ready-to-run scripts for technology-independent synthesis. Constraint templates for timing closure on your target process.

Documentation

Integration / User Guide

Complete interface specification, timing diagrams, integration examples, and design-in guidance for SoC assembly.

Firm/hard IP (hardened netlist for a target node) available on foundry enablement.

Related products.

Request a product brief.

Detailed specifications, block diagrams, and resource estimates for the Rejection Sampler. NDA-protected evaluation available.