I've read almost everywhere that AES-256 can be used for Top Secret material (in the US). Is it really used or is it some kind of decoy to hide the more advanced algorithm they might use ?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
Decoy for whom?
Security, and cryptography specifically, has a need for public scrutiny. It's been proven time and time again that hiding the nature of the protocol/algorithm/scheme doesn't provide any tangible security. Kerckhoffs' principle explains this: A cryptosystem should be secure even if everything about the system, except the key, is public knowledge.
It's "secure" up until someone finds out how it works and breaks it. Publically reviewed algorithms are something that people are always trying to break. The more people that try (and fail) to break something, the better that something is. This is important because it's really difficult to design crypto properly.
To answer your question specifically: Yes, AES is used for classified materials. Other algorithms are also used depending on the nature and use of the data.
A quick Google search came back with this PDF doc from NIST: Guideline for Implementing Cryptography In the Federal Government. It may be out of date, or there may be better documents, but it's an enlightening read.
Your question might be missing one plausible reason for governments to keep certain aspects of their cryptographic systems secret (besides the key), namely that their interest in learning the secrets of the opposition, might be as strong as their interest in keeping their own secrets to themselves. Hence, there are two questions that should be asked:
The answer to the first question is no, for the reason SteveS wrote in his answer above. The second question is more interesting, if you are in to conspiracy theories. However, having seen a fair share of schemes implemented in real life application, I would not personally consider this aspect to be a concern. There are more ways AES has been used incorrectly that resulted in practically no security at all, than ways it has been used in a properly designed scheme that resulted in 256 bit security even after all design details, implementation details, deployment details and key management details had been take into account.
What sets apart government AES and a python script a highschooler can write is the implementation.
Even though AES is a completely open algorithm, the implementations used by the government are unclassified/controlled cryptographic items when not keyed - meaning even though the algorithm itself is not restricted in any way, the products that meet specific government standards are not publicly available and have to be constantly be accounted for by everyone who is authorized to use them.
Additionally, keys are updated very often and are generated at Ft. Meade (NSA Headquarters) so you can assume they do something special to make them more secure than the average computer can generate.
There are also Type 1 Suite A algorithms that are classified but you can still find some information reading by Raytheon, Harris, and General Dynamics whitepapers and yes, even Wikipedia. Like how Enhanced-Firefly is the current key agreement protocol and BATON is symmetric encryption with a 320bit key. There are some other ones like WALBURN, GOODSPEED, MEDLEY but as you'd expect, not much info is out there about them.
An interesting fact though is that AES-256 is a Type 1 AND Type 3 algorithm all at once. Again, the only thing that sets them apart is the implementation.
The general rule about how an open algorithm is more secure doesn't really apply to the NSA though because they employ more mathematics than any other single entity in the world and still work with the defense industry. One would think they don't release their work not because it would compromise any of their information but it sure would make their job more difficult if everyone in the world used their same security.
An example of a Type 1 implementation is the KIV-7M High Assurance Internet Protocol Encryptor.