Solutions to the original Matasano Cryptopals challenges in Python 3.6.
Here are my solutions to the original 6 sets of 48 Matasano Cryptopals programming challenges, implemented in Python 3.6. I intend to complete Sets 7 and 8 at some point.
Solution 46 |
Solution 48 |
- Python 3.6+
- Pycryptodome (optional, but greatly speeds up AES if it's present)
Why 3.6? f-strings, mostly. Also, ThreadingHTTPServer (trivially backported from 3.7) is used once. Maybe some other 3.6+ features are too, I dunno.
Each solution is a script that can be run on its own. Any required servers will be started by the script.
Running them for yourself should be as easy as running them for yourself:
$ ./cxx_script_name.py
or
$ python3.6 ./cXX_script_name.py
Long-term I'd like to work on these, but at the moment:
- Clean, performant, secure code this is not. Try "hacky". "Babby's first" isn't too far off.
- Handling
SIGINT
or Ctrl+C whilemultiprocessing
is tested on Linux only. - Documentation is hit-or-miss.
- A couple of attacks don't work all the time on all platforms.
All of my original work in this repository is released under the WTFPL Version 2.