diff options
author | Anthony Wang | 2025-05-11 23:10:28 -0400 |
---|---|---|
committer | Anthony Wang | 2025-05-11 23:10:34 -0400 |
commit | fd73b401849b15f1222a1a22fbac6fab161144f9 (patch) | |
tree | ef9deaf87be582d8a8b1146d4ae77f9f6fdca6b1 | |
parent | e2049f64a02d4377b14a107186cf81af6fe87efc (diff) |
DUMB CIPHER SOLVER
-rw-r--r-- | content/posts/dumb-cipher-solver.md | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/content/posts/dumb-cipher-solver.md b/content/posts/dumb-cipher-solver.md new file mode 100644 index 0000000..a822be5 --- /dev/null +++ b/content/posts/dumb-cipher-solver.md @@ -0,0 +1,18 @@ +--- +title: "Dumb Cipher Solver" +date: 2025-05-11T21:20:06-04:00 +draft: true +description: "Solving substitution ciphers using Rust, MCMC, and CNNs" +type: "post" +tags: ["rust", "machine-learning"] +--- + + +I'm taking a statistical inference class (6.7800) at MIT this semester and honestly I didn't like the class that much, but the [final project assignment](https://git.unnamed.website/6.7800-project/plain/project.pdf) got me hooked. It's the same task for everyone: write a program to decode substitution ciphers (think ROT13 or the Caeser cipher but the alphabet can be scrambled with an arbitrary permutation), but there's a twist! The first portion of the text is encoded using one permutation and the second portion is encoded using a different permutation, and you don't know where the breakpoint is! + +It turns out the solution is just "do super dumb brute force a gazillion times" using blazingly fast fearless concurrency Rust (instead of Python like everyone else). Oh yeah, and throw in some ✨AI✨ just for good measure. (My AI can't generate text so hopefully it doesn't take over the world.) + +- Writeup: https://git.unnamed.website/6.7800-project/plain/report.pdf (half of it is about various engineering challenges with submitting to the grading server) +- Code: https://git.unnamed.website/6.7800-project/tree/src/main.rs (you can tell it's all human-written since it's garbage in a characteristically human way) + +There's a leaderboard for this project based on decoding some secret test cases on a grading server. This stupidity is currently first place. |