Introducing LatticeForge: A Hands-On Playground for Post-Quantum Cryptography

3 min read

Illustration of quantum threat Illustration of quantum threat generated by Gemini

Quantum computers are still years away from breaking today’s encryption, but the transition to quantum safe algorithms is already underway. NIST has spent nearly a decade reviewing candidates and has now finalized several post-quantum cryptography standards. Understanding these algorithms on paper is one thing. Actually running them and seeing what happens at each step is another.

That is why I built LatticeForge.

What is LatticeForge

LatticeForge is a website where you can experiment with NIST approved post-quantum cryptography algorithms directly in your browser. Instead of reading a spec and imagining how key generation or signing works, you can run the actual operations yourself and see the output in real time.

You can try it here: latticeforge.nepcodex.com

The source code is fully open and available on GitHub at github.com/kriss-u/latticeforge.

Which algorithms are covered

LatticeForge currently supports four algorithm families from NIST’s post-quantum cryptography project.

ML-KEM, standardized as FIPS 203, is the key encapsulation mechanism based on CRYSTALS-Kyber. It is used to establish a shared secret between two parties.

ML-DSA, standardized as FIPS 204, is a digital signature algorithm based on CRYSTALS-Dilithium. It is the default lattice based signature scheme NIST recommends.

SLH-DSA, standardized as FIPS 205, is a stateless hash based signature scheme based on SPHINCS+. It relies only on hash function security rather than lattice assumptions, which makes it a more conservative choice for long term signing needs.

FN-DSA, planned as FIPS 206, is based on FALCON and produces some of the smallest signatures among post-quantum schemes. This standard is still in draft form as of 2026, with final publication expected later this year or in early 2027. LatticeForge includes it anyway so you can start getting familiar with it ahead of time.

What you can actually do on the site

LatticeForge is built around one idea. Let you run real operations for each algorithm and see the output directly.

For ML-KEM you can generate a key pair, encapsulate a shared secret, and decapsulate it back. For the signature schemes, ML-DSA, SLH-DSA, and FN-DSA, you can generate keys, sign a message, and verify a signature. Each operation shows its output right on the page, so you can inspect keys, ciphertexts, and signatures instead of just reading about them.

This makes it easy to build intuition around things like key and signature sizes, how each algorithm’s steps fit together, and how the different security levels compare.

Why this matters

Post-quantum migration is not a one time switch. It is a gradual process that involves testing, benchmarking, and understanding trade offs between algorithms. Smaller signatures might matter more in one system, while conservative security assumptions might matter more in another. Having a place to directly interact with these algorithms makes those trade offs a lot easier to reason about.

Try it yourself

Head over to latticeforge.nepcodex.com and run a few operations. Generate a key pair, sign something, verify it, and see what the output looks like. If you want to dig into how it works under the hood or contribute improvements, the code is on GitHub at github.com/kriss-u/latticeforge.

Feedback and contributions are always welcome.

Related Posts