Rechnernetze
Home Nach oben ECB CBC CFB OFB Stichworte

Varianten der Blockchiffren

Die Verschlüsselung nach dem DES-Standard wird in Rechnernetzen auf verschiedene Arten durchgeführt, die jeweils eine andere Sicherheit bieten, aber auch unterschiedlich aufwendig sind. Der Grund liegt einerseits in einer Erhöhung der Sicherheit, andererseits in der Vermeidung des starren Blockformats. Darüber hinaus können gewisse Fehlerfälle auf diese Weise besser abgefangen werden.

Man unterscheidet in der Regel zwischen Blockchiffren und Stromchiffren. Unter einer Blockchiffre (block cipher) verstehen wir ein Verschlüsselungsverfahren, mit dessen Hilfe Datenblöcke fester Länge verschlüsselt werden. Da die Daten in der Regel eine hiervon abweichend Länge besitzen, müssen Maßnahmen getroffen werden, diese anzupassen; hier gehört das Anfügen von "Leerdaten" an zu kurzen Datensätzen und das Fragmentieren von zu langen Datenblöcken. In der Regel werden solche Fragen in den zugehörigen Standards geregelt.

Eine Stromchiffre (stream cipher) besitzt in der Regel ein Format, welches der kleinsten darstellbaren Dateneinheit (Byte, Zeichen, Wort) entspricht. Die Verschlüsselung besteht in der Regel aus der sukzessiven Verschlüsselung der einzelnen Dateneinheiten, wobei die späteren Verschlüsselungen von den vorhergehenden Daten abhängen können. In solchen Systemen benötigt man also keine Leerdaten, während sämtliche relevanten Daten in einzelne Dateneinheiten fragmentiert werden.

Sind aufeinanderfolgende Verschlüsselungen voneinander unabhängig, so werden gleiche Dateneinheiten in gleiche Chiffretexte abgebildet. Das führt zur leichten Angreifbarkeit. Außerdem können hier Chiffretexte verfälscht werden, auch wenn die Bedeutung der Verfälschung nicht bekannt ist, wodurch ein absichtliche Veränderungen von Daten (z.B. Überweisungsbeträge) möglich wäre. Daher sollten solche Verfahren (siehe ECB) möglichst nicht eingesetzt werden. Auch bei abhängigen Verschlüsselungsverfahren (z.B. CBC) können solche Angriffe zum Erfolg führen. Daher ist in der Regel in jedem Datensatz eine redundante Information unterzubringen, anhand derer erkannt werden kann, ob eine absichtliche oder unabsichtliche Verfälschung vorliegt. Diese Information kann sich auch ändern, z.B. Datum und Uhrzeit oder ein sequentieller Zähler.

Die hier dargestellten Verfahren sind auch in verschiedenen Standards festgelegt, z.B. von der ISO 1987 in IS 8372: Information Processing, Modes of Operation for a 64-bit Block Cipher Algorithm.