Grundlagen der Kryptografie

Wortbedeutung: Das lateinische "crypticus" bzw. das griechische "krypikos" steht für verborgen, wobei "logos" für Wort und "graphos" für schreiben steht.

Mit der Entwicklung von schriftlichen Aufzeichnungen war schon bald in den damaligen Hochkulturen die Notwendigkeit von geheimer sicherer Nachrichtenübermittlung erkannt worden und man setzte bald Verfahren ein, deren Funktionsweise bis in unser Jahrhundert Verwendung fanden nämlich Permutation (Transposition) und Substitution.

=

Die Skytale, die im antiken Griechenland verwendet worden ist, basiert auf einem Transpositionsverfahren . Die Nachricht wurde auf einem Pergament, das spiralförmig um einen Holzstab gewickelt wurde geschrieben. Nur Personen mit einem Holzstab mit demselben Radius konnten schließlich die Nachricht lesen.

Das Verfahren, welches Cäsar eingesetzt haben soll, ist das typische monoalphabetische Verfahren . Jedes Zeichen wird durch ein K Schritte im Alphabet weiter hinten liegendes Zeichen ersetzt. Wenn von Rot 13 die Rede ist, meint man dieses Verfahren mit 13 Schritten. (Rotate 13)

Prinzipien von Kerckhoffs und Shannon, die als Merkmale guter Verfahren heute noch Gültigkeit haben, kannten nur diese Möglichkeiten. Erst in den 70er Jahren des 20. Jahrhunderts wurde mit der Entdeckung des Prinzips der asymmetrischen Verschlüsselung eine Revolution eingeläutet.

=

Prinzipien guter Kryptografie

Claude Elwood Shannon 30. April 1916 - 24. Februar 2001 Quelle: www.bell-labs.com
Claude Elwood Shannon 30. April 1916 - 24. Februar 2001 Quelle: www.bell-labs.com

Prinzip von Kerkhoffs:

Kerckhoffs von Nieuwenhof, niederländischer Philologe (1835 bis 1903), postulierte, dass die Sicherheit eines kryptographischen Systems nicht von der Geheimhaltung der Ver- und Entschlüsselungstransformation abhängen darf, sondern ausschließlich von der Geheimhaltung der verwendeten Schlüssel.

=

Prinzipien von Shannon:

Claude E. Shannon stellte 1949 die Prinzipien der Konfusion und Diffusion auf.

Konfusion: Der funktionale Zusammenhang zwischen Klartext, Chiffretext und Schlüssel sollte komplex sein
Diffusion: Jedes Chiffretextzeichen sollte von möglichst vielen Klartextzeichen und dem gesamten Schlüssel abhängen, damit die statistischen Eigenschaften und Besonderheiten eines Klartextes ausgeglichen werden.

=

5 Kriterien von Shannon:

Shannon stellte auch verschiedene Kriterien zur Bewertung der Qualität aufgestellt, die mit Einsatz von IT an Bedeutung verloren haben.
- amount of secrecy
- size of key
- complexity of enciphering
- propagation of errors
- expansion of messages

=

Merkmale und Voraussetzungen guter Algorithmen

1. Der Algorithmus wurde gezielt zur Verschlüsselung entwickelt: Das Verfahren sollte von erfahrenen Kryptologen mit dem erklärten Ziel entwickelt worden sein einem kryptanalytischen Angriff standzuhalten - und nicht etwa einen Pseudozufallszahlengenerator oder Hash-Algorithmus zu missbrauchen, um einen Schlüsselstrom für eine Vernamverschlüsselung zu generieren.

2. Die Geheimhaltung des Verfahrens ist nicht entscheidend und es steht dauerhaft für Analysen zur Verfügung: Nach dem Prinzip von Kerckhoffs hängt die Datensicherheit bei guten Algorithmen nicht von der Geheimhaltung des Verfahrens ab, sondern ausschließlich von der Geheimhaltung von den Schlüsseln. Die Offenlegung des Algorithmus sollte den Erfolg eines Angreifers nicht beeinflussen.

3. Der Algorithmus wurde von Experten analysiert und zeigte keine Schwächen.Das Verfahren sollte von anderen Experten durch und durch analysiert, diskutiert und deren Ergebnisse veröffentlicht worden sein, - und natürlich keine bekannten Schwächen als Ergebnis zeigen.

4. Der Algorithmus arbeitet effizient

Der Algorithmus sollte möglichst leicht zu implementieren sein und schnelle Ver- und Entschlüsselung ermöglichen. Zudem erzeugt er einen Chiffretext, der nicht länger ist als der Klartext.

=

Snake Oil

Für kryptographische Verfahren, die groß angepriesen werden, aber die obigen Punkte nicht erfüllen, gibt es den Begriff „Snake Oil“. Neue, angeblich 100% sichere, revolutionäre Verfahren entpuppen sich zumeist als „Schlangenöl“. 

=

Kryptanalytik

Über kryptanalytische Verfahren (Angriffe) kann die Güte bzw. Angriffsresistenz eines kryptographischen Algorithmus bestimmt werden. Kryptanalytische Angriffe sind:

  • Ciphertext only
  • Known Plaintext und dazu "lineare Kryptanalyse und "Meet in the middle Attack"
  • Chosen Plaintext und dazu "differentielle Kryptanalyse"
  • Chosen Ciphertext

Neben der vollständigen Schlüsselsuche (exhaustive Key Search, Brute Force) sind in der Praxis auch schwache und halbschwache Schlüssel, kleine private Schlüssel oder niedrige Exponenten, Fehlerangriffe, und Side-Channel Angriffe relevant.

"fehlerlose" Implementierung

Ein guter Algorithmus nützt nichts, wenn: die Implementierung (ob in Soft- oder Hardware) fehlerhaft ist; bestimmte (negative) Eigenschaften des Algorithmus ausreichend nicht berücksichtigt werden; oder zu viele Informationen über Seitenkanäle (Side Channel Information) verfügbar sind und Side Channel Analysen (bzw. Side Channel Attacks) zulassen.

Dabei handelt sich dabei um eine Form der Schwachstellenanalyse, in der Systeme über die Auswertung der Informationen aus Seitenkanälen wie die Stromaufnahme, Zeitverhalten oder die Abstrahlung der Komponenten angegriffen werden, etwa um geheime Schlüssel zu kompromittieren. Derartige Attacken sind auch besonders bei Chipkarten von Bedeutung.

Um solche Side-Channel Attacken zu verhindern sollte die Implementierung schon unter Berücksichtigung dieser Aspekte geschehen, daraufhin überprüft und getestet und die Ergebnisse dieser Evaluierung öffentlich sein.

=