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–nowIndependent security researcher
Reviewed the Threshold Network / tBTC distributed threshold-signing client (Go) and its bridge contracts (Solidity).
2025–2026Senior backend engineer, Walky
Built the real-time layer of a verified social platform with Socket.IO and Redis.
2024–2025Technical lead, Bitsten exchange
Architected a matching engine that processes 4,000+ orders per second with sub-millisecond latency.
2023–2024Web3 developer, Panther Protocol
Built a zk-SNARK wallet engine supporting multiple blockchains.
2022–2023Web3 developer, Mailchain
Integrated Ethereum, ENS and NEAR for wallet-to-wallet messaging.
2020–2022Frontend architect, PropertyGuru (Singapore)
Built a payment service adopted by four product teams and cut release cycles from weeks to days.
2015–2018Head 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.

  1. Introduction — What a lattice is, bases, geometry of numbers, metrics, reduction and notable lattices.
  2. Cryptography — SVP, CVP, LWE, SIS, NTRU, lattice signatures and what post-quantum security means.
  3. For developers — ML-KEM, ML-DSA, Falcon, the NTT, parameter selection, FHE and hybrid TLS.
  4. Algorithms — LLL, BKZ, sieving, G6K and runnable g6k-rs recipes.
  5. Papers and deep dives — Key papers, dual and q-ary lattices, discrete Gaussians and lattice attacks on ECDSA.
  6. Embedding guides — How to turn a problem into a lattice whose shortest vector is the answer, from 3 to 100 dimensions.
  7. 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

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.