Slashdot Mirror


Another New AES Attack

Jeremy A. Hansen writes "Bruce Schneier gives us an update on some ongoing cryptanalysis of AES. 'Over the past couple of months, there have been two new cryptanalysis papers on AES. The attacks presented in the paper are not practical — they're far too complex, they're related-key attacks, and they're against larger-key versions and not the 128-bit version that most implementations use — but they are impressive pieces of work all the same. This new attack, by Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich, and Adi Shamir, is much more devastating. It is a completely practical attack against ten-round AES-256.' While ten-round AES-256 is not actually used anywhere, Schneier goes on to explain why this shakes some of the cryptology community's assumptions about the security margins of AES."

26 of 93 comments (clear)

  1. That's nice... by clone53421 · · Score: 3, Insightful

    But all I really want is something that'll crack a RAR password without taking months. (AES-128)

    --
    Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  2. There is no such thing as ten-round AES-256 by Anonymous Coward · · Score: 5, Interesting

    AES-256 by definition has 14 rounds. AES-128 has ten rounds. Ten rounds were determined by the designer to give enough security to support a 128 bit keyspace. Not 256 bits. For 256 bits, the designers specified 14 rounds.

    AES is based on a cipher called Rijndael, whose number of rounds, number of key bits, and maybe block size (not sure of the last) can be set arbitrarily. So there is such a cipher as 10-round Rijndael-256. For that matter, there is even 1-round Rijndael-256, which is of course insecure. And there's 1000-round Rijndael-128, which is secure but dirt slow. The AES standardization process used Rijndael parameter settings which the designers claimed to be as fast as possible while still being secure to the strength specified by the key size. That is, the used the minimum sufficiently-secure number of rounds for the key size.

    Got that? For AES-128, the designers said 10 rounds was enough. For AES-256, this new research showed that 10 rounds is not enough, which is what the designers pretty much said all along, though nobody had a specific proof of that until now.

    1. Re:There is no such thing as ten-round AES-256 by johannesg · · Score: 3, Interesting

      Do you know why AES-256 is apparently more vulnerable than AES-128? Reading the article, attacks on AES-256 have apparently reduced the search time far more (to 2^119) than they have for AES-128 (which still stands at 2^128). Shouldn't a longer key make the attack more difficult as well because it increases the search space?

    2. Re:There is no such thing as ten-round AES-256 by Ex-Linux-Fanboy · · Score: 4, Informative

      To be more precise, Rijndael has two parameters:

      • Key size, which can be 128, 160, 192, 224, or 256 bits in size
      • Block size, which can also be 128, 160, 192, 224, and 256 bites in size

      This means Rijndael is a set of 25 different ciphers; AES is a subset of three of these ciphers. The number of rounds is derived from the maximum of these two parameters; for a 256-bit key and 128-bit block, it is defined as 14 rounds. Fewer rounds means we're not analyzing Rijndael, but a reduced-round Rijndael variant.

      Related key attacks, by and large, are only an issue with "make a hash out of a block cipher" constructions. I don't know offhand if this is an issue with Whirlpool, a hash construction using an AES variant; as I recall, some changes were made to the key schedule of Whirlpool.

    3. Re:There is no such thing as ten-round AES-256 by evanbd · · Score: 5, Insightful

      Reduced-rounds attacks are a standard cryptographic technique. You start by breaking a reduced strength version of the cipher with a completely impractical attack that's marginally better than brute force. Then someone comes along and observes that they can improve your attack to more rounds or shorter time. Then that repeats a few times. Eventually, the cipher is broken.

      No, they haven't broken AES. However, this is a step along the way. If the designers of AES had known that there was a good attack against the 10-round version, they wouldn't have recommended 14 rounds -- standard practice is to include a larger safety factor than that. This is a big deal, not because you can now break AES, but because the attacks are much closer to doing that than previously thought. Hence, the recommendation by Schneier to move to 28 rounds -- improve the safety factor. Attacks always get better, never worse. It's possible (though unlikely) that there are unpublished attacks on AES known by some organizations -- and the closer to a real break the publicly known attacks are, then the more plausible that scenario becomes. Attacks that get this close and weren't anticipated by the cipher designers are scary things.

      Also, this is a related-key attack -- meaning the attacker needs two keys that are related somehow and the same piece of plaintext encrypted with both. If the implementation of AES that you use does a good job of selecting a truly random key, then the attacker can't implement this attack because he can't get you to use the requisite pair of related keys. That doesn't mean it isn't a valid attack, just that it's an attack that can be defended against. Again, the biggest worry is that someone will take this attack and realize how to improve upon it to make an attack that's even better.

    4. Re:There is no such thing as ten-round AES-256 by Joce640k · · Score: 5, Insightful

      AES-256 and AES-192 are really AES-128 in disguise. They were created only to meet NIST requirements for three different key sizes, not from any practical security reasons (128 bits is definitely enough to prevent brute-force cracking).

      The AES algorithm needs 128 bits of key for each pass through the encryption loop.

      For AES-256 they select 128 bits from the 256-bit key for each round. Some of the key bits don't make it into the encryption loop until quite late in the process so in the final output they've only had a few rounds of encryption and can be brute-forced with much less than 2^256 effort. When you have some of the key you can go back and get a few more bits, and so on...

      nb. The designers weren't stupid, they designed AES-256 to completely lose the key and this attack doesn't work against all twelve rounds of AES-256. The surprise is that somebody managed to extract the key out of a ten round version. This was unexpected.

      nb. In AES-128 *all* of the key bits have been through *all* the rounds of encryption so inferring anything about the key by looking at the output is much more difficult (and hopefully impossible).

      --
      No sig today...
    5. Re:There is no such thing as ten-round AES-256 by darpo · · Score: 2, Funny

      This is Slashdot, home of thousands of Asperger's sufferers. He probably has a whole world that's known only to him.

    6. Re:There is no such thing as ten-round AES-256 by slackergod · · Score: 4, Informative

      Another (somewhat less-well known) thing that can be done is to use OAEP+ (http://en.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding) to encrypt the datablocks that you're transmitting. The link is to OAEP but OAEP+ is probably what you'd want to use with AES... I don't have a link handy, and the basic principle of the two is the same...

      The OAEP algorithm scrambles your data chunks by XORing your plaintext with randomly generated bits, but done in a way that's recoverable IF and ONLY IF you have the entire ciphertext decoded (designed for RSA, but can apply to AES). This means that the same key+plaintext will always result in different ciphertext, and also means that in order to get any useful bits of key/plaintext information, the attacker must get them all, or they're just guessing as to which set of random bits OAEP used (and it generally puts 128 bits worth in).

      While the actual OAEP protocol is a block-level action, and the safe version adds 128 bits of randomness (and thus size), the general idea can be modified to be as cheap or expensive as you want... the idea in general makes many asymetric ciphers MUCH more secure.

  3. AES crack by mwvdlee · · Score: 5, Funny

    So I guess this is an AES-hole?

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:AES crack by ozbird · · Score: 2, Funny

      Sounds like the cryptographers need to do their belts up a notch; nobody likes to see AES cracks.

  4. Practical? by GigsVT · · Score: 5, Insightful

    I'm not sure how practical it is for any "programmer on the streets" to pay attention to this sort of thing.

    Time and again it's the stupid stuff that gets us... broken implementations, not broken algorithims. Like the null terminated strings in SSL certs, or the Debian ssh keys being one out of only 64k possible.

    I say this because I have to constantly hear stupid stuff from fellow programmers like "MD5 is broken!!!11". They make design choices based off these unlikely attacks, without fully understanding the real nature of this stuff.

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
    1. Re:Practical? by UltimApe · · Score: 5, Informative

      I've seen real world attacks against md5 where being used as a checksum/verification. Malicious individuals injected code, but the md5 didn't change. http://en.wikipedia.org/wiki/MD5#Vulnerability We researched it in a security course I took recently.

      --
      "Infecting minds with my own memetic virus, one post at a time." Ultimape
    2. Re:Practical? by Conley+Index · · Score: 2, Insightful

      > I'm not sure how practical it is for any "programmer on the streets" to pay attention to this sort of thing.

      These "any programmer on the street" guys hopefully never implement anything in the vicinity of crypto code.

      You do not need to read the papers. Reading something like http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html -- if you happen to trust Colin Percival -- should be enough, if you do not try to be creative in what you use.

      What is so bad about considering MD5 broken and make design choices because of that? Better than the other way around, if you are not in the field. How much more expensive is it to verify an MD5 and an SHA256 hash instead of MD5 only -- for many practical application, it is irrelevant. So why not do it?

  5. Re:That's nice...makes you wonder... by lorenlal · · Score: 4, Funny

    Like posting here?

  6. The beauty of public cryptographic algorithms by al0ha · · Score: 5, Insightful

    The best minds in the world work on cracking them and come up with theoretical proofs of a weakness which ultimately prove to everyone, beyond the shadow of a doubt, the security of the algorithm. Too bad many corporations don't understand and try to create closed cryptographic algorithms which, in almost every case, turn out to be very lame.

    --
    Did you ever wake up in the morning, with a Zombie Woof behind your eyes? -- FZ
    1. Re:The beauty of public cryptographic algorithms by natehoy · · Score: 5, Funny

      Like one of my bosses once said, years ago, "If we implement industry standards in our processes, then we'll be doing things just like everyone else does! Where's the competitive advantage in THAT?"

      --
      "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
  7. Re:That's nice...makes you wonder... by autocracy · · Score: 4, Insightful

    Roughly quoting Bruce from a few hours ago at DEFCON: "Cryptographers need to write papers... the best way to write something is to break something. Nobody wants to read about all the work you did to setup something... they want to know how you tore it apart. That's how you get cred before you submit an algorithm."

    --
    SIG: HUP
  8. Re:That's nice...makes you wonder... by sortius_nod · · Score: 2, Interesting

    I also find, for myself, that the best way for me to learn is to deconstruct what I want to learn about. Physical or not, the deconstruction gives you insight into how the hardware/software works.

    It's all fine to know something exists, but finding out how it works is a different matter.

  9. Not sure if its time for AES2, but... by mlts · · Score: 3, Interesting

    Even though AES is far from being truly broken, I wonder if it's time for NIST to start working on the AES2 spec. Maybe Serpent would be a good candidate because it was discussed that it had a larger margin of safety than Rijndael/AES.

    As stated in TFA, attacks only get better and better, so every decade or so, maybe it would be time to consider another standard encryption algorithm. The reason DES lasted so long as an algorithm was that cryptography was not as vital to day to day operations as it is now, so a complete break would have been more of an academic excercise than one that would get the cryptographer financial gain. These days, if a blackhat does a break, or reduces the keyspace to a low level where brute forcing is possible, there are billions of dollars to be gained.

  10. ..longer key make the attack more difficult.. by roguegramma · · Score: 2, Interesting

    Well, if you had asked whether more rounds make the attack more difficult, then I would have an answer: more rounds don't necessarily make the attack more difficult.

    To verify this take a rubiks cube in its solved state. Hold it such that your fingers touch the top middle and bottom middle square. Now begin to rotate the right side of the cube by one turn, then turn the entire cube by 90 degrees. Repeat this. After some time you will notice that the cube begins to return to the starting position, although it looked quite mixed in between.

    Mixed= Good hashing function
    Solved= Very bad hashing function

    --
    Hey don't blame me, IANAB
  11. Re:Not sure if its time for AES2, but...BUT THIS.. by Nom+du+Keyboard · · Score: 2, Insightful

    attacks only get better and better, so every decade or so, maybe it would be time to consider another standard encryption algorithm.

    That does nothing to protect all of the existing AES data. And you can't go back and simply re-encrypt the old data to the new standard. The whole idea of encrypting it in the first place was that it was likely to get stolen somewhere along the way and when it did it would never be of any use to the thief. There is a lot of AES protected data that has been copied and can simply be held until an AES crack arrives -- or the key is determined by other means.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  12. Re:TwoFish by QuoteMstr · · Score: 2, Interesting

    Maybe. Twofish is almost as fast as AES, and possibly more secure. Schneier has a lengthy discussion in Practical Cryptography on possible weaknesses in AES that are a result of its simple algebraic structure, and to this day there are no successful attacks against Twofish or its 64-bit-blocked ancestor Blowfish. Then again, AES has received more scrutiny.

  13. Re:TwoFish by whoisisis · · Score: 2, Interesting

    > They should have picked TwoFish.

    I would choose TwoFish over AES because TwoFish was very close to being picked as a standard,
    and didn't make it. That means AES gets all the attention, and "nobody" attacks TwoFish.

    However, if they'd chosen TwoFish, would we today be reading about a new veakness of TwoFish,
    and would you have made a comment on how they should've picked AES ?

  14. Re:There is no such thing as ten-round AES-256 *$* by dch24 · · Score: 2, Insightful

    Good point.

    If we move to 28 rounds now, then the hope is that by the time AES-256 with 14 rounds is broken, there will not be much valuable data left encrypted with it.

    I think it's a safe assumption that the value of data decreases with time.

  15. Re:There is no such thing as ten-round AES-256 *$* by setagllib · · Score: 2, Insightful

    If attackers against any system have the resources to store all of the system's traffic in the hopes of decrypting it with a complete break later (e.g. as WEP was broken after months/years of wireless traffic), then the fact is they'll have a lot of sensitive information. To an individual, corporation or defence organisation, there is plenty of "old" data that would be very damaging for others to have, and yet in general the old data inches closer to exposure. So sure, it drops in value, but never enough to make a break acceptable.

    --
    Sam ty sig.
  16. Re:That's nice...makes you wonder... by Anonymous Coward · · Score: 2, Funny

    Ah now I understand, you guys just wanted to *understand* Iraq.