AES Rijndael Cipher explained as a Flash animation

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ม.ค. 2025

ความคิดเห็น • 107

  • @metalalive2006
    @metalalive2006 5 ปีที่แล้ว +147

    To me, this is by far the clearest explanation on AES algorithm described in very short time. I've been surfing on Google for few days reading a couple of articles , this video can beat most of those lengthy articles.

  • @andreyzice
    @andreyzice 6 ปีที่แล้ว +30

    it's so crystal clear. I am so astonished as you were when you first saw the animation. So far it's the easiest way to understand and explain things I came across.

  • @eilis5341
    @eilis5341 5 ปีที่แล้ว +30

    this is the best video on the internet. nothing compares to this.

  • @thelasttimeitookashowerwas7069
    @thelasttimeitookashowerwas7069 5 ปีที่แล้ว +45

    read this carefully:
    1. we have a predefined matrix for AES which we use for every mix column operation:
    02 03 01 01
    01 02 03 01
    01 01 02 03
    03 01 01 02
    this is predefined so you gotta remember it.
    2. Take the predefined matrix and multiply it with the first word, followed by second, third and fourth word. But, this is not a standard multiplication here, it's something really different. The Galois multiplication of polynomial. Every position in the state matrix is a byte, meaning we have 8 bits in it.
    Now we consider the Galois polynomial multiplication in 8.
    Thus, we can't have any terms greater than x^7 coz 8 bits are represented as
    x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x^1 + x^0
    for any terms that is greater than 8, we reduce it by the Galois irreducible polynomial of 8 bits, that is x^8 + x^4 + x^3 + x^1 +1.
    3. Now convert each byte in a word into polynomial form:
    for d4 it is 1101 0100 =x^7 + x^6 + x^4 + x^2
    multiply it with 02 coz 02 is the first element in the predefined matrix coz that's how you multiply in the normal matrix too...
    02=0000 0010=x^1
    4. 02*d4=x(x^7 + x^6 + x^4 + x^2)=x^8+x^7+x^5+x^3
    Since this is greater than 8 bits we reduce it by the irreducible polynomial...
    divide x^8+x^7+x^5+x^3 by x^8 + x^4 + x^3 + x^1 +1 and the remainder is your answer.
    5. perform this for the rest 3 values. X-or all of them and the result is your answer for 1st position in the matrix.
    6. Perform all these steps until you find the answer.
    This is why it is infeasible to decipher anything encrypted with AES manually.

    • @JayLim-bn9fh
      @JayLim-bn9fh 4 ปีที่แล้ว +1

      Thank you.

    • @fauzanraeva4806
      @fauzanraeva4806 4 ปีที่แล้ว

      why we divided by x^8 + x^4 + x^1 + 1?

    • @kilebox
      @kilebox 4 ปีที่แล้ว +1

      @@fauzanraeva4806 title says "read this carefully"
      > the Galois irreducible polynomial of 8 bits, that is x^8 + x^4 + x^3 + x^1 +1.

    • @ZiDigit
      @ZiDigit 3 ปีที่แล้ว +1

      x^8+x^7+x^5+x^3 by x^8 + x^4 + x^3 + x^1 +1 = 1A8 divided by 11B = 1 remained 8D, right?
      Then 03 * BF divided by 11B has the remainder of 07,
      8D XOR 07 XOR 5D XOR 30 gives D7 not 04.
      Could you please explain how he got 04?

    • @archirnobenz
      @archirnobenz 2 ปีที่แล้ว

      Thanks for the detailed explanation. Now I understand the concept much better :)

  • @alizahmemon
    @alizahmemon 3 ปีที่แล้ว +2

    I'd been trying to understand the AES for months... until today. Thank you so much for sharing this animation!

  • @dpraajz
    @dpraajz 5 ปีที่แล้ว

    My God. In such a short time, such an excellent illustration. Hats off!!!

  • @jordanjenkins1671
    @jordanjenkins1671 4 ปีที่แล้ว +1

    Great complement to the written descriptions of AES! Helped me to catch a couple steps that I misunderstood.

  • @quanquoctruong1276
    @quanquoctruong1276 3 ปีที่แล้ว

    Holy carp that was a clean, concise and beautiful explanation

  • @NamTran-hb2te
    @NamTran-hb2te 4 ปีที่แล้ว

    This is the best explanation of AES ever. Thank you.

  • @zeyuxie9589
    @zeyuxie9589 ปีที่แล้ว

    Really appreciate for this fantastic animation. 💗

  • @krislui852
    @krislui852 3 ปีที่แล้ว

    best explaination on aes algorithm.

  • @mehdiziazi5948
    @mehdiziazi5948 ปีที่แล้ว

    This is the clearest explanation I've found and it turned out to be the shortest 😂

  • @robertboran6234
    @robertboran6234 5 ปีที่แล้ว +5

    This is a very clear explanation of AES Rijndael Cipher but my question is how do you build the S-Box and the RCon tables ? It is somehow random (by design ?) or it has some other algorithm ? Also how do you get the matrix for the Rijndael Galois field ? because my problem is that if you use the same S-Box and Rcon you create a complex pattern of diffusion that can give away information (leak) about the cipher. Also is it possible to add more rounds ? or make the number of rounds change after each plaintext block is processed ? This is great stuff. Very nice job explaining this.

  • @Szklana147
    @Szklana147 4 ปีที่แล้ว +2

    Welcome to the the post-flash world ;)

  • @amiteshabhay6533
    @amiteshabhay6533 5 ปีที่แล้ว

    Very nice video. Helped a lot to understand the working of AES.

  • @imranayari
    @imranayari 5 ปีที่แล้ว

    I now found the simplest answer to my question, I mean the best out of all my findings. Thanks

  • @cymonevo344
    @cymonevo344 6 ปีที่แล้ว +7

    THIS HELP ME SO MUCH!!! THANKS!!!

  • @erickelizondo789
    @erickelizondo789 4 ปีที่แล้ว +1

    Amazing video, thank you so much!

  • @hennadiichmuzh8761
    @hennadiichmuzh8761 4 ปีที่แล้ว

    Key shedule. Notice, that first round constant (rcon) is (01 00 00 00), then it disappears from yellow table and appears in XOR

  • @Cookiemonster885
    @Cookiemonster885 4 ปีที่แล้ว

    Best explanation I've seen so far

  • @kamoljamilov6119
    @kamoljamilov6119 2 ปีที่แล้ว

    Thanks for illustration that is great

  • @lukefiedler4277
    @lukefiedler4277 7 ปีที่แล้ว +4

    Nicely done.

  • @ckcxx494
    @ckcxx494 6 ปีที่แล้ว +3

    that's amesome!! thank you very much

  • @sarasaber1827
    @sarasaber1827 4 หลายเดือนก่อน

    that is great. but why is the state block's numbers different by plaintext's numbers before starting subByte step?

  • @yusufyilmaztr
    @yusufyilmaztr 5 ปีที่แล้ว

    Thanks for this animation, it was very simple to understand :))

  • @gnarlic4202
    @gnarlic4202 3 ปีที่แล้ว

    Thank you so much, this helped me alot!!

  • @shaymaalshehhi6030
    @shaymaalshehhi6030 5 ปีที่แล้ว +1

    what an amazing video, great work ,

    • @AppliedGo
      @AppliedGo  5 ปีที่แล้ว

      Note that this is just a recording of a Flash animation, all I did is clicking at the right moment - see the video description.

  • @sowmyapc2431
    @sowmyapc2431 3 ปีที่แล้ว

    Thank u🙏.. It helped me to understand the process

  • @dasnachtgespenst
    @dasnachtgespenst 3 ปีที่แล้ว +1

    I'm not sure whether I'm understanding it correctly or not:
    When using a 256 bit key, do I just have to turn each "4 positions earlier" into an "8 positions earlier" and apply the rules at 3:23 to each word that is a multiple of 8 instead of 4? Furthermoe there's obviously a gap between key length and block length, so is each round key basically a derivation of a half of the original key?
    I would be soooooooooo happy and thankful if you could help me here. Im pretty confused and the original source "The Design of Rijndael" is incredibly hard to understand for me because of it's abstract nature. :(

    • @AppliedGo
      @AppliedGo  3 ปีที่แล้ว

      I am only the chap who recorded the Flash animation as a video, so don't expect AES expertise from me :)
      I think this thread on SO (crypto.stackexchange.com/q/2486) explains the effects of key size on the key schedule quite well.

    • @dasnachtgespenst
      @dasnachtgespenst 3 ปีที่แล้ว +2

      @@AppliedGo Thank you for your answer! :)
      I'am actually thorugh it now. :D One day I finally surrendered to the fact that I will have to work through the formulas of the key expansion because I could not find any animation or graphic that explains it an easy way. So I equipped a pen and lots of paper and started to translate each formula step by step into easy words and graphics. After a few hours I ended up with a huge graphic that shows the start of the content of the expanded key and several graphics and texts that explain each of the four rules for the key expansion. I develop a software for my master thesis, which uses AES. That's why it was important for me. :) I'll maybe explain it later under this video to help other people when I have more time. :)

    • @AppliedGo
      @AppliedGo  3 ปีที่แล้ว +1

      @@dasnachtgespenst Awesome! Now turn these graphics into an animated video and share it here! :-)

  • @nawafal-hashmi2677
    @nawafal-hashmi2677 6 ปีที่แล้ว +1

    Thank you so much it’s useful

  • @Mona-ob1dv
    @Mona-ob1dv 6 ปีที่แล้ว +1

    thank you very much that's very useful

  • @behradkazemi213
    @behradkazemi213 10 หลายเดือนก่อน

    it was very insightful thanks

  • @laughingbuddha7965
    @laughingbuddha7965 6 ปีที่แล้ว +1

    Thanks man!! Was very helpful

  • @nIrUbU01
    @nIrUbU01 4 ปีที่แล้ว

    This is great, thanks!

  • @khalilvahed1262
    @khalilvahed1262 4 ปีที่แล้ว

    it's very very helpful and good video thank U so much

  • @fatihsonmez
    @fatihsonmez 4 ปีที่แล้ว

    awesome vid bro. thx alot.

  • @tprice312
    @tprice312 ปีที่แล้ว

    Where is the sound?!!!!

  • @paulpham2850
    @paulpham2850 6 ปีที่แล้ว

    Very nice, thank you

  • @harrypehkonen
    @harrypehkonen ปีที่แล้ว

    I'm getting the same values, except for the last Round key (10), instead of
    d0 c9 e1 b6
    14 ee 3f 63
    f9 25 0c 0c
    a8 89 c8 a6
    ... I'm getting ...
    e6 54 e5 49
    13 d6 82 fc
    60 4e f1 a4
    24 9d 40 ef
    Sigh! Thanks for the awesome video! I'm getting closer! :D

  • @kinahhalim8482
    @kinahhalim8482 5 ปีที่แล้ว +6

    hi, is there any details explanation on how to do the mix column part.step by step
    hit the comment button please
    Thank you

    • @qwerty.760
      @qwerty.760 4 ปีที่แล้ว

      in mix column, Galois field is used to multiply. Search Galois field in TH-cam. Here addition is xor, multiplication is modulus. Watch the below video to get an idea:
      th-cam.com/video/O4xNJsjtN6E/w-d-xo.html&ab_channel=Computerphile

  • @arashheidari9096
    @arashheidari9096 6 ปีที่แล้ว +1

    amazing

  • @LL-ix5ss
    @LL-ix5ss ปีที่แล้ว

    Hi,May I ask what the plaintext is?

  • @clairedelalune6263
    @clairedelalune6263 3 ปีที่แล้ว

    Good job 👏 thanks 😍

  • @fikrizainul8450
    @fikrizainul8450 3 ปีที่แล้ว

    AES explanation with flAES animation

  • @tubamahmood287
    @tubamahmood287 5 ปีที่แล้ว

    Easy to understand through graphics...

  • @황래빈-g3l
    @황래빈-g3l 5 ปีที่แล้ว

    Great explaining!

  • @DuyNguyen-qe5lx
    @DuyNguyen-qe5lx 3 ปีที่แล้ว

    thank you so much

  • @pc0riginal870
    @pc0riginal870 5 ปีที่แล้ว

    Thank you so much

  • @HevaTahir
    @HevaTahir 2 ปีที่แล้ว

    excuse me, what if my hexa was e only. is it stays as it is on the Sub Byte s table?

  • @littleq5546
    @littleq5546 4 ปีที่แล้ว

    It looks like it would be good.. but is there supposed to be sound??

    • @AppliedGo
      @AppliedGo  4 ปีที่แล้ว

      No, as mentioned in the description, there is no audio track. I am just clicking through the flash app, to preserve it for the times when the very last flash player will have died.

  • @hawlhu
    @hawlhu 7 ปีที่แล้ว

    真的讚讚讚的說,馬上按個讚的說

  • @1UniverseGames
    @1UniverseGames 3 ปีที่แล้ว

    How do we Program it in Python?

  • @kunalsoni7681
    @kunalsoni7681 3 ปีที่แล้ว

    wow great video💚

  • @angelman4374
    @angelman4374 3 ปีที่แล้ว

    i wonder , can we create our own algorithm by changing s-box table , how can we do it. if we do it random , do it work ?

  • @mcgough1088
    @mcgough1088 4 ปีที่แล้ว

    Where does the IV come into this?

    • @AppliedGo
      @AppliedGo  4 ปีที่แล้ว

      I am not an AES expert - see the video description. I just recorded this click-through at a time when Flash animations were still working in browsers, to preserve this awesome work for the future.

    • @ywanHK
      @ywanHK 4 ปีที่แล้ว +1

      short answer: prior to the encryption
      long answer: it depends on which mode you are using 👇
      - *If you are using ECB or CTR* , no IV is required
      - *If you are using CBC* , the IV is XORed with the message before it is passed to the encryption rounds
      - *If you are using CFB* , the IV is passed through the encryption rounds and the original message is XORed with the encrypted IV

  • @vermavarun007
    @vermavarun007 6 ปีที่แล้ว

    Can you explain round key and key schedule in more depth

    • @AppliedGo
      @AppliedGo  6 ปีที่แล้ว +1

      Sorry, I cannot comment on the details. This animation is not from me. I only preserved it as video because the Flash format is obsolete. See the video description for more details. I should have made this clear in the video itself, not only in the description.

  • @taewanp
    @taewanp 3 ปีที่แล้ว

    Why is key expansion different than the actual AES?

    • @AppliedGo
      @AppliedGo  3 ปีที่แล้ว

      Good question. I only recorded the original Flash animation to save it for the post-Flash era, so I cannot comment on the implementation details.
      (BTW, recently someone created a new interactive HTML5/JS based version, see the video description for details)

  • @kk-io4bt
    @kk-io4bt 6 ปีที่แล้ว

    Quite useful, thanks :)

  • @esraamahmoud4776
    @esraamahmoud4776 6 ปีที่แล้ว

    Rotate right or left???

  • @Majed_Vu
    @Majed_Vu 4 ปีที่แล้ว

    عندي Midterm باجر وانا مب فاهم هالدرس :) الله يستر بس
    يارب انجح وافتك من هالمادة cryptography ....

  • @leoneedykt8892
    @leoneedykt8892 5 ปีที่แล้ว +1

    YOU BEST!!!!!!!!!!!!!!!!!!!!!!!!!!

    • @AppliedGo
      @AppliedGo  5 ปีที่แล้ว

      Note that this is just a recording of a Flash animation, all I did is clicking at the right moment - see the video description.

  • @akshaydighorikar1257
    @akshaydighorikar1257 6 ปีที่แล้ว

    what is plain text and key you used? and which mode you use?

    • @AppliedGo
      @AppliedGo  5 ปีที่แล้ว +1

      I did not do this myself. This is just a "click through" I did to preserve that Flash animation when Flash will not be available anymore. See the video description for more details.

  • @vikshitganjoo5541
    @vikshitganjoo5541 6 ปีที่แล้ว

    that was really good cleared my though aes.

  • @tomasvlk9341
    @tomasvlk9341 5 ปีที่แล้ว

    Briliant

  • @dlawnsgur283
    @dlawnsgur283 6 ปีที่แล้ว

    Thank you@@

  • @eusunteu9483
    @eusunteu9483 ปีที่แล้ว

    Profu de Bc2 sa traiti🎉🎉🎉

  • @bozydarzniebios5219
    @bozydarzniebios5219 5 ปีที่แล้ว

    super

  • @AjinGixtas
    @AjinGixtas 8 หลายเดือนก่อน

    Came here from a Cryptohack's lesson. Great video.

  • @bozydarzniebios5219
    @bozydarzniebios5219 5 ปีที่แล้ว

    cool bro

  • @ziaulmustafadanish1286
    @ziaulmustafadanish1286 4 ปีที่แล้ว

    @S3TI
    AES with Example in hindi

  • @bozydarzniebios5219
    @bozydarzniebios5219 5 ปีที่แล้ว

    fajny film

  • @0.0-k4n
    @0.0-k4n 6 ปีที่แล้ว

    coooooool

  • @PirateFunk
    @PirateFunk 4 ปีที่แล้ว

    based

  • @bozydarzniebios5219
    @bozydarzniebios5219 5 ปีที่แล้ว

    wstyt prawicy

  • @bozydarzniebios5219
    @bozydarzniebios5219 5 ปีที่แล้ว

    jednak mi sie nie podoba

  • @bozydarzniebios5219
    @bozydarzniebios5219 5 ปีที่แล้ว

    ze wam tak po prostu po lucku nie wstyt

  • @unknownerror1121
    @unknownerror1121 3 ปีที่แล้ว

    Ndak bisa basa enggres