archargelod 13 hours ago

Great puzzle. I solved it in Nim[1]. Bit-twiddling layers were a good fit for the language.

The trickiest part was the AES layer. I had to reach for the C FFI to use OpenSSL for decoding. And it took longer than expected to search instructions for key unwrapping.

Full solution[2] runs in under 20ms on two decade old Intel Xeon, which says more about Nim's performance than my coding skills.

[1] https://nim-lang.org/

[2] https://codeberg.org/janAkali/toms-data-onion