Developed an interactive Python notebook demonstrating core encryption concepts through modular arithmetic, Diffie–Hellman key exchange, ElGamal encryption, and finite group operations with visualizations and attack simulations.
Implemented custom encryption workflows combining substitution ciphers, modular exponentiation, and finite cyclic group operations to illustrate symmetric and asymmetric cryptography. Built interactive cells for Diffie–Hellman key exchange and ElGamal encryption in finite groups, including key generation, message encoding/decoding, and brute-force attack simulations. Leveraged Python (NumPy, Matplotlib, tqdm) to visualize group structures, modular operations, and computational complexity, providing a reproducible educational framework for applied cryptography.
The project presents a structured overview of fundamental encryption techniques, prepared as part of a practical lecture on data protection. It begins with historical methods such as substitution schemes, and proceeds to symmetric and asymmetric encryption. Core concepts include modular arithmetic, the Diffie–Hellman key exchange protocol, the ElGamal encryption algorithm, and the basics of elliptic curve cryptography. The materials are designed to be accessible to students with no prior background in cryptography while maintaining mathematical rigor. The project aims to demonstrate the practical relevance of algebraic structures in securing digital communication.
Some projects are born out of curiosity, others out of passion — and some because someone looks at you and says, “You know encryption, right?” That’s how this one started. A friend who teaches data protection asked me to give her students a practical intro to encryption. I told her — truthfully — I had no idea how it worked. But with a degree in theoretical math and a guilty conscience about saying no, I did the only reasonable thing: said yes and learned fast.
What followed was an unexpectedly delightful dive into ciphers, finite groups, shared secrets, and how we keep "spicy messages" from prying eyes. It turned into a guest lecture, a full write-up, and a lasting appreciation for the balance between elegance and complexity in modern cryptography. Also: a warning that algebra can be dangerous once you start having fun with it.
A little playground is available here.