Content

Blockchiffremodi

Blockchiffremodi

Output Feedack



Dieser Modus ist ebenfalls zeichenorientiert wie der CFB. Auch die Vorgehensweise der Verschlüsselung ist ähnlich, beide arbeiten mit einem Schieberegister. Doch beim OFB wird nicht das Chiffrebyte in das Schieberegister geschoben, sondern das linke Byte des verschlüsselten Schieberegisters. Dieses Byte wird dann noch durch XOR mit dem Klartext verknüpft. Das so entstandene Chiffrebyte wird übermittelt. Bei der Entschlüsselung wird genauso verfahren, wobei auch hier der Verschlüsselungsalgorithmus benutzt wird.

Dadurch, dass vom verschlüsselten Schieberegister das linke Byte in das Schieberegister geschoben wird, ergibt sich die Möglichkeit, diese aufwendigen Berechnungen des Verschlüsselns schon vor dem Vorhandensein des Klartextes durchzuführen. Ist der Klartext dann vorhanden, wird er nur noch durch XOR mit den Berechnungen des Algorithmus verknüpft.
Auch der OFB-Modus wird initialisiert und benötigt dazu einen IV um das Schieberegister zu füllen.
Eine weitere Eigenschaft des Modus ist es, dass Bitfehler im Chiffretext auch Bitfehler im Klartext sind. Es gibt also keine Fehlerfortpflanzung, welche bei übertragungen von Analogdaten, wie akustischen und visuellen Informationen, toleriert werden können. Der OFB ist nicht selbstsynchronisierend, deshalb ist es von Vorteil, einen Synchronisationsrahmen einzuführen, denn bei Verlust der Synchronisation wird der nachfolgende Chiffretext fehlerhaft entschlüsselt. Auch der OFB Modus hat einige Entwicklungsvarianten erfahren. Eine davon ist der OFB/Counter-Modus. Er macht es möglich wahlfrei auf jeden Block zuzugreifen, welches ein großer Vorteil bei Datenbanken ist.



Beispiele zum Verhalten des OFB Modus

Beispiele für Angriffe auf den OFB Modus

Known Plaintext Angriff auf den OFB Modus

Programm zur "Known Plaintext Attack" auf den OFB-Modus (SUSE Linux Executable)
ofbbreaker.cpp - Sourcecode zum selber kompilieren
Anmerkung: 'Ofbbreaker' ist lediglich ein schneller Hack um eine Schwäche des OFB-Modes zu demonstrieren. Das Programm ist nicht bis ins letzte ausgetestet. Benutzung auf eigene Gefahr.