0
$\begingroup$

I came across a comment about AES 128 without ShiftRow. I want to use this weakness to perform an attack. So far, I get that It possible to divide in 4 independent blocks of 32 bits. So we can launch a attack independently for each block. However, as the key scheduling use all the master key, I don't know if it is possible to make a group force attack with all round.

Currently, I know that I can differential attack with less rounds.

Can someone tell me if it is possible to break the whole AES 128 (without ShiftRow) with brute force? How can I perform it?

$\endgroup$
2
  • 2
    $\begingroup$ Technically draw the AES round and see the action then decide how you can attack. This is the easiest part! $\endgroup$
    – kelalaka
    May 21, 2022 at 12:43
  • $\begingroup$ Yes, I understand but if I want to brute force for instance the first block of they master key I also need other 3 blocks for the following rounds. So, I don’t get how to use the property of block independency ! Maybe I miss understand something as I am a beginner $\endgroup$
    – b_ptist_
    May 21, 2022 at 18:11

1 Answer 1

1
$\begingroup$

I came across a comment about AES 128 without ShiftRow. I want to use this weakness to perform an attack. So far, I get that It possible to divide in 4 independent blocks of 32 bits.

Now, brute force and differential/linear based attacks are not likely to work. However, there is a different approach.

It is effectively 4 different 32 bit block ciphers, interleaved.

So, how would you break a 32 bit block cipher? By an attack on the limited size of the code book.

If the person using the modified AES cipher was silly enough to use CTR mode, it's easy - an increment of the counter almost never modifies 3 of the 4 32-bit block ciphers, hence 3/4 of the plaintext is easy to deduce. The last 1/4 might be harder, however at that point, I would claim it is, by any reasonable standards, broken.

If we consider CBC mode (where the inputs to the block cipher is effectively randomized by xor'ing in the previous ciphertext block), we can consider what happens if you have, say, a Megabyte of ciphertext output. At that point, you have 256K inputs for each of the 4 32-bit block ciphers, that is, 64k block inputs. At this level, we would expect several collisions (that is, places where two inputs to the same block cipher are the same, resulting in the same output); each collision would reveal the xor of two 4-byte sections of the plaintext. While not nearly as bad as the CTR mode case, it can still reveal more information than we'd like (and the probability that any section of the plaintext is involved in a leak increases with the amount of ciphertext that is available to the attacker).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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