Diskussion:RC6

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 4 Jahren von Megatherium in Abschnitt Ist RC6 nun eine (echte) Feistel-Chiffre, ja oder nein?
Zur Navigation springen Zur Suche springen

Der Titel sollte besser ausgeschrieben werden[Quelltext bearbeiten]

Der Artikelname oder -titel (das Lemma) sollte besser ausgeschrieben und noch besser dabei wenigstend nach Rivest-Chiffre 6 oder (noch verständlicher) nach Rivest-Blockverschlüsselung 6 (siehe auch Ronald L. Rivest und Blockverschlüsselung) übersetzt/umbenannt und an die Stelle der nichtssagenden Abkürzung ggf. eine Begriffsklärungsseite (BKL) gestellt oder zumindest die bei der Umbenennung entstehende Weiterleitung unverändert gelassen werden. Zum Einen würde dadurch der Artikel den eben schon angedeuteten aussagekräftigeren Namen erhalten und zum Anderen würde dadurch u.a. der Weg frei werden, um z.B. der ebenfalls mit der nichtssagenden Abkürzung RC6 benannten Stromspartechnik einen eigenen neutralen Platz (in der dafür dann noch anzulegenden BKL) zu geben. Siehe auch:

..vorausgesetzt natürlich, das sind (wie ich vermute) tatsächlich zwei verschiedene Dinge. Nebenbei bemerkt könnten diese ganzen (mindestens vier) Artikel (also im Moment RC2 (Verschlüsselungsverfahren), RC4, RC5 und RC6, siehe auch RC4) dann auch mal unter Rivest-Blockverschlüsselung oder Rivest-Verschlüsselungsverfahren (oder wenns denn amifreundlich und für uns dafür wieder etwas unverständlicher sein soll unter Rivest-Chiffre) zusammengefaßt und die für ein allgemeines Lexikon tatsächlich wichtigen Unterschiede lediglich in dort eigenen Abschnitten behandelt werden.
--85.179.128.209 17:21, 10. Mär. 2012 (MEZ)

Ist RC6 nun eine (echte) Feistel-Chiffre, ja oder nein?[Quelltext bearbeiten]

Hallo, erst einmal ein Lob an die Ersteller dieser Seite. Sie ist logisch aufgebaut, dabei kurz und knapp aber trotzdem übersichtlich und informativ. Sie entspricht inhaltlich auch sehr gut dem englischen Artikel, was in der deutschen Wikipedia leider nicht immer der Fall ist. Trotzdem gibt es meines Erachtens nach ein kleines inhaltliches Problem mit der lapidaren Zuordnung der RC6-Chiffre zu den Feistel-Chiffren, welches allerdings auch im englischen Artikel auftritt und daher eher als allgemeines, denn spezielles Problem dieses Artikels aufgefasst werden müßte. Falls Ihr also einen besseren Ort für diese Diskussionsbeitrag findet, verschiebt diesen Diskussionsbeitrag bitte dahin.

Sowohl der englische, als auch der deutsche Artikel zu den Feistel-Chiffren, legen die Kriterien für eine Feistel-Chiffre übereinstimmend sehr eng fest. Der Eingabedatenblock X wird in zwei disjunkte Hälften gleicher Lange zerlegt, die meist mit L und R bezeichnet werden (X = [L,R]). Dann wird über mehrere Runden iteriert, wobei pro Runde nur eine Hälfte (R) mit einer nicht notwendigerweise umkehrbaren Funktion F verändert wird, die auch nur vom Rundenschlüssel S und der zu verändernden Hälfte R abhängt. Die andere Hälfte L bleibt unverändert und wird nur per XOR auf die geänderte Hälfte addiert. Also R = XOR(L, F(R,S)). Dann werden pro Runde die beiden Hälften vertauscht. Zur Ausgabe Y werden beide Hälften einfach wieder zusammengefügt (Y = [L,R]). Soweit so gut.

Das Dumme ist nur, dass die RC6-Chiffre zwar den Eingabedatenblock (X = [A,B,C,D]) "über Kreuz" in zwei disjunkte Hälften gleicher Größe zerlegt, mit (L = [B,D]) und (R = [A,C]), auch mehrfach darüber iteriert, pro Runde wird auch nur eine Hälfte R verändert und es werden auch beide Hälften vertauscht, aber die schlüsselabhängige Funktion F hängt, im Gegensatz zur echten Feistel-Chiffre, von beiden Hälften (also L und R) ab. Im Gegensatz zur echten Feistel-Chiffre müssen zur Entschlüsselung auch alle Operationen innerhalb von F komplett umgekehrt werden, F muß hier also unbedingt invertierbar sein. Und es wird auch kein XOR verwendet, um die unveränderte Hälfte L auf die veränderte Hälfte R zu addieren. Mit anderen Worten, die RC6-Chiffre weist zwar einige übereinstimmende Merkmale mit einer echten Feistel-Chiffre auf, aber es gibt auch wesentliche Unterschiede zu einer echten Feistel-Chiffre.

Im englischen Artikel zu den (echten) Feistel-Chiffren wird deshalb auch der Begriff einer generalisierten (verallgemeinerten) Feistel-Chiffre geprägt, zu welchen die RC6-Chiffre dort zugeordnet wurde. Aber leider wird dieser Begriff nicht genauer erklärt. Im deuschen Artikel zur Feistel-Chiffre fehlt dieser Unterscheidung zwischen "echten" und "verallgemeinerten" Feistel-Chiffren völlig und die RC6-Chiffre ist dort folgerichtig auch nicht aufgeführt, obwohl sie im deutschen Artikel zur RC6-Chiffre eindeutig als Feistel-Chiffre bezeichnet wird und auch der Link zur (echten) Feistel-Chiffre existiert.

Ich würde deshalb die RC6-Chiffre zwar problemlos noch zu den iterierten "Teile und Herrsche" Substitutions-und-Permutations-Netzwerk-Chiffren (SPN) zählen, welche den Eingabeblock in mehrere disjunkte Teile aufspalten (also teilen), diese wesentlich kleineren Teile dann separat in mehreren Runden verschlüsseln (also über die einzelnen Teile herrschen) und diese verschlüsselten Teile zum Schluss wieder zusammen fügen (vielleicht sind das ja genau die verallgemeinerten Feistel-Chiffren ???), aber zu den echten Feistel-Chiffren würde ich die RC6-Chiffre wegen der existierenden und meines Erachtens nach erheblichen Unterschiede nicht dazu rechnen. Sonst könnte man ja die AES-Chiffre auch zu den (echten) Feistel-Chiffren zählen, ich halte die AES-Chiffre aber (wie viele andere also Wikipedia auch) ebenfalls nur für eine iterierte "Teile und Herrsche" SPN-Chiffre.

Zum obigen Diskussionbeitrag: Wie wäre es mit folgenem Kompromiss für die Titel der Chiffrenartikel: RC4-Chiffre, RC5-Chiffre, RC6-Chiffre, AES-Chiffre, ... RC6-Stromsparmethode, RC6-WasWeißIchNoch... Es gibt ja auch schon einen RC5-Code # RC5-Chiffre, die allerdings nur RC5 heisst. Ich habe nämlich jedesmal Probleme die AES-Chiffre zu finden, weil man nach "Advanced Encryption Standard" suchen muss (vielleicht bin ich auch nur tipp-faul). --Aragorn321 (Diskussion) 09:47, 31. Aug. 2014 (CEST)Beantworten

Bei einer Feistelchiffre wird der Blockteil R verändert mit der Ausgabe einer Funktion f, die vom Rundenschlüssel s und dem anderen Blockteil L abhängt: . Nur so kann die Runde problemlos invertiert werden: Da L unverändert ist, kann es erneut in f eingegeben werden, um wieder die gleiche Ausgabe von f zu erhalten.
Bei RC6 definiert man als Rundenfunktion f am besten den Teil, in dem für jedes Wort des Blockteils L berechnet wird: (mit der Wortbreite w). Diese Funktion muss beim Entschlüsseln nicht invertiert werden.
Mit den werden dann die beiden Wörter von R modifiziert, und zwar durch XOR und eine Bitrotation. Das ist eine etwas komplexere Operation als nur XOR oder nur Addition/Subtraktion modulo wie bei den meisten anderen Feistelchiffren. Insofern kann man RC6 eine generalisierte Feistelchiffre nennen. Das ändert aber nichts entscheidendes, da sowohl XOR als auch Rotation trivial invertierbar sind. --Megatherium (Diskussion) 14:04, 16. Jul. 2019 (CEST)Beantworten