Implementing CRYSTALS-Kyber (post-quantum cryptography) from scratch in Python
Sign in<br>Subscribe
I wanted to understand post-quantum cryptography beyond high-level explanations, so I implemented CRYSTALS-Kyber from scratch in Python.<br>This is a small series that walks through the math step by step and builds a working implementation. It focuses on clarity rather than performance (no NTT yet), and all code is included and runnable. You find it on GitHub.
Mathematical foundations (modular arithmetic, polynomial rings)
Core Kyber implementation
Compression and full KEM construction
Earlier we discussed latent spaces (in the context of AE and VAE). Let's explore a bit more deeply how to actually make the latent space useful by explicitly defining semantics of named coordinates.
So far latent spaces have just been vector spaces with no clear inherent semantic structure.
In the previous article we noticed that with autoencoders the learned latent space was very sparse. The locations (points) in latent space that can produce any meaningful images are few and far between. When building generative models this is a problem. We wouldn't want a model that produces
The world of deep learning has evolved dramatically over the last decade or two. While on my post-graduate studies around 2010, the neural networks were mostly a mathematical model that was way too expensive to train for many practical tasks. Todays hardware evolution and the innovations in network architectures
Powered by Ghost