I am trying to understand how AES is comparable to GOST 28147-89 "Magma". Like for parameters such as bit shifting and addition of the subkey to the input, which are a part of Magma, what is their replacement in AES? Also, how is S-box application in AES different from that of Magma?

Why is swapping of halves not required in AES?

  • $\begingroup$ "there is no S-BOX application in AES" I think you need to read the technical paper on AES to get a better understanding $\endgroup$ May 15 '18 at 19:44
  • $\begingroup$ Which GOST do you mean? GOST 28147-89, a 64-bit block cipher nicknamed Magma? GOST R 34.12-2015, a 128-bit block cipher nicknamed Кузнєчик (Kuznyechik)? Saying ‘GOST’ is like saying ‘ANSI’; it's a set of standards about everything from canned stewed beef to block ciphers to programming languages to railway emergency procedures. $\endgroup$ May 15 '18 at 19:45
  • $\begingroup$ GOST, a 64-bit block cipher $\endgroup$
    – Dbasant
    May 15 '18 at 19:46
  • $\begingroup$ What research have you done? Can you do enough research to recognize that AES does an S-box? (There's an entire Wikipedia article on the S-box alone.) $\endgroup$ May 15 '18 at 20:25

I am trying to understand how AES is comparable to GOST

Except for them both being block ciphers, and relying on similar components (e.g. sboxes), there is actually very little similar to how they work internally.

GOST (Magma, as Squeamish points out, GOST is a fairly generic term) is a fairly straight forward Feistel cipher internally, where the block being operated on is split into two halves, and then one half is modified (based on the other half and the key); this is done 32 times. Decryption is done by performing the cipher, but with an inverted key schedule.

AES, in contrast, is a Substitution/Permutation cipher; each round (except the last, which is slightly different) can be viewed as the concatenation of four operations, each of which operates on the entire block. Decryption can be viewed as performing each of these suboperations in reverse (as each one is invertible).

Like for parameters such as Bit shifting

AES doesn't have any explicit 'bit shifts'. Now, one of the suboperations is called MixCollumns; in the forward direction, it involves a Galois multiply of the elements by 1, 2 and 3; I suppose you could look at multiplying by 2 and 3 as 'kind of' bit shifting, but that's a strained comparison IMHO.

addition of the subkey to the input

Magma stirs in the subkey by xoring the input to the sbox (which affects the other side). In contrast, AES xor's the subkey into the entire block.

how S-BOX application in AES is different than GOST?

Magma uses the sboxes (8 different 4 bit to 4 bit sboxes) as a part of the Feistel function (to select the value that affects the other side). In constrast, as one of the suboperations, AES applies the (single 8 bit to 8 bit sbox) sbox individually to each byte of the block (which implies that the AES sbox must be invertible).

Why swapping of halves is not required in AES?

Because AES is not a feistel network. Magma swaps halves, to make decryption easier (so that the decryption operation is precisely the same as the encryption operation, except that the key schedule is reversed). AES uses a different method for doing decryption, and so it has no reason to swap halves.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.