ToolActToolAct

AES-Verschlüsselungstool

Professionelle AES-Verschlüsselung mit 6 Modi und 5 Padding-Optionen

Verschlüsselungskonfiguration

Eingabe
Zeichen: 0
Bytes: 0
Ausgabe
Zeichen: 0
Bytes: 0

Was ist AES-Verschlüsselung?

AES (Advanced Encryption Standard) ist der am weitesten verbreitete symmetrische Verschlüsselungsalgorithmus weltweit, von der NSA für den Schutz von TOP SECRET-Informationen zugelassen. AES wurde von den belgischen Kryptographen Joan Daemen und Vincent Rijmen als Rijndahl-Chiffre entworfen und 2001 von NIST als Ersatz für den unsicheren DES-Algorithmus veröffentlicht. AES verwendet Blockverschlüsselung mit 128-Bit-Blöcken (16 Bytes) und unterstützt drei Schlüssellängen: 128, 192 und 256 Bit. Längere Schlüssel bieten höhere Sicherheit, aber etwas langsamere Performance. Als symmetrischer Algorithmus verwendet AES denselben Schlüssel für Ver- und Entschlüsselung. AES wird in vielen Bereichen eingesetzt: TLS/SSL für Web und E-Mail, BitLocker/FileVault für Festplattenverschlüsselung, Datenbankverschlüsselung und IoT-Sicherheit. Dieses Tool unterstützt alle 6 AES-Modi (ECB, CBC, CFB, OFB, CTR, GCM) und 5 Padding-Schemata.

Anleitung

Anleitung

  1. Verschlüsselungsmodus wählen (GCM empfohlen für Verschlüsselung + Integritätsprüfung)
  2. Padding-Verfahren wählen (GCM/CFB/OFB/CTR-Modi verwenden automatisch kein Padding)
  3. Schlüssellänge wählen (256 Bit für höchste Sicherheit, 128 Bit für beste Performance)
  4. Schlüssel eingeben oder auf „Zufälligen Schlüssel generieren“ klicken, um automatisch einen zu erstellen
  5. Für Modi mit IV-Bedarf: Initialisierungsvektor eingeben oder generieren
  6. Klartext (zum Verschlüsseln) oder Chiffretext (zum Entschlüsseln) im linken Bereich eingeben
  7. Ergebnisse werden automatisch im rechten Bereich angezeigt
  8. Auf „Kopieren“ klicken, um Ergebnisse zu kopieren, oder „Tauschen“, um Eingabe und Ausgabe zu vertauschen

Verschlüsselungsmodi

  • GCMGalois/Counter Mode, empfohlen. Bietet Verschlüsselung und Authentifizierung, benötigt kein Padding, unterstützt parallele Verarbeitung und ist ideal für Netzwerkübertragung und TLS.
  • CBCCipher Block Chaining, klassischer Modus. Jeder Klartextblock wird vor der Verschlüsselung mit dem vorherigen Chiffreblock XOR-verknüpft. Erfordert Padding und IV, bietet gute Sicherheit, unterstützt jedoch keine parallele Verarbeitung.
  • CFBCipher Feedback, Stromchiffre-Modus. Wandelt eine Blockchiffre in eine Stromchiffre um, benötigt kein Padding, eignet sich für Streaming-Daten und ermöglicht Echtzeitverschlüsselung.
  • OFBOutput Feedback, ähnlich wie CFB, jedoch ohne Fehlerfortpflanzung. Geeignet für verrauschte Kanäle, benötigt kein Padding.
  • CTRCounter-Modus. Erzeugt den Keystream über einen hochgezählten Zähler, benötigt kein Padding, unterstützt vollständig parallele Verschlüsselung und bietet hervorragende Performance.
  • ECBElectronic Codebook, NICHT empfohlen. Gleicher Klartext erzeugt gleichen Chiffretext, verrät Datenmuster und ist nur für die Verschlüsselung einzelner Datenblöcke geeignet.

Padding-Verfahren

  • PKCS7PKCS#7-Padding, am weitesten verbreitet und empfohlen. Füllt automatisch N Bytes mit dem Wert N auf und lässt sich beim Entschlüsseln eindeutig entfernen.
  • ZeroPaddingNull-Padding. Füllt mit 0x00-Bytes auf – einfach, kann jedoch mehrdeutig sein, wenn Daten ohnehin mit Nullbytes enden.
  • NoPaddingKein Padding. Erfordert eine Datenlänge, die ein exaktes Vielfaches von 16 Bytes beträgt; geeignet für Strommodi oder Daten mit bekannter Länge.
  • ISO7859ISO/IEC 7816-4-Padding. Das erste Padding-Byte ist 0x80, gefolgt von 0x00-Bytes; weit verbreitet bei Smartcards und im Finanzwesen.
  • ANSIX923ANSI X.923-Padding. Alle Padding-Bytes sind 0x00, das letzte Byte gibt die Padding-Länge an; häufig im Finanzdatenaustausch im Einsatz.

Nutzungstipps

  • Schlüssel sollten mit kryptographisch sicheren Zufallszahlen erzeugt werden – vermeiden Sie erratbare Zeichenfolgen
  • Verwenden Sie für jede Verschlüsselung einen anderen zufälligen IV – niemals IVs wiederverwenden
  • GCM-Modus empfiehlt 12-Byte-(96-Bit)-IVs für optimale Performance und Sicherheit
  • CTR- und GCM-Modi unterstützen parallele Verarbeitung für schnellere Verschlüsselung großer Datenmengen
  • Schlüssel und IVs können im Hexadezimal-, Text- oder Base64-Format eingegeben werden
  • Hexadezimale Schlüssellängen: 128 Bit = 32 Zeichen, 192 Bit = 48 Zeichen, 256 Bit = 64 Zeichen

Anwendungsfälle

AES-Integration exakt nachbildenNutzen Sie die Seite, wenn ein anderes System eine präzise Kombination vorgibt, etwa AES-256-CBC mit PKCS#7, einem Hex-Schlüssel, einem Base64-IV und Base64-Chiffretext. Die separaten Steuerelemente für Schlüssel, IV, Eingabe- und Ausgabeformat ermöglichen es, diese Vorgabe exakt abzubilden, ohne einen eigenen Testaufbau zu schreiben. Jeder Schritt – SubBytes, ShiftRows, MixColumns, AddRoundKey – läuft lokal im Browser über die aes-js-Implementierung, sodass der Chiffretext nie das Gerät verlässt und der Schlüssel den Tab nie verlässt.
Modi und Padding vor der Auswahl vergleichenWechseln Sie zwischen ECB, CBC, CFB, OFB, CTR und GCM, und probieren Sie dann PKCS#7, ZeroPadding, NoPadding, ISO/IEC 7816-4 oder ANSI X.923 aus, wo Padding zutrifft. So werden die Vor- und Nachteile von Padding und Modi sichtbar – einschließlich der Frage, warum streamartige Modi (CFB, OFB, CTR) kein Padding benötigen und warum ECB Muster preisgibt. Die 16-Byte-IV-Anforderung für CBC und der empfohlene 12-Byte-IV für GCM lassen sich am selben Klartext testen.
Sichere Beispieldaten für Dokumentation erzeugenErstellen Sie zufällige Schlüssel und IVs im aktuellen Anzeigeformat, verschlüsseln Sie einen harmlosen Klartext und kopieren Sie das Ergebnis als Hex oder Base64 für README-Beispiele, API-Tickets oder Cross-Language-Testvektoren. Da Schlüssel und Klartext im Browser-Tab bleiben, können realistisch wirkende Beispielabschnitte erstellt werden, ohne produktionsnahe Daten über einen externen Encoder zu senden.
Abweichungen mit anderer Bibliotheksausgabe diagnostizierenWenn Node crypto, Python pycryptodome oder Java javax.crypto Chiffretext erzeugt, der auf der Seite nicht entschlüsselt werden kann, wechseln Sie Modus und Padding zur passenden Spezifikation und prüfen Sie IV-Länge, Schlüssellänge und Eingabekodierung, bevor Sie den Anwendungscode ändern. Häufige Ursachen sind AES-CBC mit PKCS#7 vs. ZeroPadding oder AES-GCM, bei dem der empfangende Service den 16-Byte-Auth-Tag nach IV+Chiffretext erwartet statt separat.
GCM-Authentifizierungstag-Handling demonstrierenVerschlüsseln Sie mit GCM, erfassen Sie den 16-Byte-Auth-Tag, den die Seite nach dem Chiffretext anhängt, und prüfen Sie, ob der empfangende Service den Chiffretext ablehnt, wenn der Tag gekürzt oder umsortiert wird. Fehler im Tag-Handling führen meist zu stiller Entschlüsselung statt einer Ausnahme – hier lässt sich das AEAD-Verhalten testen, bevor es in die Integration gelangt.

Technisches Prinzip

AES (Advanced Encryption Standard) wurde im November 2001 von NIST als FIPS 197 veröffentlicht, nach einem fünfjährigen öffentlichen Wettbewerb, der 1997 mit 15 Kandidaten begann. Der Sieger war Rijndael, entworfen von den belgischen Kryptographen Joan Daemen und Vincent Rijmen, das sich gegen Finalisten wie Twofish, Serpent, RC6 und Mars durchsetzte. AES ersetzte DES (FIPS 46, 2005 zurückgezogen) und ist heute der weltweit am weitesten verbreitete symmetrische Blockchiffre: Er steckt in TLS 1.2/1.3, IPsec, BitLocker, FileVault, OpenSSLs Standard `aes-256-gcm`, dem Linux-Kernel dm-crypt, Apples CryptoKit und Androids Keystore. Die NSA genehmigte AES-256 bereits 2003 für TOP SECRET (Suite A), womit AES der erste öffentlich verfügbare Chiffre war, der für die höchste US-Geheimhaltungsstufe freigegeben wurde. Die Blockgröße ist fest auf 128 Bit (16 Bytes) gesetzt; Schlüssellängen sind 128, 192 oder 256 Bit, entsprechend 10, 12 oder 14 Runden. Eine Runde (außer der letzten) führt vier Operationen auf einem 4x4-Byte-Zustand aus: SubBytes wendet eine feste 16x16 S-Box an (0x63 = 01100011 steht in Zeile 6, Spalte 3 — die S-Box wird als multiplikatives Inverses in GF(2^8) plus einer affinen Transformation konstruiert, um die algebraische Struktur aufzubrechen); ShiftRows rotiert Zeile 0 um 0, Zeile 1 um 1, Zeile 2 um 2, Zeile 3 um 3 Bytes; MixColumns multipliziert jede Spalte mit einer festen zirkulanten MDS-Matrix über GF(2^8) (das Polynom 0x03 * x in Matrixform); AddRoundKey XORt mit dem Rundenschlüssel. Die letzte Runde überspringt MixColumns. Die Rundenschlüssel stammen aus dem Rijndael-Schlüsselplan: 11/13/15 Rundenschlüssel à 128 Bit, erzeugt via RotWord (Rotation um 1 Byte nach links), SubWord (S-Box anwenden) und XOR mit Rcon[i] = [0x01, 0x02, 0x04, ..., 0x80, 0x1b, 0x36] *2^(i-1) über GF(2^8). Die `aes-js`-Bibliothek der Seite führt alle vier Schritte in reinem JavaScript aus und ist bytekompatibel mit OpenSSLs libcrypto. Fünf Blockmodi werden bereitgestellt. ECB verschlüsselt jeden 16-Byte-Block unabhängig: identische Klartextblöcke erzeugen identische Chiffretextblöcke und geben Struktur preis (das berühmte ECB-Pinguinbild überlebt die Verschlüsselung, weil das Pixelmuster erhalten bleibt). CBC XORt jeden Klartextblock vor der Verschlüsselung mit dem vorherigen Chiffretextblock; der erste Block wird mit einem IV verknüpft. CTR verwandelt AES in eine Stromchiffre, indem ein hochgezähler Zähler verschlüsselt wird (Nonce || Zähler, beide 64-Bit-Hälften eines 128-Bit-Blocks) und der Keystream mit dem Klartext XORt wird — unterstützt wahlfreien Zugriff und parallele Verschlüsselung. GCM ist CTR plus GHASH (ein Universal-Hash-Authentifikator über GF(2^128)), der ein 16-Byte-Authentifizierungs-Tag erzeugt, das dem Chiffretext angehängt wird. GCM ist das Standard-AEAD in TLS 1.3 (RFC 8446) und in den meisten modernen APIs (Node `crypto.createCipheriv('aes-256-gcm', ...)`). CFB und OFB sind ältere Stromchiffre-Modi, die aus Kompatibilitätsgründen erhalten sind. Die IV-Falle ist der häufigste Fehler in der Produktion. GCM mit einem 96-Bit-(12-Byte-)IV ist die von NIST empfohlene Konfiguration (RFC 5288, NIST SP 800-38D §5.2.1.1): Der 12-Byte-IV wird als Zähler behandelt, und GHASH wird über J0 = IV || 0x00000001 berechnet. Die Wiederverwendung eines IV unter demselben Schlüssel im CTR-Modus gibt das XOR der Klartexte preis (C1 XOR C2 = P1 XOR P2 — ein einziger gewählter-Klartext-Angriff rekonstruiert beide Nachrichten). Die Wiederverwendung eines IV in GCM ist noch schlimmer: Ein Angreifer kann den Authentifizierungs-Unterschlüssel H zurückgewinnen und Tags für beliebige Nachrichten fälschen (der Angriff stammt aus Joux 2006 und ist der Grund, warum NIST zufällige 96-Bit-IVs ohne strenge Einzigartigkeit verboten hat). Die Seite erzeugt 12-Byte-IVs mit `crypto.getRandomValues(new Uint8Array(12))` für GCM und 16-Byte-IVs für CBC/CFB/OFB, und die Zufallsschlüssel-Taste verwendet denselben CSPRNG, sodass jede Verschlüsselung mit frischem Material beginnt. Dieses Tool führt die AES-Ver- und -Entschlüsselung vollständig im Browser über aes-js aus (eine reine JavaScript-AES-Implementierung). Es gibt keinen Fallback auf Web Crypto / SubtleCrypto — unabhängig von der Größe der Nutzdaten laufen alle Operationen durch aes-js.

  • AES ist FIPS 197 (2001), ausgewählt durch einen offenen NIST-Wettbewerb mit 15 Kandidaten; Rijndael schlug Twofish, Serpent, RC6 und Mars. Blockgröße ist stets 128 Bit; Schlüssellängen 128/192/256 Bit führen 10/12/14 Runden aus. Die Seite unterstützt alle drei über aes-js-Konstruktoren AES_128, AES_192 und AES_256.
  • Die vierstufige Rundenfunktion: SubBytes (eine 256-Byte S-Box als GF(2^8)-Inverses plus affin), ShiftRows (Zeilen um 0/1/2/3 Bytes verschoben), MixColumns (MDS-Matrixmultiplikation über GF(2^8) mit dem Polynom 0x03), AddRoundKey (XOR mit Rundenschlüssel). Letzte Runde überspringt MixColumns. Gleicher Algorithmus, gleicher Schlüssel = gleicher Chiffretext — AES ist deterministisch.
  • ECB ist unsicher, weil identische Klartextblöcke identische Chiffretextblöcke erzeugen (das berühmte „ECB-Pinguin“-Bild behält seine Silhouette bei). CBC ist der sichere Klassiker; CTR bringt Parallelität; GCM fügt Authentifizierung hinzu und ist der TLS-1.3-Standard (RFC 8446). CFB und OFB sind Stromchiffre-Modi für Legacy-Kompatibilität.
  • PKCS#7-Padding: 1 Byte zu kurz → 15 Bytes mit 0x0f + 1 Byte 0x10; 2 Bytes zu kurz → 14 mal 0x0e + 2 mal 0x0f usw. Der Wert des letzten Bytes ist die Padding-Länge, daher ist das Entfernen eindeutig. Strommodi (CTR/CFB/OFB/GCM) überspringen Padding vollständig. ZeroPadding ist mehrdeutig, wenn Daten mit 0x00 enden — nicht verwenden.
  • GCM ist AEAD: Chiffretext plus ein 16-Byte-Authentifizierungs-Tag, berechnet via GHASH über GF(2^128) mit H = AES_K(0^128). AAD (Additional Authenticated Data) deckt Header ab, ohne sie zu verschlüsseln. Der 96-Bit-IV (RFC 5288) wird als Zähler behandelt; 128-Bit-IVs durchlaufen ein GHASH zur Ableitung von J0 — gleiche Sicherheit, etwas langsamer.
  • IV-Wiederverwendung ist katastrophal. CTR-IV-Wiederverwendung gibt P1 XOR P2 preis (Two-Time-Pad). GCM-IV-Wiederverwendung (Joux 2006) ermöglicht es einem Angreifer, H zurückzuwinnen und Tags zu fälschen. Die Seite erzeugt IVs mit `crypto.getRandomValues` (einem CSPRNG), verwendet sie nie innerhalb einer Sitzung erneut und stellt den IV dem Chiffretext voran, damit die Entschlüsselungsseite ihn ohne externen Zustand wiederherstellen kann.
  • AES-Schlüsselerzeugung: Die Schaltfläche für den Zufallsschlüssel verwendet `crypto.getRandomValues` (CSPRNG des Browsers). Die AES-Rundenberechnung läuft über aes-js, eine reine JavaScript-Implementierung, die bei identischen Schlüssel-, IV- und Padding-Einstellungen byteweise mit OpenSSLs libcrypto übereinstimmt.
  • Seitenkanal-Realität: Reines JS-AES ist nicht konstantzeitig (die Indexierung in das S-Box-Array gibt Timing preis). Web Cryptos AES läuft in nativem Code und ist konstantzeitig. Für hochkritische Workloads (HSM, serverseitige KDFs) bevorzugen Sie den nativen Pfad; für ein browserbasiertes Lernwerkzeug ist aes-js in Ordnung, da die Eingabe bereits im Speicher der Seite liegt. Migrationspfad: SHA-1 → SHA-256 für Hashes, DES → AES für Chiffren, ECB → GCM für Modi.

