1

I was studying the Rijndael Block Cipher for an assignment. I am looking for a (layman-ish) explanation as to why the cipher is secure. Googling did not seem to be give any good explanations. The paper linked itself is a bit too high level for me to understand.

Could anyone explain the security or give a reference to where one could read about it?

hello
  • 113
  • 2
  • 5
  • Thank you, @DannyNiu, that is helpful but I am still keeping it up in case there are other answers. – hello Nov 15 '20 at 08:44
  • 1
    Section 8 in the paper you linked details the various types of attacks it is secure against.

    The most layman explanation of it's security is that it's secure today because the best attacks on 128bit AES require billions of years of computation time, and 9007 terabytes of storage space.

    – Modal Nest Nov 15 '20 at 11:32
  • @ModalNest: Thank you. However, if I understand correctly, that is only telling why in the sense: why it's infeasible. What I was more interested is the "how", that is, what exactly are the operations in the AES rounds which give it the security. What makes the AES so good that the best attacks require so much computation time? – hello Nov 15 '20 at 12:13
  • 1
    All of the operations of AES are what makes it so good. They are all there for a reason. Section 8 of the paper you linked goes into specific detail about different attacks and how AES guards against them (which is what makes it infeasible to date). It's difficult to understand exactly "how" without understanding the various types of attacks. Basically confusion and diffusion. It takes so much computation time largely because of the key size. If brute forcing takes 5 billion years, the clever attacker does it in 3 billion years. – Modal Nest Nov 15 '20 at 13:47

1 Answers1

3

Rijndael follows (like all decent cryptographic algorithms, to my knowledge) the principles of confusion and diffusion, formulated by Claude Shannon. Confusion means the ciphertext depends on the plaintext and the key in a highly nonlinear way, i.e. the function that calculates a specific output bit from the input (plaintext, key) is not a polynomial of low degree in the finite field $\text{GF}(2)$. Diffusion means that every bit of the input affects every bit of the output. Also, the computations that create confusion and diffusions are intertwined so that every information bit is fed into a confusion-creating operation and then spreads over the whole block multiple times, at least 4 or 5 times during the encryption.

kelalaka
  • 48,443
  • 11
  • 116
  • 196
ThomasM
  • 122
  • 6