Solution set for cryptopals challenge, written in Node.js
Bear in my mind that doing these challenges is my way of learning both practical cryptography AND javascript. As such, don't use these as a reference on how to write idiomatic javascript.
No external dependencies are required, and each file can be run in isolation (except in case when it needs to read from an external file). I preferred to duplicate code here, since I was learning a new language.
Set 1:
- Challenge 1 - Convert hex to base64
- Challenge 2 - Fixed xor
- Challenge 3 - Single Byte Xor
- Challenge 4 - Detect single byte xor
- Challenge 5 - Repeating key xor
- Challenge 6 - Break repeating key xor
- Challenge 7 - Implement AES in ECB
- Challenge 8 - Detect AES in ECB
Set 2:
- Challenge 9 - Implement PKCS#7 padding
- Challenge 10 - Implement CBC mode
- Challenge 11 - ECB/CBC detection oracle
- Challenge 12 - Byte at a time ECB decryption
- Challenge 13 - ECB cut and paste
- Challenge 14 - TODO
- Challenge 15 - PKCS#7 padding validation
- Challenge 16 - CBC bitflipping attack
Set 5: