Verschlüsselung
Verschlüsselung nennt man den Vorgang, bei dem ein Klartext mit Hilfe eines Verschlüsselungsverfahrens (Algorithmus) in einen Geheimtext umgewandelt wird. Als Parameter des Verschlüsselungsverfahrens werden ein oder mehrere Schlüssel verwendet. Das Forschungsgebiet, das sich mit der Verschlüsselung beschäftigt, wird als Kryptographie bezeichnet.
Den umgekehrten Vorgang nennt man Entschlüsselung. Die Algorithmen zur Ver- bzw. Entschlüsselung müssen nicht identisch sein. Ebensowenig müssen identische Schlüssel zum Einsatz kommen. Das Forschungsgebiet der Entschlüsselung heißt Kryptoanalyse und ist natürlich eng verwandt mit der Kryptographie.
Historisch gesehen lassen sich jedoch Kryptographen und Kryptoanalytiker in zwei gegenüberstehende Gruppen aufteilen, die sich durch die Anwendung ihrer Kenntnisse und Techniken jeweils zu übertreffen versuchen. Derzeit behalten - zumindest offiziell - die Kryptographen die Oberhand, d.h. die besten Verschlüsselungsverfahren lassen sich mit den bekannten Entschlüsselungsverfahren nicht in praktikablen Zeiträumen brechen. Ob wichtige Verschlüsselungstechniken, die meist auf mathematischen Problemen beruhen, nicht mittlerweile ohne Kenntnis der Öffentlichkeit (z.B. von Geheimdiensten) gebrochen worden sind, kann nicht mit Sicherheit gesagt werden.
Schlüsselverteilung
Verschlüsselungen können grob anhand ihrer Schlüsselverteilung in symmetrische und asymmetrische Verschlüsselungssysteme unterteilt werden.
Bei symmetrischen Systemen besitzen beide Kommunikationspartner denselben Schlüssel und müssen diesen vor Beginn der Kommunikation sicher ausgetauscht haben (z.B. mittels Diffie-Hellman-Schlüsselaustausch). Bekannte symmetrische Verfahren sind DES, Cäsar-Chiffre(komplexitätstheoretisch sicher) und das One-Time-Pad(informationstheoretisch sicher).
Asymmetrische Systeme zeichnen sich dadurch aus, das für jeden Teilnehmer ein Schlüsselpaar generiert wird, wovon nur ein Schlüssel öffentlich gemacht wird. Asymmetrisch daher, da man mit einem der Schlüssel immer nur ver- und mit dem anderen immer nur entschlüsseln kann. Bekanntestes Verfahren hier ist das RSA-Kryptosystem.
Verschlüsselungsoperationen
Man unterscheidet zwei grundlegende Verschlüsselungsoperationen, die einzeln oder in Kombination eingesetzt werden können, um Nachrichten zu verschlüsseln.
- Transposition: Bei einer Transposition werden die Zeichen untereinander vertauscht. Zum Beispiel wird der Text rückwärts geschrieben, oder man vertauscht jeden 2. mit jedem 5. Buchstaben.
- Substitution: Bei der Substitution werden Zeichen durch andere ersetzt. Zum Beispiel können alle Buchstaben durch Zahlen ersetzt werden.
Verschlüsselungsmodi
Wenn Verschlüsselungen bei derselben Klartext-Eingabe immer zu denselben Geheimtexten führen, erhöht sich die Wahrscheinlichkeit, der Verschlüsselung durch analytische Verfahren auf die Spur kommen zu können. Man unterscheidet daher die folgenden Verschlüsselungsmodi:
- Electronic code book (ECB): Aus einem Klartextblock wird immer derselbe Geheimtext erzeugt.
- Cipher block chaining (CBC): In die Verschlüsselung fließt der jeweils vorher verschlüsselte Block ein.
Insgesamt führt dabei auch CBC bei identischer Klartext-Eingabe zu immer demselben Geheimtext. Beide Verfahren sind also letztlich deterministisch. Doch unterscheiden sich innerhalb eines Klartextes die Transformationen: Würde im Klartext zwei Mal derselbe Klartext-Block aufeinanderfolgen, so führen CBC-Verfahren im Gegensatz zu ECB-Verfahren zu unterschiedlichen Geheimtextblöcken.
Klartextverarbeitung
Klartexte können bei den meisten Verfahren nicht als Ganzes verschlüsselt werden, da die verwendeten Algorithmen bezüglich der Menge der zu verschlüsselnden Daten limitiert sind. Je nach Art der Klartextverarbeitung unterscheidet man daher zwei unterschiedliche Verfahren:
- Bei der Blockverschlüsselung wird der Klartext vor der Verschlüsselung in Blöcke gleicher Größe aufgeteilt. Diese Blöcke werden dann einzeln verschlüsselt.
- Bei der Stromverschlüsselung wird der Klartext zeichen- oder bitweise verschlüsselt. Solche Algorithmen bezeichnet man auch als Online-Algorithmen.
Blockbasierte Verfahren liefern in der Regel bessere Ergebnisse. Allerdings müssen zu kleine Blocks dabei durch bedeutungslose Zeichen aufgefüllt werden, so dass sie eine höhere Übertragungskapazität in Anspruch nehmen.
Übertragung der Nachricht
Eine verschlüsselte Nachricht muss in der Regel über mehrere Stationen übertragen werden. Heute handelt es sich dabei meist um einzelne Computersysteme, d.h. die verschlüsselte Nachricht wird über ein Computernetzwerk übertragen. Man unterscheidet dabei zwei grundlegend unterschiedliche Übertragungsweisen:
- Bei der Leitungsverschlüsselung wird die Nachricht nur jeweils für den Nachbarcomputer verschlüsselt. Dieser entschlüsselt die Nachricht, verschlüsselt sie wiederum (mit einem möglicherweise anderen Verfahren) und schickt sie an seinen Nachbarn - und so weiter bis zum Zielrechner. Der Vorteil dieses Verfahrens besteht darin, dass sich jeweils nur Nachbarrechner auf ein Verschlüsselungsverfahren und verwendete Schlüssel einigen müssen. Darüber hinaus kann diese Übertragungsweise auf einer sehr niedrigen Protokollebene (etwa bereits in der Übertragungshardware) angesiedelt werden. Der Nachteil besteht darin, dass jeder einzelne Rechner auf dem Übertragungsweg vertrauenswürdig und sicher sein muss.
- Bei der Ende-zu-Ende-Verschlüsselung wird die Nachricht vom Absender verschlüsselt und in dieser Form unverändert über mehrere Rechner hinweg zum Empfänger übertragen. Hier hat keiner der übertragenden Rechner Einsicht in den Klartext der Nachricht. Der Nachteil besteht allerdings darin, dass sich der Absender mit jedem möglichen Empfänger auf ein Verschlüsselungsverfahren und zugehörige(n) Schlüssel einigen muss.
Verwandte Begriffe
Chiffrierung
Bei der Chiffrierung werden alle Zeichen einzeln anhand eines Verschlüsselungsverfahrens verschlüsselt. Beispiel hierfür ist die Cäsar-Chiffre, bei welcher ein Zeichen aus dem Alphabet als Schlüssel verwendet wird und anhand der Position des Buchstabens im Alphabet die Buchstaben des Klartextes zyklisch verschoben werden.
Codierung
Beim Codieren werden alle Zeichen eines Zeichenvorrats einem anderen Zeichenvorrat zugeordnet. Ein Beispiel hierfür ist, die Codierung aller alphabetischen Zeichen in den ASCII-Code.
Literatur
- Simon Singh: Geheime Botschaften, Dtv 2001, ISBN 3423330716
Weblinks
- Krypto: Freeware zum Verschlüsseln von Dateien auf MS-Windows.
- Paladin Easysafe: Für Privatanwender kostenfreie Software zum Verschlüsseln von Dateien auf MS-Windows
- Paladin secure notebook: Professionelle und hochsichere Software mit zertifikatsbasiertem Zugangsschutz und automatischer Vollverschlüsselung von Festplatten, einzelner Partitionen sowie von USB-Wechselmedien
- TrueCrypt: Freeware zum Verschlüsseln von Festplattenpartitionen, Wechseldatenträgern und virtuellen Laufwerken
- WinPT: Freeware zur E-Mail und Dateiverschlüsselung
- Zur Geschichte der Verschlüsselung liefert der Artikel über Kryptographie eine gute Zusammenfassung.
mani is der beste