Blockchiffre

Was ist Blockchiffre?

In der Kryptographie ist Blockchiffre, auch als Blockverschlüsselung bezeichnet, ein deterministischer Algorithmus, der mit Bitgruppen fester Länge arbeitet, die als Block bezeichnet werden, mit einer unveränderlichen Transformation, die durch einen symmetrischen Schlüssel angegeben wird. Blockchiffre fungieren als wichtige Elementarkomponenten beim Entwurf vieler kryptografischer Protokolle und werden häufig zum Implementieren der Verschlüsselung von Massendaten verwendet.

Das Design einer Blockverschlüsselung basiert auf dem Konzept einer iterierten Produktchiffre, und  wurden zum Mittel zur effektiven Verbesserung der Sicherheit, indem einfache Operationen wie Substitutionen und Permutationen kombiniert wurden.

Iterierte Blockchiffre führen die Verschlüsselung in mehreren Runden durch, von denen jede einen anderen, vom ursprünglichen Schlüssel abgeleiteten Unterschlüssel verwendet. Eine weit verbreitete Implementierung solcher Chiffren, die nach Horst Feistel als Feistel-Netzwerk bezeichnet wird, ist insbesondere in der DES-Chiffre implementiert. Viele andere Implementierungen von Blockchiffren werden als Substitutions-Permutationsnetzwerke klassifiziert.

Selbst eine sichere Blockverschlüsselung ist nur für die Verschlüsselung eines einzelnen Blocks unter einem festen Schlüssel geeignet. Eine Vielzahl von Betriebsmodi wurde entwickelt, um eine wiederholte Verwendung auf sichere Weise zu ermöglichen, üblicherweise um die Sicherheitsziele: Vertraulichkeit und Authentizität zu erreichen. Blockchiffren können jedoch auch als Bausteine in anderen kryptographischen Protokollen dienen.

Definition

Eine Blockchiffre besteht aus zwei gepaarten Algorithmen, einer für die Verschlüsselung E und der andere für die Entschlüsselung D. Beide Algorithmen akzeptieren zwei Eingaben: einen Eingabeblock der Größe n Bits und einen Schlüssel der Größe k Bits; beide ergeben einen n-Bit-Ausgabeblock.

Der Entschlüsselungsalgorithmus D ist als inverse Funktion der Verschlüsselung definiert. Formal wird eine Blockverschlüsselung durch eine Verschlüsselungsfunktion angegeben die als Eingabe einen Schlüssel K der Bitlänge k, die als Schlüsselgröße bezeichnet wird, und eine Bitfolge P der Länge n, die als Blockgröße bezeichnet, erhält und eine Folge C mit n Bits zurückgibt.

P wird als Klartext und C als Chiffretext bezeichnet. Für jedes K muss die Funktion EK (P) eine invertierbare Abbildung auf {0,1} n sein. Die Inverse für E ist als Funktion definiert mit einem Schlüssel K und einem Chiffretext C, um einen Klartextwert P zurückzugeben.

Beispielsweise könnte ein Blockverschlüsselungs-Verschlüsselungsalgorithmus einen 128-Bit-Klartextblock als Eingabe annehmen und einen entsprechenden 128-Bit-Block von Chiffretext ausgeben. Die genaue Transformation wird durch eine zweite Eingabe gesteuert – den geheimen Schlüssel. Die Entschlüsselung ist ähnlich: Der Entschlüsselungsalgorithmus benötigt in diesem Beispiel einen 128-Bit-Block von Chiffretext zusammen mit dem geheimen Schlüssel und liefert den ursprünglichen 128-Bit-Block von Klartext.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte