www.wikidata.de-de.nina.az
Dieser Artikel erlautert das Verschlusselungsverfahren Zum Datenubertragungsprotokoll siehe RC 5 RC5 Rivest Cipher 5 ist eine 1994 von Ronald Rivest entworfene symmetrische Blockverschlusselung Das bedeutet dass sowohl fur das Verschlusseln wie das Entschlusseln der gleiche Schlussel benutzt wird Sie gehort zur Klasse der Feistelchiffren Die Daten werden zunachst in Blocke gleicher Grosse aufgeteilt und uber wiederholte Anwendung einfacher Operationen sogenannter Primitive ver oder entschlusselt Die Blockgrosse die Lange des Schlussels und die Anzahl der Wiederholungen die Runden sind nicht durch den Algorithmus vorgegeben und werden als Parameter vor der Verschlusselung festgelegt RC5RC5Eine Runde zwei Halbrunden von RC5Entwickler Ronald L RivestVeroffentlicht 1994Schlussellange 1 bis 2040 BitsBlockgrosse 32 64 oder 128 BitStruktur FeistelchiffreRunden 1 bis 255 Runden empfohlen mindestens 16 RundenBeste bekannte KryptoanalyseRC5 32 12 ist anfallig fur die differentielle Kryptoanalyse bei 244 gewahlten Klartextblocken Das Ziel beim Entwurf von RC5 war eine einfache und schnelle Chiffre Sie baut auf datenabhangigen Rotationen auf deren Eignung als Primitiv zum Entwicklungszeitpunkt noch weitgehend unerforscht war 1 Anders als viele andere Blockchiffren verwendet RC5 keine S Boxen um das von Claude Shannon 1949 als Konfusion bezeichnete und fur sicheren Betrieb wichtige Verwischen statistischer Zusammenhange zwischen Klartext Schlussel und Chiffretext zu erreichen Eine S Box sorgt fur starke Konfusion da man weitgehend frei wahlen kann wie zum Beispiel eine b b displaystyle b times b S Box die 2 b displaystyle 2 b moglichen Werte der b displaystyle b eingegebenen Bits auf die 2 b displaystyle 2 b moglichen Ausgangswerte abbildet S Boxen erfordern in der praktischen Implementierung aber zusatzlichen Speicher und auch einen gewissen Rechenaufwand da man ein Datenwort erst in genugend kleine Teile teilen muss die der S Box eingegeben werden denn ein ganzes Wort von 16 oder mehr Bit ist dafur zu gross Danach muss man die Ergebnisse auch wieder zu einem Wort zusammensetzen Der Verzicht auf S Boxen macht RC5 sehr einfach und schnell und insbesondere auch fur den Einsatz in ressourcenarmen Bereichen etwa digitaler Hardware mit begrenzter Chipflache interessant Eine konkrete Softwareimplementation die verschiedene Betriebsmodi zur Verkettung von Blocken bietet namlich CBC CBC Pad und CTS wird im Standard RFC 2040 spezifiziert 2 RC5 diente als Basis fur die Verschlusselung RC6 die zur Wahl des Advanced Encryption Standard kandidierte 3 In den Vereinigten Staaten hielt das Unternehmen RSA Security bis 2015 ein Patent auf RC5 4 Inhaltsverzeichnis 1 Beschreibung 1 1 Schlusselexpansion 1 2 Ver und Entschlusselung 2 Kryptoanalyse 2 1 Chosen Plaintext Angriffe 2 2 Known Plaintext Angriffe 2 3 Andere Ansatze 2 4 Angriffe in der Praxis 3 Literatur 4 EinzelnachweiseBeschreibung BearbeitenRC5 besitzt variable Blockgrossen 32 64 oder 128 Bits Schlussellangen 0 2040 Bits und Rundenzahlen 0 255 Eine spezifische Wahl dieser Parameter wird ublicherweise mit RC5 w r b bezeichnet w ist die Lange eines Wortes in Bit ein Block besteht aus zwei Wortern r die Anzahl der Runden und b die Lange des Schlussels in Bytes Rivest empfahl ursprunglich RC5 32 12 16 und RC5 64 16 16 fur 64 Bit Architekturen 1 RC5 besteht aus drei Komponenten Verschlusselung Entschlusselung und Schlusselexpansion Die in Ver und Entschlusselung verwendeten kryptographischen Primitive des Verfahrens sind die Addition zweier Worter modulo 2 w displaystyle 2 w nbsp die bitweise XOR Verknupfung zweier Worter die Rotation eines Wortes um b Bitpositionen wobei b durch die log 2 w displaystyle log 2 w nbsp niederwertigsten Bits des anderen Wortes gegeben wirdDie Primitive operieren auf Wortern von w Bit die jeweils einen Halbblock bilden Die Sicherheit des Algorithmus hangt massgeblich von der Verwendung der Rotation ab die die einzige nichtlineare Operation des Verfahrens ist 1 Auch der Nachfolgealgorithmus RC6 und in Teilen der AES Kandidat MARS basieren auf datenabhangigen Rotationen Die Primitive werden im Folgenden mit A B fur die Addition A B fur bitweise XOR Verknupfung und A B bzw A B fur die Links Rechtsrotationen des Halbblocks A um B mod w Bitstellen bezeichnet Schlusselexpansion Bearbeiten Mit der Schlusselexpansion werden aus dem geheimen Schlussel die Rundenschlussel S0 S2r 1 wobei S0 und S1 zum Key Whitening verwendet werden generiert Das System aus Rundenschlusseln wird auch als erweiterte Schlusseltabelle bezeichnet Um dies zu erreichen wird der geheime Schlussel zunachst in Halbblocke Li aufgespalten bei Bedarf wird mit Nullen aufgefullt Anschliessend werden die Rundenschlussel Sk mittels Konstanten auf einen festen Anfangszustand initialisiert Blockgrosse Bits P hexadezimal Q hexadezimal 0 32 B7E1 9E370 64 B7E1 5163 9E37 79B9128 B7E1 5162 8AED 2A6B 9E37 79B9 7F4A 7C15S 0 P displaystyle S 0 leftarrow P nbsp f o r k 1 t o 2 r 1 d o displaystyle mathbf for k leftarrow 1 mathbf to 2r 1 mathbf do nbsp S k S k 1 Q displaystyle S k leftarrow S k 1 Q nbsp dd P und Q sind hierbei ungerade Ganzzahlen die mit der eulerschen Zahl e und dem goldenen Schnitt F in Abhangigkeit von der verwendeten Blockgrosse generiert werden Letztlich werden die Halbblocke Li und Sk in drei Durchlaufen miteinander vermischt 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 1 b w 8 t i m e s displaystyle mathbf do 3 cdot max big 2 r 1 lceil b w 8 rceil big mathbf times nbsp A S k S k A B 3 displaystyle A leftarrow S k leftarrow S k A B lll 3 nbsp B L i L i A B A B displaystyle B leftarrow L i leftarrow L i A B lll A B nbsp k k 1 mod 2 r 1 displaystyle k leftarrow k 1 mod big 2 r 1 big nbsp i i 1 mod b w 8 displaystyle i leftarrow i 1 mod big lceil b w 8 rceil big nbsp dd Ver und Entschlusselung Bearbeiten Gegeben seien ein Klartextblock in Little Endian Darstellung der aus den Halbblocken A B besteht und die Rundenschlussel S0 S2r 1 Der Block wird verschlusselt durch A A S 0 displaystyle A leftarrow A S 0 nbsp B B S 1 displaystyle B leftarrow B 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 A A B B S 2 k displaystyle A leftarrow big A oplus B lll B big S 2k nbsp B B A A S 2 k 1 displaystyle B leftarrow big B oplus A lll A big S 2k 1 nbsp dd Hierbei entspricht jede Halbrunde einer Runde einer Feistelchiffre Die Entschlusselung eines entsprechenden Chiffretextblocks aus den Halbblocken A B verlauft analog f o r k r d o w n t o 1 d o displaystyle mathbf for k leftarrow r mathbf downto 1 mathbf do nbsp B B S 2 k 1 A A displaystyle B leftarrow big B S 2k 1 ggg A big oplus A nbsp A A S 2 k B B displaystyle A leftarrow big A S 2k ggg B big oplus B nbsp dd B B S 1 displaystyle B leftarrow B S 1 nbsp A A S 0 displaystyle A leftarrow A S 0 nbsp Kryptoanalyse BearbeitenZu Kryptoanalysezwecken wird auch eine als RC5 bezeichnete Variante verwendet bei der die modulare Addition der Halbblocke vollstandig gegen bitweises XOR ausgetauscht wird Diese Variante ist durch einen unter XOR bestehenden Zusammenhang zwischen Bits der Chiffretexte und Bits der mit dem Klartext verknupften Rundenschlussel kryptographisch schwacher und eignet sich vorwiegend als Vereinfachung zur Analyse der datenabhangigen Rotationen 5 Auch die analoge Variante RC5P die ausschliesslich Additionen verwendet hat sich als kryptographisch schwacher herausgestellt John Kelsey Bruce Schneier und David Wagner zeigten 1999 mit einem neuartigen Angriff von ihnen als mod n Kryptanalyse bezeichnet dass Chiffren die nur auf Additionen und Rotationen basieren generell gebrochen werden konnen Der Angriff basiert dabei auf Korrelationen zwischen Klartext und Chiffretext der letzten Runde bei Betrachtung modulo n Durch geeignete Wahl von n kann ein Angreifer auf diesem Wege Informationen uber den letzten Rundenschlussel erhalten Die Autoren schlossen aus ihren Ergebnissen dass die Vermischung der Operationen und fur die Sicherheit von RC5 essentiell ist 6 Chosen Plaintext Angriffe Bearbeiten Kaliski und Yin von den RSA Laboratories zeigten 1995 dass fur differentielle Kryptanalyse gegen RC5 32 9 245 Paare gewahlter Klartexte und zugehoriger Chiffretexte benotigt werden was etwa der Starke von 16 Runden DES entspricht Fur RC5 32 12 werden hingegen 262 solcher Paare benotigt Der Angriff rekonstruiert hierbei Bits von L2r woraus Informationen uber S2r 1 hergeleitet werden konnen Sobald S2r 1 bekannt ist kann eine einfachere Analyse auf RC5 mit verringerter Rundenzahl angewandt werden Die gewahlte Schlussellange ist fur diesen Angriff bedeutungslos 7 1996 verbesserten Knudsen und Meier den differentiellen Angriff und zeigten zudem die Existenz einer Vielzahl schwacher Schlussel Diese entstehen durch die Struktur der Chiffre und sind unabhangig von der Wahl des Expansionsalgorithmus 8 Der Angriff von Knudsen und Meier nutzt Datenabhangigkeit der zyklischen Rotationen indem solche Klartexte identifiziert werden bei denen innerhalb der ersten Runden nicht rotiert wird Auf diese Weise wird die Anzahl der gewahlten Klartextpaare auf 239 fur RC5 32 9 und bis zu 254 fur RC5 32 12 gesenkt Fur RC5 64 sind aus akademischer Sicht die ursprunglich von Rivest vorgeschlagenen 16 Runden 1 mit 283 benotigten gewahlten Klartextpaaren nicht hinreichend sicher gegen differentielle Kryptanalyse 8 Eine weitere Verbesserung der differentiellen Kryptanalyse wurde 1998 von Buryukov und Kushilevitz des Israelischen Institute of Technology in Haifa publiziert Dieser Angriff bei dem sogenannte gute Paare aus gewahlten Klar und Chiffretexte uber Hamming Gewichte der Rundendifferenzen gewahlt werden reduziert die Anzahl der benotigten gewahlten Klartextpaare fur RC5 32 12 auf 244 Die Autoren schlossen daraus dass differentielle Angriffe gegen RC5 32 12 16 mit 238 und gegen RC5 64 16 16 mit 263 gewahlten Klartextpaaren moglich seien 5 Im Zuge der Wahl des neuen Advanced Encryption Standards reichten 2000 Takeshi Shimoyama Fujitsu Kiyofumi Takeuchi und Juri Hayakawa Chuo University eine modifizierte und auf RC5 adaptierte Variante eines 1999 von Knudsen und Meier vorgestellten Angriffs auf RC6 ein Dieser auf dem x Test aufbauende Korrelationsangriff rekonstruiert den letzten Rundenschlussel fur RC5 mit 17 Halbrunden mittels 254 gewahlten Klartexten mit einer Erfolgswahrscheinlichkeit von 80 Ebenso zeigten die Autoren dass der Angriff fur etwa einen in 220 Schlusseln mit gleicher Wahrscheinlichkeit auch RC5 mit voller Rundenzahl bricht 9 Known Plaintext Angriffe Bearbeiten Kaliski und Yin zeigten dass eine Rekonstruktion der erweiterten Schlusseltabelle mittels linearer Approximationen bereits fur funf Runden 247 bekannte Klartexte erfordert und somit gegen lineare Kryptanalyse die Starke von DES erreicht Bei mehr als sechs Runden ist der von diesen Autoren beschriebene Angriff sinnlos 7 Nach Ali Aydin Selcuk der University of Maryland beruht dieser Angriff jedoch auf falschen Annahmen und ist somit fehlerhaft 10 1997 publizierte Howard M Keys RC5 32 12 16 die Existenz linear schwacher Schlussel Er fand 228 Schlussel bei denen sich eine lineare Kryptanalyse bereits mit 217 bekannten Klartexten durchfuhren lasst Weiterhin existieren 268 Schlussel fur die die Chiffre theoretisch mit 257 Klartexten gebrochen werden kann Die Schlussel hangen dabei wesentlich vom verwendeten Expansionsalgorithmus ab 11 Ein 1999 von Borst Preneel und Vandewalle publizierter auf linearen Approximationen aufbauender und aufgrund seines geringen Speicherbedarfs praktisch implementierbarer Angriff bricht RC5 32 r mit 24 6r und RC5 64 r mit 23 8r bekannten Klartexten mit 90 prozentiger Erfolgswahrscheinlichkeit 3 Miyaji Nonaka und Takii bezeichneten diese Ergebnisse 2002 als highly optimistic zu deutsch hochgradig optimistisch und stellten ihrerseits einen auf dem x Test aufbauenden Korrelationsangriff vor mit dem eine 90 prozentige Erfolgswahrscheinlichkeit gegen RC5 32 r mit 26 14r 2 27 bekannten Klartexten moglich sei 12 Andere Ansatze Bearbeiten Ein 1999 von Handschuh und Heys vorgestellter Angriff nutzt die benotigte Zeit fur die bei der Verschlusselung durchgefuhrten datenabhangigen Rotationen Wahrend Rivest annahm moderne Prozessoren wurden eine Rotation in Zeit O 1 ausfuhren 1 ist dies nicht notwendig etwa fur eingebettete Systeme der Fall Die auf solchen Plattformen auftretenden Zeitunterschiede erlauben Ruckschlusse uber die Anzahl der durchgefuhrten Rotationen und ermoglichen bei vollstandiger Information eine Rekonstruktion der erweiterten Schlusseltabelle fur RC5 32 12 16 mittels 220 Chiffretexten mit Zeitbedarf W 228 und O 240 Der Angriff kann jedoch implementationsbasiert durch Dummy Rotationen vermieden werden 13 Angriffe in der Praxis Bearbeiten Die Firma RSA Security bot im Rahmen ihrer von 1997 bis zum Mai 2007 durchgefuhrten Secret Key Challenge einem offentlichen Aufruf zum Brechen konkreter Chiffretexte 10 000 US Dollar fur die Dechiffrierung verschiedener Chiffretexte Die Organisation distributed net koordinierte verteilte Angriffe auf die Chiffrate und brach RC5 32 12 7 innerhalb von 250 und RC5 32 12 8 innerhalb von 1757 Tagen 14 Die niedriger dotierten Challenges RC5 32 12 5 und RC5 32 12 6 wurden bereits zuvor in 3 5 und 313 Stunden gebrochen 15 Literatur BearbeitenAlfred J Menezes Paul C van Oorschot Scott A Vanstone Handbook of Applied Cryptography CRC Press Boca Raton FL u a 1996 ISBN 0 8493 8523 7 S 269 270 280 281 Bruce Schneier Angewandte Kryptographie Protokolle Algorithmen und Sourcecode in C Addison Wesley Publishing Bonn u a 1996 ISBN 3 89319 854 7 S 397 399 Informationssicherheit Einzelnachweise Bearbeiten a b c d e Ronald L Rivest The RC5 encryption algorithm In Lecture Notes in Computer Science Band 1008 1995 Springer Berlin Heidelberg 1995 ISBN 3 540 60590 8 S 86 96 doi 10 1007 3 540 60590 8 Ronald Rivest Robert W Baldwin RFC 2040 The RC5 RC5 CBC RC5 CBC Pad and RC5 CTS Algorithms englisch a b Johan Borst Bart Preneel Joos Vandewalle Linear Cryptanalysis of RC5 and RC6 In Lecture Notes in Computer Science Band 1636 Nr 1999 Springer 1999 ISSN 1611 3349 S 16 Patent US5724428A Block encryption algorithm with data dependent rotations Angemeldet am 1 November 1995 veroffentlicht am 3 Marz 1998 Anmelder RSA Data Security Erfinder Ronald L Rivest a b Alex Biryukov Eyal Kushilevitz Improved Cryptanalysis of RC5 In Lecture Notes in Computer Science Band 1403 1998 Springer Berlin Heidelberg 1998 ISBN 3 540 64518 7 S 85 99 doi 10 1007 BFb0054119 John Kelsey Bruce Schneier David Wagner Mod n Cryptanalysis with Applications against RC5P and M6 In Lecture Notes in Computer Science Band 1636 1999 Springer 1999 ISSN 1611 3349 S 139 a b Burton S Kaliski Jr Yiqun Lisa Yin On Differential and Linear Cryptanalysis of the RC5 Encryption Algorithm In Lecture Notes in Computer Science Band 963 1995 Springer 1995 ISSN 1611 3349 S 171 a b Lars R Knudsen Willi Meier Improved Differential Attacks on RC5 In Lecture Notes in Computer Science Band 1109 1996 Springer 1996 ISSN 1611 3349 S 216 Takeshi Shimoyama Kiyofumi Takeuchi Juri Hayakawa Correlation Attack to the Block Cipher RC5 and the Simplified Variants of RC6 Hrsg NIST 2000 csrc nist gov Memento vom 8 November 2004 im Internet Archive PDF zu AES3 eingereicht Ali Aydin Selcuk New Results in Linear Cryptanalysis of RC5 In Lecture Notes in Computer Science Band 1372 1998 Springer 1998 ISSN 1611 3349 S 1 Howard M Heys Linearly weak keys of RC5 In IEE Electronics Letters Band 33 Nr 10 8 Mai 1997 ISSN 0013 5194 S 836 838 engr mun ca PDF Atsuko Miyaji Masao Nonaka Yoshinori Takii Known Plaintext Correlation Attack against RC5 In Lecture Notes in Computer Science Band 2271 2002 Springer 2002 ISSN 1611 3349 S 115 141 Helena Handschuh Howard M Heys A Timing Attack on RC5 In Lecture Notes in Computer Science Band 1556 1999 Springer 1999 ISSN 1611 3349 S 631 Project RC5 distributed net Status and Prizes von RSA Laboratories nbsp Dieser Artikel wurde am August 2007 in dieser Version in die Liste der lesenswerten Artikel aufgenommen Abgerufen von https de wikipedia org w index php title RC5 amp oldid 235762994