17
$\begingroup$

NIST selected Rijndael in 2000 to be AES. In a paper from the Serpent authors, they mention that there was the possibility of choosing a second cipher as a backup in the case of any severe breaks:

I believe that there should be only one standard. NIST should decide on one standard in order to ensure that the standard is accepted and adopted as soon as possible. However, NIST can publish the choice of a backup cipher which will replace the standard in case it is broken or in case other circumstances (such as intellectual property problems) will prevent it from being used by the public.

NIST has not done this, according to section 2.4 of a report from NIST. Is there any process in place in the event that a severe cryptanalytic attack against AES is discovered? Imagine it's 2029 and a new paper comes out showing that all 14 rounds can be broken with a complexity of $2^{50}$ and a negligible amount of known plaintext. Would there be any official steps taken by NIST, for example changing the standard to use more rounds? Would one of the other AES candidates be chosen as AES2?

I don't believe that there will be a major break in the cipher without prior cryptanalysis showing it to be gradually weaker and weaker, so I highly doubt the total break, if one is ever discovered, will come as a surprise. However, I am still curious to know if there is an official policy on the matter.

$\endgroup$
5
  • 2
    $\begingroup$ I think the first approach against an attack was the increasing key size. Though this may not prevent all kind of attacks. $\endgroup$
    – kelalaka
    Commented Jan 17, 2019 at 8:49
  • $\begingroup$ @kelalaka increasing key size does not nessecarily increase the security. For example, the best known attack on AES256 is better than the best known attack on AES128. $\endgroup$
    – redplum
    Commented Jan 17, 2019 at 12:11
  • 1
    $\begingroup$ @redplum That's a related key attack which is not an issue when you're using AES with random keys. $\endgroup$
    – forest
    Commented Jan 17, 2019 at 12:12
  • 2
    $\begingroup$ Note that chances are that a replacement of all AES implementations would take about a decade (based on similar estimates for a migration to PQ crypto), longer if additional time is needed to select a replacement (2-5 years). $\endgroup$
    – SEJPM
    Commented Jan 17, 2019 at 12:38
  • 6
    $\begingroup$ Of course, with the government shutdown, this question could not have come at a worse time. $\endgroup$
    – Maarten Bodewes
    Commented Jan 17, 2019 at 13:58

2 Answers 2

16
$\begingroup$

I'm not aware of any official NIST policy on the matter, so I can only make educated guesses.

I guess new algorithms have sprung up and are already in place. ChaCha20 is used in TLS 1.2 and 1.3. For hash functions, neither SHA-2 nor SHA-3 are depending on AES in any way. The sponge function in Keccak (SHA-3) can also be used as a symmetric cipher (Ketje, Keyak and Kravatte) and - with a bit of tweaking - as MAC (KMAC). So rather than to move backwards I think NIST would simply standardize on existing ciphers together with more modern ciphers based on Keccak.

Although I see merit in the answer of AleksanderRas, I personally don't think that one of the original AES candidates would be chosen as new AES (or FES, for fixed encryption standard). The world has moved on; there are likely more secure and certainly faster block ciphers around. For instance, I could see that Bruce Schneier and the Skein team would choose Threefish over Twofish. Possibly Serpent would make a chance if Rijndael is broken, as runner up with a high security margin. It does seem to have much in common with AES though, so maybe a break could also influence the security of Serpent, even if it does have a high number of rounds.

This brings us to an important final point: possibly a broken AES could simply be fixed by upping the number of rounds. In that case: the king is dead, long live the king. The hardware is there after all, and quite often the number of rounds can be configured. This would make the most sense in the short term and would allow NIST some breathing space to think of a replacement.

$\endgroup$
7
  • 6
    $\begingroup$ And another one 3-AES :) $\endgroup$
    – kelalaka
    Commented Jan 17, 2019 at 15:48
  • 3
    $\begingroup$ Thanks for the corrections, kelalaka. I think AESede sounds better :) $\endgroup$
    – Maarten Bodewes
    Commented Jan 17, 2019 at 16:18
  • 1
    $\begingroup$ I wanna see the Keccak cipher. $\endgroup$
    – Joshua
    Commented Jan 17, 2019 at 17:22
  • $\begingroup$ Why would they choose Threefish? Wasn't it designed for Skein, not as a general-purpose block cipher? $\endgroup$
    – forest
    Commented Jan 19, 2019 at 3:12
  • 1
    $\begingroup$ I've named 3 candidate Keccak based ciphers in my answer : Ketje, Keyak and Kravatte. I'd rather use one of them than SHAKE, if just because SHAKE won't have any explicit key handling in a library interface. $\endgroup$
    – Maarten Bodewes
    Commented Mar 12, 2019 at 8:16
4
$\begingroup$

Selection process

  1. January 1997: The Department of commerce, with combination of the National Institute of Standards and Technology (NIST), announced an international search for a successor of DES.

The requirements for AES are:

  • AES must be a symmetrical algorithm, specifically a block cipher
  • AES must use 128-bit block sizes (192-bit and 256-bit could be possible extensions)
  • AES must support key sizes of 128-bit, 192-bit and 256-bit
  • AES must be relatively easy to implement in hardware and software
  • AES must have an above average performance
  • AES must be resistant to all known attacks of cryptanalysis (especially power- and timing-attacks)
  • AES must be usable in Smartcards (low computer memory)
  • AES must be free of use and open source

The possiblity to submit a possible AES ended on June 15. 1998.

In total there were 15 proposals submitted.

5 out of 15 were selected as a possible successor to DES, which will be named AES:

All of these algorithms met the requirements. The Rijndael algorithm was chosen because it was especially high-performance in hardware and software (it only needs 500 lines of code in C).

Even though I could not find any notion of "next-steps" if the current AES would be broken (also as of now NIST is partly down because of the government shutdown), I, personally, would suggest the following: Try the attack that breaks the Rijndael algorithm on the other 4 algorithms and evaluate if it also breaks any of these. If one is resistant to this attack, then that one should be chosen as the new AES.

$\endgroup$
3
  • 2
    $\begingroup$ If one is resistant to this attack, then that one would be chosen as the new AES. - I think you really need a citation for this claim. "I think" is not a good format for answers regarding the official policies of NIST. It might seem like a reasonable thing for them to do, but that doesn't mean it's what they plan on doing. $\endgroup$
    – Ella Rose
    Commented Jan 17, 2019 at 15:57
  • 1
    $\begingroup$ True, I changed my answer to make it more clear that this is my personal opinion on the matter $\endgroup$ Commented Jan 18, 2019 at 8:17
  • 1
    $\begingroup$ I already know what I would personally do. I also feel I know what certain major vendors would do, but that doesn't answer what the US government would do for the standards. After all, if a major vendor switches to 18-round Rijndael or to Serpent, they could no longer claim to be using a government standard. The companies that absolutely need to use a government standard would probably revert to 3DES. $\endgroup$
    – forest
    Commented Jan 19, 2019 at 3:15

Your Answer

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

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