RC6
In der Kryptographie ist RC6 eine von RC5 abgeleitete Blockchiffrierung mit symmetrischem Schlüssel. RC6 ist ein parametrisierter Algorithmus mit einer variablen Blockgröße, einer variablen Schlüsselgröße und einer variablen Anzahl von Runden. RC steht für "Rivest Cipher" oder alternativ für "Ron's Code".
1997 schrieb das NIST einen Wettbewerb zur Wahl eines Nachfolgers des Data Encryption Standard (DES) aus, der als Advanced Encryption Standard (AES) bekannt werden sollte. RC6 wurde von RC5 abgeleitet, um den Anforderungen des Wettbewerbs gerecht zu werden, und wurde als einer der fünf Finalisten des Wettbewerbs um den Advanced Encryption Standard (AES) ausgewählt, wurde aber nicht als Standard ausgewählt.
Um verschiedene Sicherheits- und Effizienzniveaus zu bieten, erlaubt RC6 die Wahl der Blockgröße: 32 Bit (nur für Experimentier- und Evaluierungszwecke), 64 Bit (als Ersatz für DES) und 128 Bit (für AES). Die Anzahl der Runden kann von 0 bis 255 reichen, während die Schlüsselgrößen von 0 Bit bis 2040 Bit Größe reichen können.
RC6 ist in seiner Struktur RC5 sehr ähnlich und könnte als Verflechtung zweier paralleler RC5-Verschlüsselungsprozesse angesehen werden. RC6 verwendet jedoch eine zusätzliche Multiplikationsoperation, die in RC5 nicht vorhanden ist, und die Verwendung von vier b/4-Bit-Arbeitsregistern (siehe Aufspaltung von Klartextblöcken in der Feistel-Chiffre) anstelle von zwei b/2-Bit-Registern wie in RC5 (b ist die Blockgröße). Die ganzzahlige Multiplikation wird verwendet, um die pro Runde erreichte Diffusion zu erhöhen, so dass weniger Runden benötigt werden und die Geschwindigkeit der Chiffre erhöht werden kann.
Der Grund für die Verwendung von vier statt zwei Arbeitsregistern liegt hauptsächlich in der Optimierung auf 32-Bit-CPUs. Die Standardblockgröße des RC5 betrug 64 Bit, während die Standardblockgröße des AES 128 Bit beträgt. RC5 hat nur zwei Arbeitsregister. Er verwendet 32-Bit-Operationen, wenn es sich um 64-Bit-Blöcke handelt, und 64-Bit-Operationen, wenn es sich um 128-Bit-Blöcke handelt, so dass vier Arbeitsregister erforderlich sind, um die AES-Architektur mit nur 32-Bit-Operationen aufzubauen.
RC6 ist ein proprietärer und patentierter Algorithmus (von RSA Security U. S. Patent 5,724,428 und U. S. Patent 5,835,600 ) und kann Lizenz- und Lizenzgebührenzahlungen für alle Produkte erfordern, die den Algorithmus verwenden. Er wurde von Ron Rivest, Matt Robshaw, Ray Sidney und Yiqun Lisa Yin entworfen und auch für die Projekte NESSIE und CRYPTREC eingereicht.
Fragen und Antworten
F: Was ist RC6?
A: RC6 ist eine von RC5 abgeleitete Blockchiffre mit symmetrischem Schlüssel. Es handelt sich um einen parametrisierten Algorithmus mit variabler Blockgröße, Schlüsselgröße und Anzahl der Runden.
F: Wer hat RC6 entwickelt?
A: RC6 wurde von Ron Rivest, Matt Robshaw, Ray Sidney und Yiqun Lisa Yin entwickelt.
F: Was sind die Standard-Blockgrößen für RC5 und AES?
A: Die Standard-Blockgröße von RC5 beträgt 64 Bit, während die Standard-Blockgröße von AES 128 Bit beträgt.
F: Wie ist die Struktur von RC6 im Vergleich zu RC5?
A: Die Struktur von RC6 ist der von RC5 sehr ähnlich, aber sie verwendet eine zusätzliche Multiplikationsoperation, die in RC5 nicht vorhanden ist, sowie vier b/4-Bit-Arbeitsregister anstelle von zwei b/2-Bit-Registern.
F: Warum werden vier Arbeitsregister anstelle von zwei verwendet, um die AES-Architektur mit nur 32-Bit-Operationen aufzubauen?
A: Die ganzzahlige Multiplikation wird verwendet, um die pro Runde erreichte Diffusion zu erhöhen, so dass weniger Runden benötigt werden und die Geschwindigkeit erhöht werden kann. Es werden vier Arbeitsregister benötigt, da bei 64-Bit-Blöcken 32-Bit-Operationen und bei 128-Bit-Blöcken 64-Bit-Operationen verwendet werden.
F: Müssen für Produkte, die den Algorithmus verwenden, Lizenzen oder Lizenzgebühren gezahlt werden?
A: Ja, da es sich um einen urheberrechtlich geschützten und patentierten Algorithmus handelt (RSA Security U.S. Patent 5,724,428 und U.S. Patent 5,835,600 ), können für Produkte, die den Algorithmus verwenden, Lizenz- und Lizenzgebühren erforderlich sein.