Beispiele

AES-128-CBC-Verschlüsselung

Klartext:  Hello, World!
Schlüssel: 0123456789abcdef0123456789abcdef (32 hex = 128 Bit)
IV:        fedcba9876543210fedcba9876543210 (32 hex = 128 Bit)
Modus:     CBC / PKCS#7 / 128-Bit

Die Seite erzeugt den Geheimtext (Base64 und Hex) im Ausgabe-
panel. Klicke auf 'Kopieren', um den Wert zu übernehmen, oder auf
'Tauschen', um ihn wieder zu entschlüsseln. Das PKCS#7-Padding
hängt 3 Bytes (0x03 0x03 0x03) an, sodass der gepolsterte Klartext
einen vollständigen AES-Block füllt.

FIPS: FIPS 197 definiert AES; NIST SP 800-38A definiert den CBC-Modus

AES-256-GCM authentifizierte Verschlüsselung

Klartext:  sensitive data payload
Schlüssel: 6f8a3b2c1d9e7f5a4b8c0d2e1f3a5b7c9d1e3f5a7b9c1d3e5f7a9b1c3d5e7f9a (64 hex = 256 Bit)
IV:        1a2b3c4d5e6f708192a3b4c5 (24 hex = 12 Bytes, von GCM empfohlene Länge)
Modus:     GCM / NoPadding / 256-Bit / AAD leer

Ausgabeformat: IV (12B) || Geheimtext || AuthTag (16B)

FIPS: NIST SP 800-38D definiert den GCM-Modus; der 96-Bit-IV wird als Zähler behandelt

AES-128-ECB (Testvektor aus FIPS 197 Anhang B)

Schlüssel: 2b7e151628aed2a6abf7158809cf4f3c (128 Bit)
Klartext:  3243f6a8885a308d313198a2e0370734
Geheimtext (Hex): 3925841d02dc09fbdc118597196a0b32

Modus:     ECB / 128-Bit

Hinweis: ECB verschlüsselt jeden 16-Byte-Block unabhängig.
Identische Klartextblöcke ergeben stets identische Geheimtextblöcke.
FIPS: FIPS 197 Anhang B liefert diesen kanonischen Testvektor

Sicherheitsvergleich der AES-Modi

ECB:  Kein IV, deterministisch, leakt Muster - im Produktivbetrieb NIEMALS verwenden
CBC:  Zufälliger IV, nur parallele Entschlüsselung, benötigt HMAC für Integrität
CTR:  Counter-IV, parallele Ver-/Entschlüsselung, benötigt MAC
GCM:  Zufälliger IV, parallelisierbar, integrierter Authentifizierungs-Tag

Für neue Systeme ist AES-256-GCM zu bevorzugen:
- 256-Bit-Schlüssel widersteht Quantenangriffen (Grovers Algorithmus)
- GCM bietet Vertraulichkeit und Integrität in einem Schritt
- TLS 1.3 schreibt AEAD-Cipher wie AES-GCM vor

