About
Who writes Lattices.io, how the material is checked, and how to reach me.
The author
I am Oleksii Vasylenko, a systems engineer based in Brazil with more than eighteen years of software work. My path into lattices came through applied cryptography: I built a zk-SNARK wallet engine at Panther Protocol and wallet-to-wallet messaging at Mailchain, and in 2026 I reviewed the threshold-signing client and bridge contracts of the Threshold Network (tBTC) as an independent security researcher.
I also write lattice software. g6k-rs is my Rust library for lattice reduction, enumeration and sieving, with optional Metal and CUDA backends. Every code sample in the recipes and embedding guides runs against it. opaque-ts is a TypeScript implementation of the OPAQUE password-authenticated key exchange.
Outside cryptography my work has been high-throughput systems: a matching engine handling 4,000+ orders per second with sub-millisecond latency, real-time backends, and frontend architecture shared across product teams. I hold a Bachelor of Computer Engineering with honours from Sevastopol National Technical University and work in English and Portuguese.
Selected experience
| 2026–now | Independent security researcher Reviewed the Threshold Network / tBTC distributed threshold-signing client (Go) and its bridge contracts (Solidity). |
| 2025–2026 | Senior backend engineer, Walky Built the real-time layer of a verified social platform with Socket.IO and Redis. |
| 2024–2025 | Technical lead, Bitsten exchange Architected a matching engine that processes 4,000+ orders per second with sub-millisecond latency. |
| 2023–2024 | Web3 developer, Panther Protocol Built a zk-SNARK wallet engine supporting multiple blockchains. |
| 2022–2023 | Web3 developer, Mailchain Integrated Ethereum, ENS and NEAR for wallet-to-wallet messaging. |
| 2020–2022 | Frontend architect, PropertyGuru (Singapore) Built a payment service adopted by four product teams and cut release cycles from weeks to days. |
| 2015–2018 | Head of product development, Data Laboratories (Singapore) Led 15 engineers across three time zones and architected a data-visualisation platform. |
The full résumé is at ovasylenko.com/resume.
The site
Lattices.io is a free reference for mathematical lattices and the post-quantum cryptography built on them. It is written for developers and engineers: people implementing ML-KEM or ML-DSA, choosing parameters, or reading papers for the first time. Each topic starts from intuition, then gives the definitions, and ends with something you can run or check.
- Introduction — What a lattice is, bases, geometry of numbers, metrics, reduction and notable lattices.
- Cryptography — SVP, CVP, LWE, SIS, NTRU, lattice signatures and what post-quantum security means.
- For developers — ML-KEM, ML-DSA, Falcon, the NTT, parameter selection, FHE and hybrid TLS.
- Algorithms — LLL, BKZ, sieving, G6K and runnable g6k-rs recipes.
- Papers and deep dives — Key papers, dual and q-ary lattices, discrete Gaussians and lattice attacks on ECDSA.
- Embedding guides — How to turn a problem into a lattice whose shortest vector is the answer, from 3 to 100 dimensions.
- Math reference — Every symbol used on the site: how to read it, what it means here and where it appears.
How the material is checked
- Code samples are compiled and run before publication, and the output shown is the real output. Library versions are stated on each page.
- Numbers in worked examples are recomputed with a script, not copied from memory.
- Claims about standards cite the primary source: FIPS documents, RFCs and the original papers listed in key papers.
- Revised pages carry their last-updated date in the sitemap and in search results.
Support the site
Lattices.io is free and has no ads. If it helped you, you can support the work. It is entirely optional; corrections and feedback help just as much.
By card or PayPal: buy me a coffee.
In cryptocurrency: use the NOWPayments form below.
Corrections and contact
If you find a mistake, a broken formula or something unclear, please open an issue in the public feedback repository or email hello@ovasylenko.com with the page and what looks wrong. Readers have already caught rendering bugs this way. You can also find me on GitHub and X, or read my other writing at ovasylenko.com/blog.
If you want to learn this material with others, I also run a small live cohort for engineers on post-quantum migration.