87
$\begingroup$

The cipher AES-256 is used among other places in SSL/TLS across the Internet. It's considered among the top ciphers.

In theory it's not crackable since the combinations of keys are massive.

Although NSA has categorized this in Suite B, they have also recommended using higher than 128-bit keys for encryption.

So how secure is this cipher really? Should you assume the worlds top cracker-institutions are near or have cracked it already?

$\endgroup$
10
  • 3
    $\begingroup$ A side note; in general, this question crypto.stackexchange.com/questions/579/… has some good answers on how we can reason about government capabilities. $\endgroup$
    – user46
    Commented Apr 1, 2012 at 17:59
  • 3
    $\begingroup$ By the way, it would be a mistake to assume that AES256 is more secure than AES128. Much more serious attacks are known against AES256 than are known against AES128. $\endgroup$ Commented Apr 1, 2012 at 19:30
  • 6
    $\begingroup$ @DavidSchwartz: The related key attack is mostly of interest when e.g. designing a hash from AES, as far as I understood. It does not really translate to e.g. SSL where there certainly shouldn't be any relation between the session keys. $\endgroup$
    – Maarten Bodewes
    Commented Apr 2, 2012 at 1:12
  • 1
    $\begingroup$ "In theory it's not crackable since the combinations of keys are massive." – It is simply not true. A large number of encryption key combinations does not ensure any security level. $\endgroup$
    – user12107
    Commented Feb 20, 2014 at 8:28
  • 2
    $\begingroup$ The comment by @user12107 is flat-out incorrect. AES does not have any known "weak key" problems like DES or RSA have. $\endgroup$ Commented Feb 21, 2014 at 23:04

5 Answers 5

59
$\begingroup$

I wouldn't assume that the NSA has cracked AES ciphers. I would assume that most crypto systems that use AES have implementation flaws that the NSA exploits when they feel it is worth it.

In any case, when the only possible way a state can know something is by breaking a cipher, it's difficult for them to use that information; doing so would reveal that the cipher is broken. So in practice, a broken cipher is more likely to be used as a shortcut to find something that could be discovered (albeit with more difficulty) by other methods.


You might be interested in this recent story and commentary about NSA's crypt analytical capabilities.

$\endgroup$
5
  • 1
    $\begingroup$ A very good point. $\endgroup$
    – Gustav
    Commented Apr 1, 2012 at 17:04
  • $\begingroup$ That is a very interesting way to answer to someone who talks about NSA capabilities. $\endgroup$ Commented Mar 19, 2014 at 13:01
  • $\begingroup$ Didn't like your answer, albeit I like that you use albeit in it. $\endgroup$
    – useless
    Commented Oct 31, 2017 at 13:47
  • $\begingroup$ Is this answer still up todate? $\endgroup$
    – Z0OM
    Commented May 1, 2022 at 9:44
  • $\begingroup$ @BlockchainOffice Do you mean is it still safe to assume that no one has broken AES? Yes. It has not been broken, and NSA still recommends its use to other US government agencies. What prompted your doubt? $\endgroup$
    – erickson
    Commented May 2, 2022 at 15:01
36
$\begingroup$

An interesting thing about some modern standardized ciphers, like AES, is that the government is "eating its own dogfood" by using them internally. (AES 192 and 256 are approved for top-secret data.) Back in the day (up through the 90s), U.S. government internal encryption standards was not closely aligned with public sector cryptography, and we largely had to speculate as to whether public crypto could hold up to the government standards; the NSA had a history of knowing more crypto than they let on. But now that they are willing to stake their own security on them, that seems like a decent endorsement of those algorithms.

The U.S. government has conflicting goals: they want to be able to break crypto, but at the same time, in the interest of protecting the citizen in the digital age, they want us to be protected against the crypto attacks of others. So much of our modern economy relies on crypto that we want a high security margin on it. Since the 90s, crypto knowledge in the public and foreign intelligence domains has sky rocketed, and a vulnerability that the NSA can exploit is possibly a vulnerability that someone else can exploit. So at the drafting of AES, we doubt that they were focused on choosing a candidate that could be broken and kind of suspect they wanted a candidate that could not be.

Since you only break crypto when you don't have the key, to compromise those two goals they could just allow us mathematically secure crypto, then focus on getting the keys instead. If they can recover keys, they don't care how strong our crypto is. Attacking the endpoints that generate the keys is not always as hard as it seems (consider how many user and corporate machines get infected with malware, and think about what sort of key-related backdoors could be planted in popular software), and a simple subpoena might get keys in some situations. As more user data moves toward the cloud, backdoors in public services (voluntarily provided or not) are going to make the job of key recovery even easier.

Summary of these two points:

  • The federal government is allowed to use AES for top-secret information.

  • We don't know that they would actually want AES to be mathematically breakable, so at the AES competition 11 years ago it is possible they would have avoided any algorithm they thought they could break in the near future.

None of that is proof, but we tend to assume that the NSA can't break AES.

