www.wikidata.de-de.nina.az
RC6 Rivest Cipher 6 ist eine 1998 von Ronald Rivest und anderen entworfene symmetrische Blockverschlusselung RC6 ist eine Weiterentwicklung von RC5 und verwendet ebenso wie dieses datenabhangige Rotationen und zusatzlich die Multiplikation von Daten Die zum Entwicklungszeitpunkt bekannten theoretischen Angriffe gegen RC5 sollten dadurch bereits im Ansatz verhindert werden 1 RC6Entwickler Ronald L Rivest Matt Robshaw Ray Sidney Yiqun Lisa YinVeroffentlicht 1997Abgeleitet von RC5Schlussellange 128 192 oder 256 BitBlockgrosse 128 BitStruktur FeistelchiffreRunden 20RC6 kandidierte zur Wahl des Advanced Encryption Standards AES und zahlte dort zusammen mit Twofish Rijndael MARS und Serpent zu den Finalisten Es wurde vom National Institute of Standards and Technology NIST als hinreichend sicher eingestuft ebenso wie Rijndael welches schliesslich zum AES gewahlt wurde RC6 ist einfacher aufgebaut als die anderen Finalisten wodurch die Gefahr von Implementierungsfehlern reduziert wird und es ist auch relativ effizient in Software zu implementieren Inhaltsverzeichnis 1 Beschreibung 1 1 Ver und Entschlusselung 1 2 Schlusselexpansion 2 Kryptoanalyse 2 1 Chosen Plaintext 2 2 Known Plaintext 2 3 Lizenzierung 3 Einzelnachweise 4 WeblinksBeschreibung Bearbeiten nbsp Struktur von RC6RC6 besitzt variable Blockgrossen Rundenzahlen 0 255 und Schlussellangen 0 2040 Bit Eine spezifische Wahl dieser Parameter wird ublicherweise mit RC6 w r b bezeichnet w ist die Lange eines Datenworts in Bit r die Anzahl der Runden und b die Lange des Schlussels Ein Block besteht immer aus vier Datenwortern die Blockgrosse ist also 4 w displaystyle 4w nbsp Bit Der AES Kandidat war RC6 32 20 mit Blockgrosse 128 Bit 20 Runden und Schlussellangen von 128 192 und 256 Bit 1 Als Primitive Operationen verwendet der Algorithmus die Addition A B displaystyle A B nbsp und Multiplikation A B displaystyle A cdot B nbsp jeweils modulo 2 w displaystyle 2 w nbsp die bitweise XOR Verknupfung A B displaystyle A oplus B nbsp und die Linksrotation A B displaystyle A lll B nbsp die A displaystyle A nbsp um B mod w displaystyle B bmod w nbsp Bitpositionen rotiert 1 Ver und Entschlusselung Bearbeiten Gegeben seien ein Klartextblock in Little Endian Darstellung der aus den Datenworten A B C D besteht und die Rundenschlussel S0 bis S2r 3 Dabei bezeichnet log w displaystyle log w nbsp den Logarithmus der Wortlange w displaystyle w nbsp zur Basis 2 Der Block wird verschlusselt durch B B S 0 displaystyle B leftarrow B S 0 nbsp D D S 1 displaystyle D leftarrow D S 1 nbsp f o r k 1 t o r d o displaystyle mathbf for k leftarrow 1 mathbf to r mathbf do nbsp t B 2 B 1 log w displaystyle t leftarrow big B cdot 2B 1 big lll log w nbsp u D 2 D 1 log w displaystyle u leftarrow big D cdot 2D 1 big lll log w nbsp X A t u S 2 k displaystyle X leftarrow big A oplus t lll u big S 2k nbsp C C u t S 2 k 1 displaystyle C leftarrow big C oplus u lll t big S 2k 1 nbsp A B B C C D D X displaystyle A leftarrow B B leftarrow C C leftarrow D D leftarrow X nbsp dd A A S 2 r 2 displaystyle A leftarrow A S 2r 2 nbsp C C S 2 r 3 displaystyle C leftarrow C S 2r 3 nbsp Wie bei RC5 werden S0 und S1 zum Key Whitening verwendet Die Entschlusselung eines Chiffretextblocks entspricht der Umkehrung dieses Algorithmus 1 Schlusselexpansion Bearbeiten P und Q in Abhangigkeit von der Blockgrosse 1 Blockgrosse Bits P hexadezimal Q hexadezimal 64 B7E1 9E37128 B7E1 5163 9E37 79B9256 B7E1 5162 8AED 2A6B 9E37 79B9 7F4A 7C15 Der Expansionsalgorithmus von RC6 der die Rundenschlussel S0 bis S2r 3 berechnet wurde im Wesentlichen unverandert von RC5 ubernommen Zunachst werden die Rundenschlussel Sk mittels Konstanten P Q displaystyle P Q nbsp auf einen festen Anfangszustand initialisiert P und Q sind wie bei RC5 ungerade Ganzzahlen die mit der eulerschen Zahl e und dem goldenen Schnitt F in Abhangigkeit von der verwendeten Blockgrosse generiert werden Tabelle S 0 P displaystyle S 0 leftarrow P nbsp f o r k 1 t o 2 r 3 d o displaystyle mathbf for k leftarrow 1 mathbf to 2r 3 mathbf do nbsp S k S k 1 Q displaystyle S k leftarrow S k 1 Q nbsp dd Anschliessend wird der geheime Schlussel in c Worter L 0 displaystyle L 0 nbsp bis L c 1 displaystyle L c 1 nbsp der Lange w aufgespaltet und bei Bedarf wird das letzte Wort L c 1 displaystyle L c 1 nbsp mit Nullen aufgefullt Folgender Code berechnet dann die endgultigen Rundenschlussel k i 0 displaystyle k leftarrow i leftarrow 0 nbsp A B 0 displaystyle A leftarrow B leftarrow 0 nbsp d o 3 max 2 r 4 c t i m e s displaystyle mathbf do 3 cdot max big 2r 4 c big mathbf times nbsp A S k A B 3 displaystyle A leftarrow S k A B lll 3 nbsp B L i A B A B displaystyle B leftarrow L i A B lll A B nbsp S k A L i B displaystyle S k leftarrow A L i leftarrow B nbsp k k 1 mod 2 r 4 displaystyle k leftarrow k 1 bmod 2r 4 nbsp i i 1 mod c displaystyle i leftarrow i 1 bmod c nbsp dd Kryptoanalyse BearbeitenChosen Plaintext Bearbeiten 2001 wiesen Tetsu Iwata und Kaoru Kurosawa des Tokyo Institute of Technology nach dass ein idealisiertes RC6 mit 4 Runden keine pseudozufallige Permutation darstellt ein Angreifer mit polynomiell vielen Verschlusselungsversuchen das Ergebnis der Blockchiffre also von zufalligem Rauschen unterscheiden kann 2 Im gleichen Jahr stellten Henri Gilbert Helena Handschuh Antoine Joux und Serge Vaudenay einen auf dieser Eigenschaft aufbauenden statistischen Angriff vor mit dessen Hilfe sich fur w 32 mit 2118 Paaren aus gewahlten Klartexten und ihren Chiffraten Bits der Rundenschlussel fur bis zu 13 Runden rekonstruieren lassen Mit einem Speicherbedarf von 2112 und etwa 2122 notwendigen Operationen kann dieser Angriff zudem auch als Known Plaintext Angriff gegen 14 Runden verwendet werden Aus diesem aufgrund der Anforderungen praktisch nicht durchfuhrbaren Angriff schlossen die Autoren dass die 20 Runden des AES Kandidaten nicht ubermassig viel seien 3 Known Plaintext Bearbeiten 1999 stellten Borst Preneel und Vandevalle fest dass der von ihnen publizierte auf linearen Approximationen basierende Angriff auf RC5 gegen RC6 essentiell wirkungslos ist und die Vorkehrungen der RC6 Entwickler ausreichten 4 Lizenzierung Bearbeiten Fur das RC6 Verfahren erhielt das Unternehmen RSA die US Patente 5724428 und 5835600 zugesprochen Diese liefen allerdings zwischen 2015 und 2017 aus Einzelnachweise Bearbeiten a b c d e Ronald L Rivest M J B Robshaw R Sidney Y L Yin The RC6 Block Cipher 1998 psu edu Tetsu Iwata Kaoru Kurosawa On the Pseudorandomness of the AES Finalists RC6 and Serpent In Lecture Notes in Computer Science Band 1978 2001 Springer Berlin Heidelberg S 231 Henri Gilbert Helena Handschuh Antoine Joux Serge Vaudenay A Statistical Attack on RC6 In Lecture Notes in Computer Science Band 1978 2001 Springer Berlin Heidelberg S 1 15 Johan Borst Bart Preneel Joos Vandewalle Linear Cryptanalysis of RC5 and RC6 In Lecture Notes in Computer Science Band 1636 Nr 1999 Springer Berlin Heidelberg ISSN 1611 3349 S 16 Weblinks BearbeitenBeschreibung von Markus Repges NIST Report on the Development of the Advanced Encryption Standard AES 2 Oktober 2000 PDF 383 kB Abgerufen von https de wikipedia org w index php title RC6 amp oldid 213410191