Crypt
A Python security toolkit for learning cryptography by using it — encryption, password analysis, and educational cracking simulations.
What it is
Reading about ciphers teaches you definitions; implementing them teaches you why they fail. Crypt is a modular toolkit that grew out of that idea: classical ciphers you can break by hand, modern hashing you can't, a password-strength analyser that explains its verdicts, and cracking simulations that show — safely and educationally — why weak passwords fall in seconds.
Everything is built for ethical use: the cracking modules run against demo data to make a point, not against anything real.
How it's built
- Each cipher is a self-contained module behind a common interface — adding a new one is a file, not a refactor.
- Classical ciphers (Caesar, Vigenère) implemented from scratch; modern primitives (hashing, symmetric encryption) through vetted libraries.
- Password analysis scores length, character variety, and pattern predictability — and tells you which of those failed you.
- CLI-first design, structured so the same modules can serve a web front-end.
What broke, what I learned
Implementing Vigenère from scratch and then breaking it in the same afternoon is the fastest possible education in why "don't roll your own crypto" is a rule and not a suggestion. The from-scratch ciphers stay in the toolkit precisely because they're breakable — that's the lesson.