Git hosting

cryptopals: Solutions to the cryptopals crypto challenges in Ruby

Files

Size Path
..
224 09.el
629 09.md
301 09.rb
376 10.el
1064 10.md
299 10.rb
3904 10.txt
922 11.el
896 11.md
645 11.rb
2651 12.el
2326 12.md
1380 12.rb
1885 13.el
1157 13.md
945 13.rb
4564 14.el
594 14.md
1939 14.rb
282 15.el
571 15.md
217 15.rb
1396 16.el
1408 16.md
952 16.rb
1168 README.md

README.md

Crypto Challenge Set 2

This is the first of several sets on block cipher cryptography. This is bread-and-butter crypto, the kind you'll see implemented in most web software that does crypto.

This set is relatively easy. People that clear set 1 tend to clear set 2 somewhat quickly.

Three of the challenges in this set are extremely valuable in breaking real-world crypto; one allows you to decrypt messages encrypted in the default mode of AES, and the other two allow you to rewrite messages encrypted in the most popular modes of AES.

  1. Implement PKCS#7 padding
  2. Implement CBC mode
  3. An ECB/CBC detection oracle
  4. Byte-at-a-time ECB decryption (Simple)
  5. ECB cut-and-paste
  6. Byte-at-a-time ECB decryption (Harder)
  7. PKCS#7 padding validation
  8. CBC bitflipping attacks