- Output Feedback Mode
-
Output Feedback Mode (OFB) ist eine Betriebsart, in der Blockchiffren betrieben werden können. Dabei wird ein Blockalgorithmus wie beispielsweise Data Encryption Standard oder Advanced Encryption Standard genutzt, um daraus einen Stromchiffre zu bilden.
In diesem Modus wird, wie in der Abbildung dargestellt, die Ausgabe der Blockchiffre mit dem Klartext bitweise per XOR (exklusives ODER) verknüpft um daraus den Geheimtext zu bilden. Dieses Verfahren ergibt eine Stromchiffre. Die Ausgabe der Blockchiffre wird wieder ihrem Eingang zugeführt, so dass ein kontinuierlicher Strom an chiffrierten Blöcken entsteht. Für die Verknüpfung mit dem Klartext werden nur so viele Bits wie nötig verwendet. Dies muss nicht einer vollen Blocklänge entsprechen. Der Bitstrom ist pseudozufällig, weil er von der Blockchiffre, dem Schlüssel und dem Initialisierungsvektor abhängig ist. Deshalb bezeichnet man dieses System auch als Pseudo-One-Time-Pad.[1] Der Initialisierungsvektor ist ähnlich wie beim Cipher Block Chaining Mode als Startwert zu sehen und vom gewählten (geheimen) Schlüssel unabhängig.
Einer der Vorteile besteht darin, dass die Bitfolge mit der die Klartextdaten bitweise XOR-verknüpft werden bereits vorab berechnet werden kann. Weiter besteht bei OFB wie bei allen Stromchiffren der Vorteil, dass sich bei der Entschlüsselung Übertragungsfehler (Bitfehler) nur auf die jeweilige fehlerhafte Bitstelle im entschlüsselten Klartext auswirken und sich der Fehler nicht im Klartext fortpflanzt. Bei Blockchiffren und Betriebsmodi wie Cipher Block Chaining Mode (CBC) oder Electronic Code Book Mode (ECB) führt nur ein Bitfehler im Chiffrat zu mindestens einem komplett zerstörten Klartextdatenblock, wobei im Mittel 50% aller Bitstellen eines entschlüsselten Blockes dabei falsche Werte aufweisen. Dies erschwert bzw. macht eine Vorwärtsfehlerkorrektur unmöglich. Beispiel: statt nur einem Bitfehler wie bei OFB korrigieren zu müssen, müssen bei einer Blocklänge von 128 Bits im Mittel 64 Bits durch die Vorwärtsfehlerkorrektur richtig gestellt werden.
Ein weiterer Vorteil des Verfahrens ist, dass keine separate Entschlüsselungsfunktion notwendig ist, denn Ver- und Entschlüsselung sind identisch. Außerdem wird nur die Verschlüsselung des Blockalgorithmus (oder nur die Entschlüsselung) benötigt. Die Konstruktion ist sogar so, dass sich als Blockalgorithmus auch Verfahren eignen, die nicht bijektiv sind. Beispielsweise könnte als Blockalgorithmus auch eine sichere Hashfunktion wie SHA-1 verwendet werden. Die Blockgröße wäre dann die Ausgabegröße der Hashfunktion, bei SHA-1 also 160 Bits.
Ein Nachteil von OFB ist die aufwendige Synchronisation der Blockchiffren zwischen Sender und Empfänger, da OFB im Gegensatz zu Cipher Feedback Mode (CFB) grundsätzlich nicht selbstsynchronisierend ist. Der Blockchiffre am Empfänger wird dabei wie in obiger Abbildung dargestellt, ebenfalls wie bei der Verschlüsselung betrieben, erzeugt also bei gleichem Initialisierungsvektor und gleichem Schlüssel die gleiche binäre Datenfolge mit der die XOR-Operation des Senders rückgängig gemacht werden kann. Das dafür notwendige, genaue zeitliche Zusammenspiel muss, durch geeignete Verfahren, in den Übertragungsprotokollen sichergestellt werden.
Einzelnachweise
- ↑ Matt Bishop: Computer security. art and science. Addison-Wesley, Boston 2003, ISBN 0201440997, S. 231.
Wikimedia Foundation.