Computer Hacking - Cryptopals 4/n (More AES)
Part 4 of the Cryptopals series In this episode we play with AES. We implement PKCS#7 padding and unpadding, AES-128 ECB decryption, AES-128 CBC encryption and decryption (the hard way), and detecting whether an AES-128 oracle is operating in ECB or CBC mode (provided we can control some plaintext that will be bookended and encrypted) Cryptopals by Matasano (now NCC Group) is a series of crypto(graphy) building and breaking challenges. See https://cryptopals.com/ https://twitch.tv/justinsteven https://github.com/justinsteven/cryptopals Timestamps: 0:00 Welcome 03:41 PKCS#7 padding 17:37 Starting AES-128 CBC Decryption 20:19 AES-128 ECB Encryption 32:50 PKCS#7 unpadding 42:51 Finishing AES-128 CBC Decryption 48:31 Discussion: Breaks and burnout 52:54 AES-128 CBC Decryption 1:15:07 Starting ECB/CBC Oracle Detection 1:20:37 AES-128 CBC Encryption 1:29:53 Writing an AES-128 ECB/CBC Oracle 1:43:45 Leaking the mode for testing purposes 1:49:49 Planning our approach 1:58:05 Writing a mode detector for the oracle 2:09:16 Refactoring the oracle into a class 2:19:38 Writing tests for the mode detector 2:25:44 Recap
Part 4 of the Cryptopals series In this episode we play with AES. We implement PKCS#7 padding and unpadding, AES-128 ECB decryption, AES-128 CBC encryption and decryption (the hard way), and detecting whether an AES-128 oracle is operating in ECB or CBC mode (provided we can control some plaintext that will be bookended and encrypted) Cryptopals by Matasano (now NCC Group) is a series of crypto(graphy) building and breaking challenges. See https://cryptopals.com/ https://twitch.tv/justinsteven https://github.com/justinsteven/cryptopals Timestamps: 0:00 Welcome 03:41 PKCS#7 padding 17:37 Starting AES-128 CBC Decryption 20:19 AES-128 ECB Encryption 32:50 PKCS#7 unpadding 42:51 Finishing AES-128 CBC Decryption 48:31 Discussion: Breaks and burnout 52:54 AES-128 CBC Decryption 1:15:07 Starting ECB/CBC Oracle Detection 1:20:37 AES-128 CBC Encryption 1:29:53 Writing an AES-128 ECB/CBC Oracle 1:43:45 Leaking the mode for testing purposes 1:49:49 Planning our approach 1:58:05 Writing a mode detector for the oracle 2:09:16 Refactoring the oracle into a class 2:19:38 Writing tests for the mode detector 2:25:44 Recap