Symmetrischen Verschlüsselungsalgorithmus Blowfish

January 19

Blowfish ist ein symmetrischer Verschlüsselungsalgorithmus oder, mit anderen Worten, eine mathematische Formel, die denselben geheimen Schlüssel sowohl zum Verschlüsseln und Entschlüsseln von Nachrichten verwendet. Blowfish wurde von einer der weltweit führenden Kryptografen, Bruce Schneier 1993 als Alternative zu bestehenden, aber weniger sichere Algorithmen wie Data Encryption Standard (DES).

Geschichte

Bruce Schneier speziell den Blowfish-Algorithmus als Alternative nicht lizenzierte, uncopyrighted, zum DES und zuerst auf dem Cambridge-Algorithmen-Workshop im Jahr 1994 vorgestellt. Seit dieser Zeit wurde Blowfish ausgiebig von kryptografischen Community getestet und einigermaßen sicher sein.

Blockchiffre

Blowfish ist was ist bekannt als eine 64-Bit-Blockverschlüsselung, d. h. der Algorithmus und Verschlüsselung Schlüssel auf einen Block von 64 Bit oder 8 Bytes lang, anstatt einzelne Datenbits angewendet werden. Jeder Block fester Länge unverschlüsselter Daten als Klartext, bekannt ist ein Block mit verschlüsselten Daten oder verschlüsselten Text, gleicher Länge umgewandelt. Die 64-Bit Blockgröße ist kurz nach modernen Standards, und während des Blowfish-Algorithmus völlig ausreichend für Verbrauchertyp Anwendungen wie e-Mail ist, ist es weniger geeignet zum Verschlüsseln großer Datenmengen, z. B. bei der Datenarchivierung.

Verschlüsselungsschlüssel

Der symmetrischen Verschlüsselungsalgorithmus Blowfish verwendet einen Verschlüsselungsschlüssel variabler Länge, die Länge bei 32 Bits zu 448 Bit reichen können, der Standardwert ist 128 Bits. Je länger der Schlüssel, desto höher die Anzahl der möglichen Kombinationen und je stärker die Verschlüsselung. Der Blowfish-Algorithmus besteht eigentlich aus zwei Teilen: eine wichtige Erweiterung Teil, in dem der Schlüssel wird in ein Array von Unterschlüsseln umgewandelt, und ein Daten-Verschlüsselung-Teil. Im Gegensatz dazu DES verwendet eines 64-Bit-Schlüssels, und nur 56 Bits eigentlich zufällig generiert und von den Verschlüsselungsalgorithmus verwendet werden; die verbleibenden 8 Bits werden für die Fehlerkorrektur verwendet.

Betrieb

Der Blowfish-Algorithmus führt 16 Iterationen oder Runden, von denen jede besteht aus eine Permutation der Schlüssel und eine Substitution der Schlüssel und die Daten abhängig abhängig. Jede Operation ist eine logische exklusive OR (XOR)--der true, wenn entweder zurückgegeben werden, aber nicht beide Operanden sind wahr-- und auf 32-Bit-Wörter. Eine typische Implementierung des Blowfish-Algorithmus kann verschlüsseln oder entschlüsseln einen 64-Bit-Block von Daten in etwa 12 Taktzyklen, während eine 128-Bit-Nachricht 24 Taktzyklen und so weiter auf lineare Weise erfordert.