Verschlüsselung ist ein Prozess der Klartextdaten so abändert, dass diese nur
noch durch autorisierte Benutzer mit dem entsprechenden Entschlüsselungsschlüssel gelesen werden können.
Historische Verschlüsselungsverfahren bezogen sich dabei hauptsächlich darauf,
den Verschlüsselungsalgorithmus selbst geheim zu halten. Heutzutage sind diese aber durch Reverse Engineering ermittelbar, so dass man meist Public Domain Algorithmen verwendet und sich auf den Schutz der Schlüssel selbst konzentriert (Kerckhoff Prinzip).
Je größer die Schlüssellänge N eines Verschlüsselungsalgorithmus, desto größer
ist der Schlüsselraum (2^N als Menge aller möglichen Schlüsselwerte); jedes zusätzliche Bit in der Schlüssellänge verdoppelt dabei den Schlüsselraum.
Grundsätzlich kann jeglicher Verschlüsselungsalgorithmus durch das Durchprobieren aller Schlüssel des Schlüsselraumes geknackt werden, man spricht hierbei auch von einem Brute Force Angriff. In der Regel ist ein solcher Angriff bei der Hälfte des Schlüsselraumes erfolgreich.
Beispiel: Eine 128-Bit Schlüssellänge hat einen Schlüsselraum von 2^128 möglichen
Schlüsselwerten.Ein Brute Force Angriff sollte daher bei ca. 2^127
durchprobierten Schlüsselwerten erfolgreich sein.
Je leistungsfähiger die für den Brute Force Angriff verwendete Hardware ist, desto
schneller kann der Schlüsselraum durchsucht und der Schlüssel geknackt werden.
Ziel ist also, einen geeigneten Algorithmus mit hinreichend großer Schlüssellänge
zu verwenden, der zu einer unzweckmäßig langen Dauer bei Brute Force Angriffen führt und keine Schwächen gegenüber weiteren kryptografischen Angriffen aufweist, die ein eventuelles Abkürzen durch den Schlüsselraum erlauben.
Weitere empfohlene Eigenschaften für einen Verschlüsselungsalgorithmus sind
variable Schlüssellängen und Ausnutzung des Avalanche-Effekts: kleine
Abweichungen im Klartext – führen zu großen Änderungen im chiffrierten Text.
Generell unterscheidet man bei Verschlüsselung zwischen symmetrischen und
asymmetrischen Verschlüsselungsverfahren, die je nach verwendetem
Algorithmus entweder im Block- oder Stromverschlüsselungsmodus arbeiten:
- Blockchiffren: Hierbei wird der Klartext in Blöcke fester Größe (z.B. 64-Bit bei DES) eingeteilt – fehlende Ausgangsbits werden mit Padding aufgefüllt. Jeder Block wird dann unabhängig von den anderen verschlüsselt/entschlüsselt. Dies ist der am häufigsten verwendete Modus und wird z.B. in DES, 3DES, AES und RSA verwendet.
- Stromchiffren: Hierbei wird je nach Ausgangstext in einer Art Strom Bit-, Byte- oder Zeichenweise jedes Element einzeln verschlüsselt. Stromchiffren werden z.B. bei den Rivest Ciphern – wie RC4 eingesetzt.
Literatur zum Thema:
Vgl. TU Bergakademie Freiberg: „Geschichte der Kryptographie”.
(abgerufen am 9. September 2011).
Geschichte der Kryptografie
Vgl. Watkins, Michael; Wallace, Kevin: „CCNA Security“, S. 456-457.
CCNA Security
Vgl. Sheer, Klaus: „Kryptologie”.(abgerufen am 9. September 2011).
Kryptologie