All-Army CyberStakes! AES-ECB Plaintext Recovery
27,424
Published 2020-05-22
E-mail: [email protected]
PayPal: paypal.me/johnhammond010
GitHub: github.com/JohnHammond
Site: www.johnhammond.org/
Twitter: twitter.com/_johnhammond
All Comments (21)
-
You probably all know whats John did there, but if you dont ill try to explain. Input for AES_ECB needs to be multiple of 16B (if its not than padding is added). Here we have some encrypted data that consist of our password + some secret(16B in total) that we need to get. So if we have 15B of password the 1B of secret will be appended to out password and this 16B will be encrypted. Remaining 15B of secret will be padded and encrypted. Thus we have 2*16B. To get secret we need to create password that will have 15B at the begining X = AES_ECB( password(15B) || secret(1B) ) Than we will try to guess this 1B of secret by doing: Y = AES_ECB( password(15B) || x) where x: printable character If X = Y that we got 1B of secret. That we will decreasse our password size by 1B add our known 1B of secret and repete: X = AES_ECB( password(14B) || known(1B) || secret(1B ) Y = AES_ECB( password(14B) || known(1B) || x ) where x: printable character
-
John: I always confused with this logic. Me: everytime 😆
-
Thank you so much
-
Best of the best !
-
Man i can't understand what he is doing but enjoying it xD
-
Back to back, love it! 👊🏼💪🏼🙌🏼
-
I love this video series Regards from Italy
-
John I had the exact same issue with the semicolons on this problem! Unfortunately, I didn't solve the issue. Thanks for the video!
-
🔥🔥
-
Great. I wonder if you could skip the part at the beginning for getting the length of the blocks though, using the fact that in AES the input and output block lengths are always 16 bytes (the output blocks are shown to be 32 characters but each of them represent a hex symbol, so 32*4 = 128 bits, or 16 bytes!)
-
that took some effort
-
You're damn good
-
I love to watch you programming Python.
-
Any tips in how you learnt to translate your thoughts into code so smoothly
-
trying to sign up after the video to only realize its not open to the general public lol great video though!
-
hey John, how do you have your build output be a separate tab in Sublime?
-
10:25 When you found the block size, doesn't it have to be 16 when using AES with 128-bit key?
-
Wait, the hints say that the strongtoken does not contain any ';' characters, was that a mistake or did you just broke the CTF?
-
Request url for signup not https? Man-in-the-middle attack coming.
-
Start _block_fap... damn John you got me good :L