$\endgroup$
3
  • 2
    $\begingroup$ NSA no longer approves < AES256 for top secret data in Suite B. $\endgroup$ Commented Feb 5, 2016 at 22:17
  • 1
    $\begingroup$ There is a fundamental flaw in your summary argument that (respectfully) shows a certain naivete. It would be in the NSA's interest if AES was broken so that they could eavesdrop on other government departments. Approving and recommending AES to as broad an audience as possible (friend or foe) is exactly what you'd do with a flawed security system. $\endgroup$
    – Paul Uszak
    Commented Sep 23, 2016 at 22:21
  • $\begingroup$ So at the drafting of AES, we doubt that they were .... Why "we"? For whom are you speaking. Who art thou? $\endgroup$ Commented Jun 24, 2020 at 0:21
7
$\begingroup$

According to a top secret document release by Wikileaks titled "Network Operations Division Cryptographic Requirements" includes AES256 under the section "The Long-lived Suite for Network Communication" which further states:

Confidentiality must be provided by AES with a minimum key size of 256 bits. The cipher must be operated in Galois/Counter Mode (GCM), Counter Mode (CTR), or Cipher Block Chaining Mode (CBC).

$\endgroup$
-3
$\begingroup$

AES and RSA (based on prime factory) are not information-theoretically (unconditional) secure, because they simply do not have a mathematical proof of being secure. Still today there is not a proof that proves that prime factor is defininively a difficult or simple problem (P=NP? one of the biggest mistery of math).

So in everyday practice they show to be unbreakable because no one has still found a method to break them, but maybe someone knows it and keeps secret( prime factor solving ).

And the fact that NSA recommends to use AES give me some doubts…

  • Do they recommend this because they know how to break it?
  • Why did the communication line (famous red telephone) between the president of the USA and the Russia use a OTP encryption and not AES?

UPDATE 11-11-2014:

  • What about the last news of NSA spying other governments (how did they do this?)
$\endgroup$
4
  • $\begingroup$ If I tell you number 5, can you guess how I reached at this number? There is nothing mysterious about it. You do not know and can only speculate the operations taken to reach at 5. Possibly one of those sequence is 4 + 1. $\endgroup$
    – nvd
    Commented Nov 26, 2014 at 11:20
  • $\begingroup$ Yes, I can speculate only operation I am aware, but maybe there are other ways of reach number 5 both you and I do not know. $\endgroup$
    – albanx
    Commented Nov 26, 2014 at 11:23
  • $\begingroup$ It is the operation flow that matters and not the number in this situation. ;) $\endgroup$
    – nvd
    Commented Nov 26, 2014 at 11:27
  • 1
    $\begingroup$ OTP, correctly implemented, is unbreakable. If it can be used securely in favor of any other encryption scheme that can be brute forced (AES), then it makes sense to use it. With a sufficiently long, truly random OTP, it cannot be brute forced because the ciphertext can be manipulated into ANY plaintext not longer than the ciphertext. In other words, for the ciphertext "bidwxh", there exist unique OTPs that would produce "abased", "define", "bashed", "eat it", or any other 6-character word/phrase. Without knowing the correct OTP, there is no way to know the original plaintext. $\endgroup$
    – b_laoshi
    Commented Mar 6, 2019 at 7:19
-9
$\begingroup$

We know, from Edward Snowden, that the NSA does, routinely monitor all traffic and can decrypt all standard encryption, such as SSL. So it is likely that they have methods to break AES.

So, if you are concerned about industrial espionage, AES is unlikely to be your algorithm of choice - this is not just because of NSA or GCHQ spying, any third party (retired spook, for example) who has the know-how can also decrypt most things. In fact there are companies for hire that will decrypt pretty much anything for you, using intelligence from the likes of the NSA or GCHQ.

The only known secure algorithm is the one-time pad.

$\endgroup$
4
  • 3
    $\begingroup$ The released documents do not claim or imply that NSA can break AES, or if you think they do please add a reference. It is IMO more likely that NSA relies on side channels and implementation bugs. $\endgroup$
    – otus
    Commented Nov 26, 2014 at 8:48
  • 2
    $\begingroup$ I think I'm over 50 ciphersuites in my implementation (just an enum, no I'm not going to implement them all). "decrypt all standard encryption such as SSL" is in itself a wrong statement. SSL is a protocol with a large set of possible underlying algorithms. $\endgroup$
    – Maarten Bodewes
    Commented Nov 27, 2014 at 1:04
  • $\begingroup$ Good point - to say 'decrypt SSL' is a loose way of saying 'decrypt the usual set of algorithms used in SSL'. $\endgroup$ Commented Nov 27, 2014 at 5:51
  • $\begingroup$ @Peter Brooks Your comments do have merit, but you should consider that it is public knowledge that Uncle Sam uses AES for highly classified information. That bare fact alone should send you back to the drawing board. $\endgroup$
    – Patriot
    Commented Jul 23, 2019 at 5:40

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