Advanced Encryption Standard: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Textersetzung - „Kryptografies“ durch „Kryptografie“ |
||
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Advanced Encryption Standard''' (AES) | '''Advanced Encryption Standard''' (AES) ist eins symmetrisches Kryptografieverfahren | ||
== Beschreibung == | |||
* [[Blockverschlüsselung|Blockchiffre]] | * [[Blockverschlüsselung|Blockchiffre]] | ||
* Nachfolger | * Nachfolger von [[Data Encryption Standard|DES]] | ||
* Oktober 2000 | * Oktober 2000 | ||
* [[National Institute of Standards and Technology]] (NIST) | * [[National Institute of Standards and Technology]] (NIST) | ||
* US-amerikanischer Standard | * US-amerikanischer Standard | ||
* [[Algorithmus]] wurde von [[Joan Daemen]] und [[Vincent Rijmen]] unter der Bezeichnung '''Rijndael''' entwickelt | |||
* [[Schlüssel (Kryptologie)|Schlüssel]] zum [[Kryptografie|Ver-]] und [[Entschlüsselung|Entschlüsseln]] sind identisch | |||
name = AES | |||
entwickler = [[Joan Daemen]], [[Vincent Rijmen]] | |||
datum = 1998, Zertifizierung Oktober 2000 | |||
Schlüssellänge = 128, 192 oder 256 Bit | |||
Blockgröße = 128 Bit Im Rijndael-Algorithmus werden Blockgrößen von 128, 160, 192, 224, und 256 Bits unterstützt, im AES-Standard wird aber nur eine 128-bit Blockgröße spezifiziert. | |||
struktur = [[Substitutions-Permutations-Netzwerk]] | |||
runden = 10, 12 oder 14 (schlüssellängenabhängig) | |||
kryptoanalyse = Der geheime Schlüssel kann bei AES-128 in <math>2^{126,1}</math> Schritten, bei AES-192 in <math>2^{189,7}</math> Schritten und bei AES-256 in <math>2^{254,4}</math> Schritten gefunden werden. | |||
Der '''Advanced Encryption Standard''' ('''AES''') ({{deS|etwa „fortschrittlicher Kryptografiestandard“}}) ist eine [[Blockverschlüsselung|Blockchiffre]], die als Nachfolger des [[Data Encryption Standard|DES]] im Oktober 2000 vom [[National Institute of Standards and Technology]] (NIST) als US-amerikanischer Standard bekanntgegeben wurde. | |||
; Rijndael | |||
* Der [[Algorithmus]] wurde von [[Joan Daemen]] und [[Vincent Rijmen]] unter der Bezeichnung '''Rijndael''' entwickelt. | |||
Es handelt sich um ein [[Symmetrisches Kryptosystem|symmetrisches Kryptografieverfahren]], d. h. der [[Schlüssel (Kryptologie)|Schlüssel]] zum [[Kryptografie|Ver-]] und [[Entschlüsselung|Entschlüsseln]] ist identisch. | |||
* Der Rijndael-Algorithmus besitzt variable, voneinander unabhängige Block- und [[Schlüssellänge]]n von 128, 160, 192, 224 oder 256 Bit. | |||
* Der | |||
; Rijndael bietet ein sehr hohes Maß an Sicherheit | ; Rijndael bietet ein sehr hohes Maß an Sicherheit | ||
* erst mehr als zehn Jahre nach seiner Standardisierung wurde der erste theoretisch interessante, praktisch aber nicht relevante Angriff gefunden. | * erst mehr als zehn Jahre nach seiner Standardisierung wurde der erste theoretisch interessante, praktisch aber nicht relevante Angriff gefunden. | ||
AES schränkt die Blocklänge auf 128 Bit und die Wahl der Schlüssellänge auf 128, 192 oder 256 Bit ein. | ; AES schränkt die Blocklänge auf 128 Bit und die Wahl der Schlüssellänge auf 128, 192 oder 256 Bit ein. | ||
* Die Bezeichnungen der drei AES-Varianten AES-128, AES-192 und AES-256 beziehen sich jeweils auf die gewählte Schlüssellänge. | * Die Bezeichnungen der drei AES-Varianten AES-128, AES-192 und AES-256 beziehen sich jeweils auf die gewählte Schlüssellänge. | ||
* AES ist frei verfügbar und darf ohne Lizenzgebühren eingesetzt sowie in Soft- und Hardware implementiert werden. | * AES ist frei verfügbar und darf ohne Lizenzgebühren eingesetzt sowie in Soft- und Hardware implementiert werden. | ||
Das Verfahren ist pragmatisch sicher, das heißt, es ist kein praktisch durchführbarer [[Kryptoanalyse|Angriff]] bekannt. | ; Das Verfahren ist pragmatisch sicher, das heißt, es ist kein praktisch durchführbarer [[Kryptoanalyse|Angriff]] bekannt. | ||
* Es ist jedoch theoretisch [[Brechen (Kryptologie)|gebrochen]]: die [[Entzifferung]] ist unter Umständen mit geringerem (aber noch immer unrealistisch hohem) Aufwand möglich als das systematische Durchprobieren aller möglicher Schlüssel. | * Es ist jedoch theoretisch [[Brechen (Kryptologie)|gebrochen]]: die [[Entzifferung]] ist unter Umständen mit geringerem (aber noch immer unrealistisch hohem) Aufwand möglich als das systematische Durchprobieren aller möglicher Schlüssel. | ||
* AES-192 und AES-256 sind in den [[Vereinigte Staaten|USA]] für staatliche Dokumente mit höchstem [[Geheimhaltungsgrad]] zugelassen. | * AES-192 und AES-256 sind in den [[Vereinigte Staaten|USA]] für staatliche Dokumente mit höchstem [[Geheimhaltungsgrad]] zugelassen. | ||
; Entstehung | |||
Bis zum Einsatz von AES war der [[Data Encryption Standard]] (DES) der am häufigsten genutzte symmetrische Algorithmus zur [[ | Bis zum Einsatz von AES war der [[Data Encryption Standard]] (DES) der am häufigsten genutzte symmetrische Algorithmus zur [[Kryptografie]] von Daten. | ||
* Spätestens seit den 1990er Jahren galt er mit seiner Schlüssellänge von 56 Bit als nicht mehr ausreichend sicher gegen Angriffe mit der [[Brute-Force | * Spätestens seit den 1990er Jahren galt er mit seiner Schlüssellänge von 56 Bit als nicht mehr ausreichend sicher gegen Angriffe mit der [[Brute-Force]]. | ||
* Ein neuer, besserer Algorithmus musste gefunden werden. | * Ein neuer, besserer Algorithmus musste gefunden werden. | ||
=== DES-Nachfolger === | === Suche nach einem DES-Nachfolger === | ||
Das amerikanische Handelsministerium schrieb die Suche nach einem Nachfolgealgorithmus am 2. Januar 1997 international aus, federführend für die Auswahl war das US-amerikanische [[National Institute of Standards and Technology]] in Gaithersburg, Maryland. | Das amerikanische Handelsministerium schrieb die Suche nach einem Nachfolgealgorithmus am 2. Januar 1997 international aus, federführend für die Auswahl war das US-amerikanische [[National Institute of Standards and Technology]] in Gaithersburg, Maryland. | ||
* Nach einer internationalen Konferenz am 15. April 1997 veröffentlichte es am 12. September 1997 die endgültige Ausschreibung. | * Nach einer internationalen Konferenz am 15. April 1997 veröffentlichte es am 12. September 1997 die endgültige Ausschreibung. | ||
* Die Art der Suche sowie die Auswahlkriterien unterschieden sich damit beträchtlich von der hinter verschlossenen Türen erfolgten DES-Entwicklung. | * Die Art der Suche sowie die Auswahlkriterien unterschieden sich damit beträchtlich von der hinter verschlossenen Türen erfolgten DES-Entwicklung. | ||
* Der Sieger der Ausschreibung, der als Advanced Encryption Standard (AES) festgelegt werden sollte, musste folgende Kriterien erfüllen: | * Der Sieger der Ausschreibung, der als Advanced Encryption Standard (AES) festgelegt werden sollte, musste folgende Kriterien erfüllen: | ||
Zeile 60: | Zeile 57: | ||
* Der Algorithmus muss frei von [[patent]]rechtlichen Ansprüchen sein und muss von jedermann unentgeltlich genutzt werden können. | * Der Algorithmus muss frei von [[patent]]rechtlichen Ansprüchen sein und muss von jedermann unentgeltlich genutzt werden können. | ||
Die Auswahlkriterien wurden in drei Hauptkategorien unterteilt: Sicherheit, Kosten sowie Algorithmus- und Implementierungscharakteristiken. | Die Auswahlkriterien wurden in drei Hauptkategorien unterteilt: Sicherheit, Kosten sowie Algorithmus- und Implementierungscharakteristiken. | ||
* Die Sicherheit war der wichtigste Faktor in der Evaluierung und umfasste die Eigenschaften Widerstandsfähigkeit des Algorithmus gegen Kryptoanalyse, Zufälligkeit des Chiffrats, Stichhaltigkeit der mathematischen Basis sowie die relative Sicherheit im Vergleich zu den anderen Kandidaten. | * Die Sicherheit war der wichtigste Faktor in der Evaluierung und umfasste die Eigenschaften Widerstandsfähigkeit des Algorithmus gegen Kryptoanalyse, Zufälligkeit des Chiffrats, Stichhaltigkeit der mathematischen Basis sowie die relative Sicherheit im Vergleich zu den anderen Kandidaten. | ||
Kosten, der nächste wichtige Faktor, ist im Sinne des Auswahlverfahrens als Überbegriff zu verstehen | ; Kosten, der nächste wichtige Faktor, ist im Sinne des Auswahlverfahrens als Überbegriff zu verstehen | ||
Da eines der wichtigsten Ziele, die das NIST ausgearbeitet hatte, die weltweite Verbreitung auf lizenzfreier Basis war und dass AES von jedermann unentgeltlich genutzt werden kann, wurden öffentliche Kommentare und Anregungen zu Lizenzansprüchen und diesbezügliche potenzielle Konflikte spezifisch gesucht. | * Dieser umfasste Lizenzierungsansprüche sowie rechnerische Effizienz auf verschiedenen Plattformen und Speicherverbrauch. | ||
* Da eines der wichtigsten Ziele, die das NIST ausgearbeitet hatte, die weltweite Verbreitung auf lizenzfreier Basis war und dass AES von jedermann unentgeltlich genutzt werden kann, wurden öffentliche Kommentare und Anregungen zu Lizenzansprüchen und diesbezügliche potenzielle Konflikte spezifisch gesucht. | |||
; Anforderung der Geschwindigkeit des Algorithmus auf diversen Plattformen wurde in drei zusätzliche Ziele unterteilt: | |||
* Die rechnerische Geschwindigkeit mit 128-Bit-Schlüsseln. | * Die rechnerische Geschwindigkeit mit 128-Bit-Schlüsseln. | ||
* Die rechnerische Geschwindigkeit mit 192-Bit- und 256-Bit-Schlüsseln sowie die rechnerische Geschwindigkeit verschiedener Hardware-Implementierungen. | * Die rechnerische Geschwindigkeit mit 192-Bit- und 256-Bit-Schlüsseln sowie die rechnerische Geschwindigkeit verschiedener Hardware-Implementierungen. | ||
* Der Speicherverbrauch und die Grenzen von Software-Implementierungen der Kandidaten waren weitere wichtige Aspekte. | * Der Speicherverbrauch und die Grenzen von Software-Implementierungen der Kandidaten waren weitere wichtige Aspekte. | ||
* Das dritte Ziel, die Algorithmus- und Implementierungscharakteristiken, beinhalteten die Flexibilität, die Eignung für Soft- und Hardware-Implementierungen und die Einfachheit des Algorithmus. | * Das dritte Ziel, die Algorithmus- und Implementierungscharakteristiken, beinhalteten die Flexibilität, die Eignung für Soft- und Hardware-Implementierungen und die Einfachheit des Algorithmus. | ||
; Flexibilität | |||
Unter Flexibilität verstand man die Eigenschaften, dass AES die Schlüssel- und Blockgröße über dem Minimum unterstützen musste und dass er in verschiedenen Typen von Umgebungen sowie zusätzlich als [[Stromchiffre]] und [[kryptologische Hashfunktion]] sicher und effizient zu implementieren war. | Unter Flexibilität verstand man die Eigenschaften, dass AES die Schlüssel- und Blockgröße über dem Minimum unterstützen musste und dass er in verschiedenen Typen von Umgebungen sowie zusätzlich als [[Stromchiffre]] und [[kryptologische Hashfunktion]] sicher und effizient zu implementieren war. | ||
Die Ausschreibung führte bis zum Abgabeschluss am 15. | ; Die Ausschreibung führte bis zum Abgabeschluss am 15. Juni 1998 zu fünfzehn Vorschlägen aus aller Welt. | ||
* Diese wurden in der AES-Konferenz vom 20. bis 22. August 1998 in [[Ventura (Kalifornien)]] vorgestellt, öffentlich diskutiert und auf die Erfüllung der genannten Kriterien geprüft. | |||
* Diese wurden in der AES-Konferenz vom 20. | * Die AES-Konferenz vom 22. und 23. April 1999 in Rom führte zu einer ersten Diskussion der Ergebnisse und Empfehlungen, welche der fünfzehn Algorithmen weiter betrachtet werden sollten. | ||
* Die fünf besten Kandidaten ([[MARS (Kryptografie)|MARS]], [[RC6]], Rijndael, [[Serpent (Kryptografie)|Serpent]], [[Twofish]]) kamen in die nächste Runde. | |||
* Die AES-Konferenz vom 22. | |||
* Die fünf besten Kandidaten ([[MARS ( | |||
Alle fünf Kandidaten erfüllen die oben genannten Forderungen, daher wurden weitere Kriterien hinzugezogen. | ; Alle fünf Kandidaten erfüllen die oben genannten Forderungen, daher wurden weitere Kriterien hinzugezogen. | ||
* Es folgte eine Überprüfung der Algorithmen auf theoretische Schwachstellen, durch die der Algorithmus möglicherweise zu einem späteren Zeitpunkt durch technischen Fortschritt unsicher werden kann. | * Es folgte eine Überprüfung der Algorithmen auf theoretische Schwachstellen, durch die der Algorithmus möglicherweise zu einem späteren Zeitpunkt durch technischen Fortschritt unsicher werden kann. | ||
* So konnten zum damaligen Stand technisch nicht realisierbare Vorgehensweisen in einigen Jahren anwendbar sein, ein solches Risiko sollte minimiert werden. | * So konnten zum damaligen Stand technisch nicht realisierbare Vorgehensweisen in einigen Jahren anwendbar sein, ein solches Risiko sollte minimiert werden. | ||
* Die Staffelung der Kandidaten nach [[Ressource]]nverbrauch und [[Rechenleistung|Leistung]] war eindeutiger. | * Die Staffelung der Kandidaten nach [[Ressource]]nverbrauch und [[Rechenleistung|Leistung]] war eindeutiger. | ||
* Der Rijndael-Algorithmus hatte sich in [[Hardware]]- und [[Software]]-[[Implementierung]] als überdurchschnittlich schnell herausgestellt. | * Der Rijndael-Algorithmus hatte sich in [[Hardware]]- und [[Software]]-[[Implementierung]] als überdurchschnittlich schnell herausgestellt. | ||
* Die anderen Kandidaten haben jeweils in unterschiedlichen Bereichen kleinere Schwächen. | * Die anderen Kandidaten haben jeweils in unterschiedlichen Bereichen kleinere Schwächen. | ||
Im Mai des Jahres 2000 wurden die Analysen und öffentlichen Diskussionen abgeschlossen und am 2. Oktober 2000 der Sieger schließlich bekannt gegeben: der belgische Algorithmus Rijndael. | Im Mai des Jahres 2000 wurden die Analysen und öffentlichen Diskussionen abgeschlossen und am 2. Oktober 2000 der Sieger schließlich bekannt gegeben: der belgische Algorithmus Rijndael. | ||
* Rijndael überzeugte durch seine Einfachheit (die Referenz-Implementierung umfasst weniger als 500 Zeilen [[C (Programmiersprache)|C-Code]]), Sicherheit und Geschwindigkeit, weshalb sich die USA trotz Sicherheitsbedenken für einen europäischen Algorithmus entschieden. | * Rijndael überzeugte durch seine Einfachheit (die Referenz-Implementierung umfasst weniger als 500 Zeilen [[C (Programmiersprache)|C-Code]]), Sicherheit und Geschwindigkeit, weshalb sich die USA trotz Sicherheitsbedenken für einen europäischen Algorithmus entschieden. | ||
Der Auswahlprozess faszinierte weltweit viele Kryptographen | ; Dieser Wettbewerb wird als vorbildlich angesehen | ||
* Der Auswahlprozess faszinierte weltweit viele Kryptographen durch seine offene Gestaltung. | |||
== Anwendung == | == Anwendung == | ||
AES wird u. a. vom | AES wird u. a. vom Kryptografiestandard [[IEEE 802.11i]] für [[Wireless Local Area Network|Wireless LAN]] und seinem [[Wi-Fi]]-Äquivalent [[WPA2]], bei IEEE802.16 m ([[WiMAX]]), für [[Powerline Communication|Powerline-Netzwerkverkehr]] ab der Version [[HomePlug AV]] sowie bei [[Secure Shell|SSH]] und bei [[IPsec]] genutzt. | ||
* Auch in der [[IP-Telefonie]] kommt AES sowohl in offenen Protokollen wie [[Secure Real-Time Transport Protocol|SRTP]] als auch proprietären Systemen wie [[Skype]] | * Auch in der [[IP-Telefonie]] kommt AES sowohl in offenen Protokollen wie [[Secure Real-Time Transport Protocol|SRTP]] als auch proprietären Systemen wie [[Skype]] zum Einsatz. | ||
* Mac OS X benutzt AES als Standardverschlüsselungsmethode für Disk-Images, außerdem verwendet der Dienst ''[[FileVault]]'' AES. | |||
* Mac OS X benutzt AES als Standardverschlüsselungsmethode für Disk-Images, außerdem verwendet der Dienst ''[[FileVault]]'' AES. | * Ebenso verwendet die transparente Kryptografie [[Encrypting File System|EFS]] in Windows XP ab SP 1 diese Methode. | ||
* Ebenso verwendet die transparente | * Zudem wird der Algorithmus zur Kryptografie diverser komprimierter Dateiarchive verwendet, z. B. | ||
* Zudem wird der Algorithmus zur | * bei [[7-Zip]] und [[RAR (Dateiformat)|RAR]]. | ||
* bei [[7-Zip]] und [[RAR (Dateiformat)|RAR]]. | * In [[Pretty Good Privacy|PGP]] und [[GNU Privacy Guard|GnuPG]] findet AES ebenfalls einen großen Anwendungsbereich. | ||
* In [[Pretty Good Privacy|PGP]] und [[GNU Privacy Guard|GnuPG]] findet AES ebenfalls einen großen Anwendungsbereich. | * Der [[Linear Tape Open]] Standard spezifiziert eine Schnittstelle für AES-Kryptografie durch das Bandlaufwerk ab LTO-4 und ermöglicht so Bandkompression bei gleichzeitiger Kryptografie. | ||
* Der [[Linear Tape Open]] Standard spezifiziert eine Schnittstelle für AES- | |||
AES gehört zu den vom Projekt [[NESSIE]] empfohlenen kryptografischen Algorithmen und ist Teil der [[NSA Suite B Cryptography|Suite B]] der NSA. | AES gehört zu den vom Projekt [[NESSIE]] empfohlenen kryptografischen Algorithmen und ist Teil der [[NSA Suite B Cryptography|Suite B]] der NSA. | ||
Der AES-Algorithmus wird inzwischen in etlichen CPUs von Intel oder AMD durch zusätzliche [[AES (Befehlssatzerweiterung)|spezialisierte Maschinenbefehle]] unterstützt, wodurch das Verschlüsseln 5-mal und das Entschlüsseln 25-mal schneller als mit nicht spezialisierten Maschinenbefehlen erfolgt. | Der AES-Algorithmus wird inzwischen in etlichen CPUs von Intel oder AMD durch zusätzliche [[AES (Befehlssatzerweiterung)|spezialisierte Maschinenbefehle]] unterstützt, wodurch das Verschlüsseln 5-mal und das Entschlüsseln 25-mal schneller als mit nicht spezialisierten Maschinenbefehlen erfolgt. Damit ist AES auch für mobile Anwendungen Akku-schonend benutzbar und für den Masseneinsatz geeignet. | ||
* Programmier-Softwarebibliotheken wie zum Beispiel [[OpenSSL]] erkennen und nutzen die Hardware-AES-Implementierung und greifen nur, wenn nötig, auf langsamere Softwareimplementierung zurück. | |||
* Programmier-Softwarebibliotheken wie zum Beispiel [[OpenSSL]] erkennen und nutzen die Hardware-AES-Implementierung und greifen nur wenn nötig auf langsamere Softwareimplementierung zurück. | |||
AES-verschlüsselte Kommunikation wird auch zur | AES-verschlüsselte Kommunikation wird auch zur Kryptografie der Datenübertragung zwischen elektronischen Identitätsdokumenten und Inspektionsgeräten verwendet, zum Beispiel bei neueren Reisepässen oder dem Deutschen Personalausweis. | ||
* So wird das Abhören dieser Kommunikation verhindert. | * So wird das Abhören dieser Kommunikation verhindert. | ||
* Hier erfolgt die Berechnung meist in dedizierten Koprozessoren für DES und AES, sowohl erheblich schneller als auch sicherer als in einer Allzweck-CPU möglich. | * Hier erfolgt die Berechnung meist in dedizierten Koprozessoren für DES und AES, sowohl erheblich schneller als auch sicherer als in einer Allzweck-CPU möglich. | ||
Da AES eine Blockverschlüsselung ist, sollte ein [[Betriebsmodus (Kryptographie)|Betriebsmodus]] verwendet werden um die Blöcke zu verketten. | Da AES eine Blockverschlüsselung ist, sollte ein [[Betriebsmodus (Kryptographie)|Betriebsmodus]] verwendet werden um die Blöcke zu verketten. | ||
* Dadurch wird die Sicherheit weiter erhöht. | * Dadurch wird die Sicherheit weiter erhöht. | ||
== Schwächen und Angriffe == | == Schwächen und Angriffe == | ||
siehe [[AES:Angriffe]] | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
==== Sicherheit ==== | |||
[[ | ==== Dokumentation ==== | ||
==== Links ==== | |||
===== Dokumentation ===== | |||
# [[doi:10.6028/NIST.FIPS.197 | Offizielle Spezifikation des AES vom NIST]] | |||
== | ===== Weblinks ===== | ||
# [http://www.repges.net/AES-Kandidaten/aes-kandidaten.html Beschreibung von Markus Repges der AES-Kandidaten (Finalisten)] | |||
# [http://csrc.nist.gov/archive/aes/round2/r2report.pdf NIST, Report on the Development of the Advanced Encryption Standard (AES), 2. Oktober 2000] | |||
# [http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf Animation von AES (Englisch)] | |||
# [http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_ger.zip ZIP-Datei] | |||
== | # [http://www.codeplanet.eu/tutorials/cpp/51-advanced-encryption-standard.html detaillierte Beschreinung] | ||
# [http://www.codeproject.com/KB/security/BlockCiphers.aspx Applied Crypto++: Block Ciphers] Ein Artikel über Crypto++ auf codeproject.com mit dem Titel ''Encrypt Data using Symmetric Encryption with Crypto++'' | |||
[[Kategorie:AES]] | |||
</noinclude> | |||
Aktuelle Version vom 27. Juli 2024, 10:36 Uhr
Advanced Encryption Standard (AES) ist eins symmetrisches Kryptografieverfahren
Beschreibung
- Blockchiffre
- Nachfolger von DES
- Oktober 2000
- National Institute of Standards and Technology (NIST)
- US-amerikanischer Standard
- Algorithmus wurde von Joan Daemen und Vincent Rijmen unter der Bezeichnung Rijndael entwickelt
- Schlüssel zum Ver- und Entschlüsseln sind identisch
name = AES entwickler = Joan Daemen, Vincent Rijmen datum = 1998, Zertifizierung Oktober 2000 Schlüssellänge = 128, 192 oder 256 Bit Blockgröße = 128 Bit Im Rijndael-Algorithmus werden Blockgrößen von 128, 160, 192, 224, und 256 Bits unterstützt, im AES-Standard wird aber nur eine 128-bit Blockgröße spezifiziert. struktur = Substitutions-Permutations-Netzwerk runden = 10, 12 oder 14 (schlüssellängenabhängig) kryptoanalyse = Der geheime Schlüssel kann bei AES-128 in Schritten, bei AES-192 in Schritten und bei AES-256 in Schritten gefunden werden.
Der Advanced Encryption Standard (AES) (Vorlage:DeS) ist eine Blockchiffre, die als Nachfolger des DES im Oktober 2000 vom National Institute of Standards and Technology (NIST) als US-amerikanischer Standard bekanntgegeben wurde.
- Rijndael
- Der Algorithmus wurde von Joan Daemen und Vincent Rijmen unter der Bezeichnung Rijndael entwickelt.
Es handelt sich um ein symmetrisches Kryptografieverfahren, d. h. der Schlüssel zum Ver- und Entschlüsseln ist identisch.
- Der Rijndael-Algorithmus besitzt variable, voneinander unabhängige Block- und Schlüssellängen von 128, 160, 192, 224 oder 256 Bit.
- Rijndael bietet ein sehr hohes Maß an Sicherheit
- erst mehr als zehn Jahre nach seiner Standardisierung wurde der erste theoretisch interessante, praktisch aber nicht relevante Angriff gefunden.
- AES schränkt die Blocklänge auf 128 Bit und die Wahl der Schlüssellänge auf 128, 192 oder 256 Bit ein.
- Die Bezeichnungen der drei AES-Varianten AES-128, AES-192 und AES-256 beziehen sich jeweils auf die gewählte Schlüssellänge.
- AES ist frei verfügbar und darf ohne Lizenzgebühren eingesetzt sowie in Soft- und Hardware implementiert werden.
- Das Verfahren ist pragmatisch sicher, das heißt, es ist kein praktisch durchführbarer Angriff bekannt.
- Es ist jedoch theoretisch gebrochen: die Entzifferung ist unter Umständen mit geringerem (aber noch immer unrealistisch hohem) Aufwand möglich als das systematische Durchprobieren aller möglicher Schlüssel.
- AES-192 und AES-256 sind in den USA für staatliche Dokumente mit höchstem Geheimhaltungsgrad zugelassen.
- Entstehung
Bis zum Einsatz von AES war der Data Encryption Standard (DES) der am häufigsten genutzte symmetrische Algorithmus zur Kryptografie von Daten.
- Spätestens seit den 1990er Jahren galt er mit seiner Schlüssellänge von 56 Bit als nicht mehr ausreichend sicher gegen Angriffe mit der Brute-Force.
- Ein neuer, besserer Algorithmus musste gefunden werden.
Suche nach einem DES-Nachfolger
Das amerikanische Handelsministerium schrieb die Suche nach einem Nachfolgealgorithmus am 2. Januar 1997 international aus, federführend für die Auswahl war das US-amerikanische National Institute of Standards and Technology in Gaithersburg, Maryland.
- Nach einer internationalen Konferenz am 15. April 1997 veröffentlichte es am 12. September 1997 die endgültige Ausschreibung.
- Die Art der Suche sowie die Auswahlkriterien unterschieden sich damit beträchtlich von der hinter verschlossenen Türen erfolgten DES-Entwicklung.
- Der Sieger der Ausschreibung, der als Advanced Encryption Standard (AES) festgelegt werden sollte, musste folgende Kriterien erfüllen:
- AES muss ein symmetrischer Algorithmus sein, und zwar eine Blockchiffre.
- AES muss 128 Bit lange Blöcke verwenden (dies wurde erst während der Ausschreibung festgelegt, zu Beginn der Ausschreibung waren auch Blockgrößen von 192 und 256 Bit verlangt, diese wurden nur als mögliche Erweiterungen beibehalten)
- AES muss Schlüssel von 128, 192 und 256 Bit Länge einsetzen können.
- AES soll gleichermaßen leicht in Hard- und Software zu implementieren sein.
- AES soll in Hardware wie Software eine überdurchschnittliche Leistung haben.
- AES soll allen bekannten Methoden der Kryptoanalyse widerstehen können und sich für Implementierungen eignen, die sicher gegen Power- und Timing-Attacken sind.
- Speziell für den Einsatz in Smartcards sollen geringe Ressourcen erforderlich sein (Codelänge, Speicherbedarf).
- Der Algorithmus muss frei von patentrechtlichen Ansprüchen sein und muss von jedermann unentgeltlich genutzt werden können.
Die Auswahlkriterien wurden in drei Hauptkategorien unterteilt: Sicherheit, Kosten sowie Algorithmus- und Implementierungscharakteristiken.
- Die Sicherheit war der wichtigste Faktor in der Evaluierung und umfasste die Eigenschaften Widerstandsfähigkeit des Algorithmus gegen Kryptoanalyse, Zufälligkeit des Chiffrats, Stichhaltigkeit der mathematischen Basis sowie die relative Sicherheit im Vergleich zu den anderen Kandidaten.
- Kosten, der nächste wichtige Faktor, ist im Sinne des Auswahlverfahrens als Überbegriff zu verstehen
- Dieser umfasste Lizenzierungsansprüche sowie rechnerische Effizienz auf verschiedenen Plattformen und Speicherverbrauch.
- Da eines der wichtigsten Ziele, die das NIST ausgearbeitet hatte, die weltweite Verbreitung auf lizenzfreier Basis war und dass AES von jedermann unentgeltlich genutzt werden kann, wurden öffentliche Kommentare und Anregungen zu Lizenzansprüchen und diesbezügliche potenzielle Konflikte spezifisch gesucht.
- Anforderung der Geschwindigkeit des Algorithmus auf diversen Plattformen wurde in drei zusätzliche Ziele unterteilt
- Die rechnerische Geschwindigkeit mit 128-Bit-Schlüsseln.
- Die rechnerische Geschwindigkeit mit 192-Bit- und 256-Bit-Schlüsseln sowie die rechnerische Geschwindigkeit verschiedener Hardware-Implementierungen.
- Der Speicherverbrauch und die Grenzen von Software-Implementierungen der Kandidaten waren weitere wichtige Aspekte.
- Das dritte Ziel, die Algorithmus- und Implementierungscharakteristiken, beinhalteten die Flexibilität, die Eignung für Soft- und Hardware-Implementierungen und die Einfachheit des Algorithmus.
- Flexibilität
Unter Flexibilität verstand man die Eigenschaften, dass AES die Schlüssel- und Blockgröße über dem Minimum unterstützen musste und dass er in verschiedenen Typen von Umgebungen sowie zusätzlich als Stromchiffre und kryptologische Hashfunktion sicher und effizient zu implementieren war.
- Die Ausschreibung führte bis zum Abgabeschluss am 15. Juni 1998 zu fünfzehn Vorschlägen aus aller Welt.
- Diese wurden in der AES-Konferenz vom 20. bis 22. August 1998 in Ventura (Kalifornien) vorgestellt, öffentlich diskutiert und auf die Erfüllung der genannten Kriterien geprüft.
- Die AES-Konferenz vom 22. und 23. April 1999 in Rom führte zu einer ersten Diskussion der Ergebnisse und Empfehlungen, welche der fünfzehn Algorithmen weiter betrachtet werden sollten.
- Die fünf besten Kandidaten (MARS, RC6, Rijndael, Serpent, Twofish) kamen in die nächste Runde.
- Alle fünf Kandidaten erfüllen die oben genannten Forderungen, daher wurden weitere Kriterien hinzugezogen.
- Es folgte eine Überprüfung der Algorithmen auf theoretische Schwachstellen, durch die der Algorithmus möglicherweise zu einem späteren Zeitpunkt durch technischen Fortschritt unsicher werden kann.
- So konnten zum damaligen Stand technisch nicht realisierbare Vorgehensweisen in einigen Jahren anwendbar sein, ein solches Risiko sollte minimiert werden.
- Die Staffelung der Kandidaten nach Ressourcenverbrauch und Leistung war eindeutiger.
- Der Rijndael-Algorithmus hatte sich in Hardware- und Software-Implementierung als überdurchschnittlich schnell herausgestellt.
- Die anderen Kandidaten haben jeweils in unterschiedlichen Bereichen kleinere Schwächen.
Im Mai des Jahres 2000 wurden die Analysen und öffentlichen Diskussionen abgeschlossen und am 2. Oktober 2000 der Sieger schließlich bekannt gegeben: der belgische Algorithmus Rijndael.
- Rijndael überzeugte durch seine Einfachheit (die Referenz-Implementierung umfasst weniger als 500 Zeilen C-Code), Sicherheit und Geschwindigkeit, weshalb sich die USA trotz Sicherheitsbedenken für einen europäischen Algorithmus entschieden.
- Dieser Wettbewerb wird als vorbildlich angesehen
- Der Auswahlprozess faszinierte weltweit viele Kryptographen durch seine offene Gestaltung.
Anwendung
AES wird u. a. vom Kryptografiestandard IEEE 802.11i für Wireless LAN und seinem Wi-Fi-Äquivalent WPA2, bei IEEE802.16 m (WiMAX), für Powerline-Netzwerkverkehr ab der Version HomePlug AV sowie bei SSH und bei IPsec genutzt.
- Auch in der IP-Telefonie kommt AES sowohl in offenen Protokollen wie SRTP als auch proprietären Systemen wie Skype zum Einsatz.
- Mac OS X benutzt AES als Standardverschlüsselungsmethode für Disk-Images, außerdem verwendet der Dienst FileVault AES.
- Ebenso verwendet die transparente Kryptografie EFS in Windows XP ab SP 1 diese Methode.
- Zudem wird der Algorithmus zur Kryptografie diverser komprimierter Dateiarchive verwendet, z. B.
- bei 7-Zip und RAR.
- In PGP und GnuPG findet AES ebenfalls einen großen Anwendungsbereich.
- Der Linear Tape Open Standard spezifiziert eine Schnittstelle für AES-Kryptografie durch das Bandlaufwerk ab LTO-4 und ermöglicht so Bandkompression bei gleichzeitiger Kryptografie.
AES gehört zu den vom Projekt NESSIE empfohlenen kryptografischen Algorithmen und ist Teil der Suite B der NSA.
Der AES-Algorithmus wird inzwischen in etlichen CPUs von Intel oder AMD durch zusätzliche spezialisierte Maschinenbefehle unterstützt, wodurch das Verschlüsseln 5-mal und das Entschlüsseln 25-mal schneller als mit nicht spezialisierten Maschinenbefehlen erfolgt. Damit ist AES auch für mobile Anwendungen Akku-schonend benutzbar und für den Masseneinsatz geeignet.
- Programmier-Softwarebibliotheken wie zum Beispiel OpenSSL erkennen und nutzen die Hardware-AES-Implementierung und greifen nur, wenn nötig, auf langsamere Softwareimplementierung zurück.
AES-verschlüsselte Kommunikation wird auch zur Kryptografie der Datenübertragung zwischen elektronischen Identitätsdokumenten und Inspektionsgeräten verwendet, zum Beispiel bei neueren Reisepässen oder dem Deutschen Personalausweis.
- So wird das Abhören dieser Kommunikation verhindert.
- Hier erfolgt die Berechnung meist in dedizierten Koprozessoren für DES und AES, sowohl erheblich schneller als auch sicherer als in einer Allzweck-CPU möglich.
Da AES eine Blockverschlüsselung ist, sollte ein Betriebsmodus verwendet werden um die Blöcke zu verketten.
- Dadurch wird die Sicherheit weiter erhöht.
Schwächen und Angriffe
siehe AES:Angriffe
Anhang
Siehe auch
Sicherheit
Dokumentation
Links
Dokumentation
Weblinks
- Beschreibung von Markus Repges der AES-Kandidaten (Finalisten)
- NIST, Report on the Development of the Advanced Encryption Standard (AES), 2. Oktober 2000
- Animation von AES (Englisch)
- ZIP-Datei
- detaillierte Beschreinung
- Applied Crypto++: Block Ciphers Ein Artikel über Crypto++ auf codeproject.com mit dem Titel Encrypt Data using Symmetric Encryption with Crypto++