<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=RC5</id>
	<title>RC5 - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=RC5"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=RC5&amp;action=history"/>
	<updated>2026-05-28T10:51:02Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=RC5&amp;diff=1069653&amp;oldid=prev</id>
		<title>imported&gt;Handprint6077: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=RC5&amp;diff=1069653&amp;oldid=prev"/>
		<updated>2024-12-22T22:23:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dieser Artikel|erläutert das Verschlüsselungsverfahren. Zum Datenübertragungsprotokoll siehe [[RC-5]].}}&lt;br /&gt;
{{Infobox Blockchiffre&lt;br /&gt;
| name           = RC5&lt;br /&gt;
| bild           = RC5 InfoBox Diagram.svg&lt;br /&gt;
| bildname       = Eine Runde (zwei Halbrunden) von RC5&lt;br /&gt;
| entwickler     = [[Ronald Rivest|Ronald L. Rivest]]&lt;br /&gt;
| datum          = 1994&lt;br /&gt;
| abgeleitet     = &lt;br /&gt;
| schlüssellänge = 1 bis 2040&amp;amp;nbsp;Bits&lt;br /&gt;
| blockgröße     = 32, 64 oder 128&amp;amp;nbsp;Bit&lt;br /&gt;
| struktur       = [[Feistelchiffre]]&lt;br /&gt;
| runden         = 1 bis 255 Runden, empfohlen mindestens 16 Runden&lt;br /&gt;
| kryptoanalyse  = RC5-32/12 ist anfällig für die [[differentielle Kryptoanalyse]] bei 2&amp;lt;sup&amp;gt;44&amp;lt;/sup&amp;gt; gewählten Klartextblöcken.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RC5&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;ivest &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;ipher &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039;) ist eine 1994 von [[Ronald Rivest]] entworfene [[Symmetrisches Kryptosystem|symmetrische]] [[Blockverschlüsselung]]. Das bedeutet, dass sowohl für das [[Verschlüsselung|Verschlüsseln]] wie das Entschlüsseln der gleiche [[Schlüssel (Kryptologie)|Schlüssel]] benutzt wird. Sie gehört zur Klasse der [[Feistelchiffre]]n. Die Daten werden zunächst in Blöcke gleicher Größe aufgeteilt und über wiederholte Anwendung einfacher Operationen –&amp;amp;nbsp;sogenannter „[[Kryptographisches Primitiv|Primitive]]“&amp;amp;nbsp;– ver- oder entschlüsselt. Die Blockgröße, die Länge des Schlüssels und die Anzahl der Wiederholungen –&amp;amp;nbsp;die „Runden“&amp;amp;nbsp;– sind nicht durch den [[Algorithmus]] vorgegeben und werden als [[Parameter (Informatik)|Parameter]] vor der Verschlüsselung festgelegt.&lt;br /&gt;
&lt;br /&gt;
Das Ziel beim Entwurf von RC5 war eine einfache und schnelle Chiffre. Sie baut auf datenabhängigen [[Bitweiser Operator#Zyklische Verschiebung|Rotationen]] auf, deren Eignung als Primitiv zum Entwicklungszeitpunkt noch weitgehend unerforscht war.&amp;lt;ref name=&amp;quot;rivest1995&amp;quot;&amp;gt;{{Literatur |Autor=[[Ronald L. Rivest]] |Titel=The RC5 encryption algorithm |Sammelwerk=Lecture Notes in Computer Science |Band=1008/1995 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1995 |ISBN=3-540-60590-8 |Seiten=86–96 |DOI=10.1007/3-540-60590-8}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anders als viele andere Blockchiffren verwendet RC5 keine [[S-Box]]en, um das von [[Claude Elwood Shannon|Claude Shannon]] 1949 als „[[Konfusion (Kryptologie)|Konfusion]]“ bezeichnete und für sicheren Betrieb wichtige Verwischen statistischer Zusammenhänge zwischen Klartext, Schlüssel und Chiffretext zu erreichen. Eine S-Box sorgt für starke Konfusion, da man weitgehend frei wählen kann, wie zum Beispiel eine &amp;lt;math&amp;gt;b \times b&amp;lt;/math&amp;gt;-S-Box die &amp;lt;math&amp;gt;2^b&amp;lt;/math&amp;gt; möglichen Werte der &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; eingegebenen Bits auf die &amp;lt;math&amp;gt;2^b&amp;lt;/math&amp;gt; möglichen Ausgangswerte abbildet. S-Boxen erfordern in der praktischen Implementierung aber zusätzlichen Speicher und auch einen gewissen Rechenaufwand, da man ein Datenwort erst in genügend kleine Teile teilen muss, die der S-Box eingegeben werden, denn ein ganzes Wort von 16 oder mehr Bit ist dafür zu groß. 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 für den Einsatz in ressourcenarmen Bereichen –&amp;amp;nbsp;etwa digitaler Hardware mit begrenzter Chipfläche&amp;amp;nbsp;– interessant.&lt;br /&gt;
&lt;br /&gt;
Eine konkrete Softwareimplementation, die verschiedene Betriebsmodi zur Verkettung von Blöcken bietet –&amp;amp;nbsp;nämlich [[Cipher Block Chaining Mode|CBC]], CBC-Pad und [[Ciphertext Stealing Mode|CTS]]&amp;amp;nbsp;– wird im Standard &amp;lt;nowiki&amp;gt;RFC&amp;amp;nbsp;2040&amp;lt;/nowiki&amp;gt; spezifiziert.&amp;lt;ref&amp;gt;{{RFC-Internet |RFC=2040 |Titel=The RC5, RC5-CBC, RC5-CBC-Pad, and RC5-CTS Algorithms |Datum= |Autor=Ronald Rivest, Robert W. Baldwin}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC5 diente als Basis für die Verschlüsselung [[RC6]], die zur Wahl des [[Advanced Encryption Standard]] kandidierte.&amp;lt;ref name=&amp;quot;Borst1999&amp;quot;&amp;gt;{{Literatur |Autor=Johan Borst, Bart Preneel, Joos Vandewalle |Titel=Linear Cryptanalysis of RC5 and RC6 |Sammelwerk=Lecture Notes in Computer Science |Band=1636 |Nummer=1999 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1999 |ISSN=1611-3349 |Seiten=16}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Vereinigten Staaten hielt das Unternehmen RSA Security bis 2015 ein Patent auf RC5.&amp;lt;ref&amp;gt;{{Patent| Land=US| V-Nr=5724428| Code=A| Titel=Block encryption algorithm with data-dependent rotations| A-Datum=1995-11-01| V-Datum=1998-03-03| Anmelder=RSA Data Security| Erfinder=Ronald L. Rivest}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
RC5 besitzt variable Blockgrößen (32, 64 oder 128 Bits), Schlüssellängen (0–2040 Bits) und Rundenzahlen (0–255). Eine spezifische Wahl dieser [[Parameter (Informatik)|Parameter]] wird üblicherweise mit „RC5-&amp;#039;&amp;#039;w&amp;#039;&amp;#039;/&amp;#039;&amp;#039;r&amp;#039;&amp;#039;/&amp;#039;&amp;#039;b&amp;#039;&amp;#039;“ bezeichnet – &amp;#039;&amp;#039;w&amp;#039;&amp;#039; ist die Länge eines Wortes in Bit (ein Block besteht aus zwei Wörtern), &amp;#039;&amp;#039;r&amp;#039;&amp;#039; die Anzahl der Runden und &amp;#039;&amp;#039;b&amp;#039;&amp;#039; die Länge des Schlüssels in [[Byte]]s. Rivest empfahl ursprünglich RC5-32/12/16 und RC5-64/16/16 für 64-Bit-Architekturen.&amp;lt;ref name=&amp;quot;rivest1995&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RC5 besteht aus drei Komponenten: Verschlüsselung, Entschlüsselung und Schlüsselexpansion. Die in Ver- und Entschlüsselung verwendeten kryptographischen Primitive des Verfahrens sind:&lt;br /&gt;
&lt;br /&gt;
* die Addition zweier Wörter modulo &amp;lt;math&amp;gt;2^w&amp;lt;/math&amp;gt;&lt;br /&gt;
* die bitweise [[XOR-Verknüpfung]] zweier Wörter&lt;br /&gt;
* die Rotation eines Wortes um &amp;#039;&amp;#039;b&amp;#039;&amp;#039; Bitpositionen, wobei &amp;#039;&amp;#039;b&amp;#039;&amp;#039; durch die &amp;lt;math&amp;gt;\log_2 w&amp;lt;/math&amp;gt; niederwertigsten Bits des anderen Wortes gegeben wird&lt;br /&gt;
&lt;br /&gt;
Die Primitive operieren auf Wörtern von &amp;#039;&amp;#039;w&amp;#039;&amp;#039; Bit, die jeweils einen Halbblock bilden. Die Sicherheit des Algorithmus hängt maßgeblich von der Verwendung der Rotation ab, die die einzige nichtlineare Operation des Verfahrens ist.&amp;lt;ref name=&amp;quot;rivest1995&amp;quot; /&amp;gt; Auch der Nachfolgealgorithmus RC6 und in Teilen der AES-Kandidat [[MARS (Verschlüsselung)|MARS]] basieren auf datenabhängigen Rotationen.&lt;br /&gt;
&lt;br /&gt;
Die Primitive werden im Folgenden mit A+B für die Addition, A⊕B für bitweise XOR-Verknüpfung und A⋘B bzw. A⋙B für die Links-/Rechtsrotationen des Halbblocks A um (B mod w) Bitstellen bezeichnet.&lt;br /&gt;
&lt;br /&gt;
=== Schlüsselexpansion ===&lt;br /&gt;
Mit der Schlüsselexpansion werden aus dem geheimen Schlüssel die Rundenschlüssel S&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;, …, S&amp;lt;sub&amp;gt;2r+1&amp;lt;/sub&amp;gt; –&amp;amp;nbsp;wobei S&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; und S&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; zum [[Key Whitening]] verwendet werden&amp;amp;nbsp;– generiert. Das System aus Rundenschlüsseln wird auch als &amp;#039;&amp;#039;erweiterte Schlüsseltabelle&amp;#039;&amp;#039; bezeichnet.&lt;br /&gt;
Um dies zu erreichen, wird der geheime Schlüssel zunächst in Halbblöcke L&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; aufgespalten, bei Bedarf wird mit Nullen aufgefüllt. Anschließend werden die Rundenschlüssel S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt; mittels Konstanten auf einen festen Anfangszustand initialisiert:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable float-right&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
! Blockgröße&amp;lt;br /&amp;gt; (Bits)&lt;br /&gt;
! P&amp;lt;br /&amp;gt;(hexadezimal)&lt;br /&gt;
! Q&amp;lt;br /&amp;gt;(hexadezimal)&lt;br /&gt;
|-&lt;br /&gt;
| {{0}}32&lt;br /&gt;
| B7E1&lt;br /&gt;
| 9E37&lt;br /&gt;
|-&lt;br /&gt;
| {{0}}64&lt;br /&gt;
| B7E1 5163&lt;br /&gt;
| 9E37 79B9&lt;br /&gt;
|-&lt;br /&gt;
| 128&lt;br /&gt;
| B7E1 5162 8AED 2A6B&lt;br /&gt;
| 9E37 79B9 7F4A 7C15&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;S_0 \leftarrow P&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbf{for} \; k\leftarrow 1 \; \mathbf{to}\; 2r + 1 \;\mathbf{do}&amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt;S_k \leftarrow S_{k-1} + Q&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
P und Q sind hierbei [[ungerade]] [[Ganzzahl]]en, die mit der [[Eulersche Zahl|eulerschen Zahl]]&amp;amp;nbsp;&amp;#039;&amp;#039;e&amp;#039;&amp;#039; und dem [[Goldener Schnitt|goldenen Schnitt]]&amp;amp;nbsp;Φ in Abhängigkeit von der verwendeten Blockgröße generiert werden.&lt;br /&gt;
&lt;br /&gt;
Letztlich werden die Halbblöcke L&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; und S&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt; in drei Durchläufen miteinander vermischt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k \leftarrow i \leftarrow 0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;A \leftarrow B \leftarrow 0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbf{do}\; 3\cdot \max\big(2(r+1), \lceil b/(w/8) \rceil\big)\; \mathbf{times}&amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt;A \leftarrow S_k \leftarrow (S_k + A + B) \lll 3&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;B \leftarrow L_i \leftarrow (L_i + A + B) \lll (A + B)&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;k \leftarrow (k+1) \mod{\big(2(r+1)\big)}&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;i \leftarrow (i +1) \mod{\big(\lceil b/(w/8) \rceil\big)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ver- und Entschlüsselung ===&lt;br /&gt;
Gegeben seien ein Klartextblock in [[Little Endian|Little-Endian]]-Darstellung, der aus den Halbblöcken&amp;amp;nbsp;A, B besteht und die Rundenschlüssel S&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;,…, S&amp;lt;sub&amp;gt;2r+1&amp;lt;/sub&amp;gt;. Der Block wird verschlüsselt durch:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;A \leftarrow A+S_0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;B \leftarrow B+S_1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbf{for}\; k \leftarrow 1\; \mathbf{to}\; r \; \mathbf{do}&amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt;A \leftarrow \big((A \oplus B) \lll B\big) + S_{2k}&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;B \leftarrow \big((B \oplus A) \lll A\big) + S_{2k+1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hierbei entspricht jede Halbrunde einer Runde einer [[Feistelchiffre]]. Die Entschlüsselung eines entsprechenden Chiffretextblocks aus den Halbblöcken A, B verläuft analog:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbf{for}\; k \leftarrow r \;\mathbf{downto}\; 1 \;\mathbf{do}&amp;lt;/math&amp;gt;:&lt;br /&gt;
::&amp;lt;math&amp;gt;B \leftarrow \big((B - S_{2k+1}) \ggg A\big) \oplus A&amp;lt;/math&amp;gt;&lt;br /&gt;
::&amp;lt;math&amp;gt;A \leftarrow \big((A - S_{2k}) \ggg B \big) \oplus B&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;B \leftarrow B - S_1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;A \leftarrow A - S_0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kryptoanalyse ==&lt;br /&gt;
Zu [[Kryptoanalyse]]zwecken wird auch eine als RC5⊕ bezeichnete Variante verwendet, bei der die modulare Addition der Halbblöcke vollständig gegen bitweises XOR ausgetauscht wird. Diese Variante ist –&amp;amp;nbsp;durch einen unter XOR bestehenden Zusammenhang zwischen Bits der Chiffretexte und Bits der mit dem Klartext verknüpften Rundenschlüssel&amp;amp;nbsp;– kryptographisch schwächer und eignet sich vorwiegend als Vereinfachung zur Analyse der datenabhängigen Rotationen.&amp;lt;ref name=&amp;quot;biryukov1998&amp;quot;&amp;gt;{{Literatur |Autor=Alex Biryukov, Eyal Kushilevitz |Titel=Improved Cryptanalysis of RC5 |Sammelwerk=Lecture Notes in Computer Science |Band=1403/1998 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1998 |ISBN=3-540-64518-7 |Seiten=85–99 |DOI=10.1007/BFb0054119}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch die analoge Variante RC5P, die ausschließlich Additionen verwendet, hat sich als kryptographisch schwächer herausgestellt. John Kelsey, [[Bruce Schneier]] und [[David Wagner (Kryptologe)|David Wagner]] zeigten 1999 mit einem neuartigen Angriff –&amp;amp;nbsp;von ihnen als „mod n“-Kryptanalyse bezeichnet&amp;amp;nbsp;– dass Chiffren, die nur auf Additionen und Rotationen basieren, generell gebrochen werden können. Der Angriff basiert dabei auf Korrelationen zwischen Klartext und Chiffretext der letzten Runde bei Betrachtung modulo &amp;#039;&amp;#039;n&amp;#039;&amp;#039;. Durch geeignete Wahl von &amp;#039;&amp;#039;n&amp;#039;&amp;#039; kann ein Angreifer auf diesem Wege Informationen über den letzten Rundenschlüssel erhalten. Die Autoren schlossen aus ihren Ergebnissen, dass die Vermischung der Operationen „+“ und „⊕“ für die Sicherheit von RC5 essentiell ist.&amp;lt;ref name=&amp;quot;kelsey1999&amp;quot;&amp;gt;{{Literatur |Autor=John Kelsey, [[Bruce Schneier]], [[David Wagner (Kryptologe)|David Wagner]] |Titel=Mod n Cryptanalysis, with Applications against RC5P and M6 |Sammelwerk=Lecture Notes in Computer Science |Band=1636/1999 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1999 |ISSN=1611-3349 |Seiten=139}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chosen-Plaintext-Angriffe ===&lt;br /&gt;
Kaliski und Yin von den RSA Laboratories zeigten 1995, dass für differentielle Kryptanalyse gegen RC5-32/9 2&amp;lt;sup&amp;gt;45&amp;lt;/sup&amp;gt; Paare gewählter Klartexte und zugehöriger Chiffretexte benötigt werden, was etwa der Stärke von 16-Runden-[[Data Encryption Standard|DES]] entspricht. Für RC5-32/12 werden hingegen 2&amp;lt;sup&amp;gt;62&amp;lt;/sup&amp;gt; solcher Paare benötigt. Der Angriff rekonstruiert hierbei Bits von L&amp;lt;sub&amp;gt;2r&amp;lt;/sub&amp;gt;, woraus Informationen über S&amp;lt;sub&amp;gt;2r+1&amp;lt;/sub&amp;gt; hergeleitet werden können. Sobald S&amp;lt;sub&amp;gt;2r+1&amp;lt;/sub&amp;gt; bekannt ist, kann eine einfachere Analyse auf RC5 mit verringerter Rundenzahl angewandt werden. Die gewählte Schlüssellänge ist für diesen Angriff bedeutungslos.&amp;lt;ref name=&amp;quot;kaliski1995&amp;quot;&amp;gt;{{Literatur |Autor=Burton S. Kaliski Jr., Yiqun Lisa Yin |Titel=On Differential and Linear Cryptanalysis of the RC5 Encryption Algorithm |Sammelwerk=Lecture Notes in Computer Science |Band=963/1995 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1995 |ISSN=1611-3349 |Seiten=171}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1996 verbesserten Knudsen und Meier den differentiellen Angriff und zeigten zudem die Existenz einer Vielzahl schwacher Schlüssel. Diese entstehen durch die Struktur der Chiffre und sind unabhängig von der Wahl des Expansionsalgorithmus.&amp;lt;ref name=&amp;quot;knudsen1996&amp;quot;&amp;gt;{{Literatur |Autor=Lars R. Knudsen, Willi Meier |Titel=Improved Differential Attacks on RC5 |Sammelwerk=Lecture Notes in Computer Science |Band=1109/1996 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1996 |ISSN=1611-3349 |Seiten=216}}&amp;lt;/ref&amp;gt; Der Angriff von Knudsen und Meier nutzt [[Datenabhängigkeit]] der zyklischen Rotationen, indem solche Klartexte identifiziert werden, bei denen innerhalb der ersten Runden nicht rotiert wird. Auf diese Weise wird die Anzahl der gewählten Klartextpaare auf 2&amp;lt;sup&amp;gt;39&amp;lt;/sup&amp;gt; für RC5-32/9 und bis zu 2&amp;lt;sup&amp;gt;54&amp;lt;/sup&amp;gt; für RC5-32/12 gesenkt. Für RC5-64 sind – aus akademischer Sicht – die ursprünglich von Rivest vorgeschlagenen 16 Runden&amp;lt;ref name=&amp;quot;rivest1995&amp;quot; /&amp;gt; mit 2&amp;lt;sup&amp;gt;83&amp;lt;/sup&amp;gt; benötigten, gewählten Klartextpaaren nicht hinreichend sicher gegen differentielle Kryptanalyse.&amp;lt;ref name=&amp;quot;knudsen1996&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 gewählten Klar- und Chiffretexte über [[Hamming-Gewicht]]e der Rundendifferenzen gewählt werden, reduziert die Anzahl der benötigten gewählten Klartextpaare für RC5-32/12 auf 2&amp;lt;sup&amp;gt;44&amp;lt;/sup&amp;gt;. Die Autoren schlossen daraus, dass differentielle Angriffe gegen RC5-32/12/16 mit 2&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt; und gegen RC5-64/16/16 mit 2&amp;lt;sup&amp;gt;63&amp;lt;/sup&amp;gt; gewählten Klartextpaaren möglich seien.&amp;lt;ref name=&amp;quot;biryukov1998&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 [[Chi-Quadrat-Test|χ²-Test]] aufbauende Korrelationsangriff rekonstruiert den letzten Rundenschlüssel für RC5 mit 17 Halbrunden mittels 2&amp;lt;sup&amp;gt;54&amp;lt;/sup&amp;gt; gewählten Klartexten mit einer Erfolgswahrscheinlichkeit von 80 %. Ebenso zeigten die Autoren, dass der Angriff für etwa einen in 2&amp;lt;sup&amp;gt;20&amp;lt;/sup&amp;gt; Schlüsseln mit gleicher Wahrscheinlichkeit auch RC5 mit voller Rundenzahl bricht.&amp;lt;ref name=&amp;quot;shimoyama2000&amp;quot;&amp;gt;{{Literatur |Autor=Takeshi Shimoyama, Kiyofumi Takeuchi, Juri Hayakawa |Hrsg=NIST |Titel=Correlation Attack to the Block Cipher RC5 and the Simplified Variants of RC6 |Datum=2000 |Kommentar=zu AES3 eingereicht |Online={{Webarchiv |url=http://www.csrc.nist.gov/CryptoToolkit/aes/round2/conf3/papers/36-tshimoyama.pdf |text=csrc.nist.gov |wayback=20041108005031}} |Format=PDF |KBytes=}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Known-Plaintext-Angriffe ===&lt;br /&gt;
Kaliski und Yin zeigten, dass eine Rekonstruktion der erweiterten Schlüsseltabelle mittels linearer Approximationen bereits für fünf Runden 2&amp;lt;sup&amp;gt;47&amp;lt;/sup&amp;gt; bekannte Klartexte erfordert und somit gegen lineare Kryptanalyse die Stärke von DES erreicht. Bei mehr als sechs Runden ist der von diesen Autoren beschriebene Angriff sinnlos.&amp;lt;ref name=&amp;quot;kaliski1995&amp;quot; /&amp;gt; Nach Ali Aydın Selçuk der University of Maryland beruht dieser Angriff jedoch auf falschen Annahmen und ist somit fehlerhaft.&amp;lt;ref name=&amp;quot;selcuk1998&amp;quot;&amp;gt;{{Literatur |Autor=Ali Aydin Selçuk |Titel=New Results in Linear Cryptanalysis of RC5 |Sammelwerk=Lecture Notes in Computer Science |Band=1372/1998 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1998 |ISSN=1611-3349 |Seiten=1}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1997 publizierte Howard M. Keys RC5-32/12/16 die Existenz linear schwacher Schlüssel. Er fand 2&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt; Schlüssel, bei denen sich eine lineare Kryptanalyse bereits mit 2&amp;lt;sup&amp;gt;17&amp;lt;/sup&amp;gt; bekannten Klartexten durchführen lässt. Weiterhin existieren 2&amp;lt;sup&amp;gt;68&amp;lt;/sup&amp;gt; Schlüssel, für die die Chiffre theoretisch mit 2&amp;lt;sup&amp;gt;57&amp;lt;/sup&amp;gt; Klartexten gebrochen werden kann. Die Schlüssel hängen dabei wesentlich vom verwendeten Expansionsalgorithmus ab.&amp;lt;ref name=&amp;quot;heys1997&amp;quot;&amp;gt;{{Literatur |Autor=Howard M. Heys |Titel=Linearly weak keys of RC5 |Sammelwerk=IEE Electronics Letters |Band=33 |Nummer=10 |Datum=1997-05-08 |ISSN=0013-5194 |Seiten=836–838 |Online=[http://www.engr.mun.ca/~howard/PAPERS/rc5_letter.pdf engr.mun.ca]  |Format=PDF |KBytes=}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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 2&amp;lt;sup&amp;gt;4+6r&amp;lt;/sup&amp;gt; und RC5-64/r mit 2&amp;lt;sup&amp;gt;3+8r&amp;lt;/sup&amp;gt; bekannten Klartexten mit 90-prozentiger Erfolgswahrscheinlichkeit.&amp;lt;ref name=&amp;quot;Borst1999&amp;quot; /&amp;gt; Miyaji, Nonaka und Takii bezeichneten diese Ergebnisse 2002 als „highly optimistic“ (zu deutsch: „hochgradig optimistisch“) und stellten ihrerseits einen auf dem [[Chi-Quadrat-Test|χ²-Test]] aufbauenden Korrelationsangriff vor, mit dem eine 90-prozentige Erfolgswahrscheinlichkeit gegen RC5-32/r mit 2&amp;lt;sup&amp;gt;6,14r+2,27&amp;lt;/sup&amp;gt; bekannten Klartexten möglich sei.&amp;lt;ref name=&amp;quot;miyaji2002&amp;quot;&amp;gt;{{Literatur |Autor=Atsuko Miyaji, Masao Nonaka, Yoshinori Takii |Titel=Known Plaintext Correlation Attack against RC5 |Sammelwerk=Lecture Notes in Computer Science |Band=2271/2002 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=2002 |ISSN=1611-3349 |Seiten=115–141}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Andere Ansätze ===&lt;br /&gt;
Ein 1999 von Handschuh und Heys vorgestellter Angriff nutzt die benötigte Zeit für die bei der Verschlüsselung durchgeführten datenabhängigen Rotationen. Während Rivest annahm, moderne Prozessoren würden eine Rotation in Zeit [[Landau-Symbole|O]](1) ausführen,&amp;lt;ref name=&amp;quot;rivest1995&amp;quot; /&amp;gt; ist dies nicht notwendig etwa für [[Eingebettetes System|eingebettete Systeme]] der Fall. Die auf solchen Plattformen auftretenden Zeitunterschiede erlauben Rückschlüsse über die Anzahl der durchgeführten Rotationen und ermöglichen –&amp;amp;nbsp;bei vollständiger Information&amp;amp;nbsp;– eine Rekonstruktion der erweiterten Schlüsseltabelle für RC5-32/12/16 mittels 2&amp;lt;sup&amp;gt;20&amp;lt;/sup&amp;gt; Chiffretexten mit Zeitbedarf Ω(2&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt;) und O(2&amp;lt;sup&amp;gt;40&amp;lt;/sup&amp;gt;). Der Angriff kann jedoch implementationsbasiert durch Dummy-Rotationen vermieden werden.&amp;lt;ref name=&amp;quot;handschuh1999&amp;quot;&amp;gt;{{Literatur |Autor=Helena Handschuh, Howard M. Heys |Titel=A Timing Attack on RC5 |Sammelwerk=Lecture Notes in Computer Science |Band=1556/1999 |Verlag=Springer |Ort=Berlin / Heidelberg |Datum=1999 |ISSN=1611-3349 |Seiten=631}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Angriffe in der Praxis ===&lt;br /&gt;
Die Firma [[RSA Security]] bot im Rahmen ihrer von 1997 bis zum Mai 2007 durchgeführten &amp;#039;&amp;#039;Secret-Key Challenge&amp;#039;&amp;#039; –&amp;amp;nbsp;einem öffentlichen Aufruf zum Brechen konkreter Chiffretexte&amp;amp;nbsp;– 10.000 US-Dollar für 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.&amp;lt;ref name=&amp;quot;dist.net&amp;quot;&amp;gt;[http://www.distributed.net/RC5/ Project RC5.] distributed.net&amp;lt;/ref&amp;gt; Die niedriger dotierten „Challenges“ RC5-32/12/5 und RC5-32/12/6 wurden bereits zuvor in 3,5 und 313&amp;amp;nbsp;Stunden gebrochen.&amp;lt;ref&amp;gt;[http://www.rsa.com/rsalabs/node.asp?id=2103 Status and Prizes] von RSA Laboratories&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone&lt;br /&gt;
   |Titel=Handbook of Applied Cryptography&lt;br /&gt;
   |Verlag=CRC Press&lt;br /&gt;
   |Ort=Boca Raton FL u.&amp;amp;nbsp;a.&lt;br /&gt;
   |Datum=1996&lt;br /&gt;
   |ISBN=0-8493-8523-7&lt;br /&gt;
   |Seiten=269–270, 280–281}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=[[Bruce Schneier]]&lt;br /&gt;
   |Titel=Angewandte Kryptographie. Protokolle, Algorithmen und Sourcecode in C&lt;br /&gt;
   |Verlag=Addison-Wesley Publishing&lt;br /&gt;
   |Ort=Bonn u.&amp;amp;nbsp;a.&lt;br /&gt;
   |Datum=1996&lt;br /&gt;
   |ISBN=3-89319-854-7&lt;br /&gt;
   |Seiten=397–399&lt;br /&gt;
   |Kommentar=&amp;#039;&amp;#039;Informationssicherheit&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Lesenswert|August 2007|35889542}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
[[Kategorie:Blockverschlüsselung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Handprint6077</name></author>
	</entry>
</feed>