NIST: NIST SP 800-38A/D dokumentiert all diese Modi

FAQ

Was ist AES und welche Schlüsselgrößen werden unterstützt?

AES (Advanced Encryption Standard, FIPS 197) ist die symmetrische Chiffre, die den Großteil von modernem HTTPS, Wi-Fi WPA2 und Festplattenverschlüsselung absichert. Diese Seite unterstützt Schlüssel mit 128, 192 und 256 Bit. AES-128 ist schnell und für nahezu alle Anwendungen sicher; wähle AES-256 nur dann, wenn du langfristigen Schutz gegen zukünftige Quantenkryptoanalyse brauchst.

Welchen Modus soll ich nutzen — ECB, CBC, CFB, OFB, CTR oder GCM?

ECB ist außer für einzelne Test-Blöcke unsicher (es gibt Muster im Klartext preis). CBC und CTR liefern nur Vertraulichkeit und brauchen einen separaten MAC. GCM ist der moderne Standard — es authentifiziert den Chiffretext zusätzlich zur Verschlüsselung und ist das, was HTTPS verwendet. Nimm GCM, außer du musst mit einem Altsystem kompatibel bleiben.

Welches Padding soll ich verwenden?

PKCS#7 (auch PKCS#5 genannt) ist das Standard-Padding für ECB- und CBC-Modus. CTR, CFB, OFB und GCM sind stromartige Modi und brauchen kein Padding — die Seite erzwingt dort 'NoPadding'. Schlägt die Entschlüsselung mit 'bad padding' fehl, liegt es meist an einem nicht übereinstimmenden Schlüssel, IV oder Padding zwischen den beiden Seiten.

Warum erzeugt derselbe Text jedes Mal einen anderen Chiffretext?

Alle Modi außer ECB nutzen einen IV (Initialisierungsvektor), der bei jeder Verschlüsselung zufällig sein soll. Gleicher Klartext + gleicher Schlüssel + anderer IV → anderer Chiffretext. Der IV ist nicht geheim — stelle ihn dem Chiffretext einfach voran — aber einen IV mit demselben Schlüssel im CTR- oder GCM-Modus wiederzuverwenden, ist katastrophal und bricht die Verschlüsselung.

Ist AES quantensicher?

Die effektive Sicherheit von AES-128 sinkt gegen Grovers Algorithmus auf einem ausreichend großen Quantencomputer auf etwa 64 Bit; AES-256 sinkt auf 128 Bit. AES-256 ist daher die konservative Wahl für Daten, die jahrzehntelang geheim bleiben müssen. Symmetrisches AES wird durch Quantencomputer viel weniger geschwächt als RSA/ECC.

Findet die Verschlüsselung in meinem Browser statt?

Ja. Die Seite nutzt die aes-js-Bibliothek (eine reine JavaScript-AES-Implementierung), die lokal im Browser läuft. Klartext, Schlüssel und IVs verlassen das Gerät nie. Du kannst das im Netzwerk-Tab überprüfen.

Wie tausche ich einen Schlüssel sicher aus?

Füge nie einen echten Produktivschlüssel in irgendeine Webseite ein, auch nicht hier. Sieh dieses Tool als Lernhilfe und als Möglichkeit, Testvektoren zu prüfen. Für echten Schlüsselaustausch nutze ein asymmetrisches Verfahren (RSA-OAEP, ECDH/X25519), einen aus einem Passwort abgeleiteten Schlüssel mit PBKDF2/Argon2 plus Salt oder ein verwaltetes KMS — und nicht 'schick den Schlüssel per Chat'.