<?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=Feistelchiffre</id>
	<title>Feistelchiffre - 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=Feistelchiffre"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Feistelchiffre&amp;action=history"/>
	<updated>2026-06-11T23:18:35Z</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=Feistelchiffre&amp;diff=85458&amp;oldid=prev</id>
		<title>imported&gt;Megatherium am 6. Juli 2025 um 11:38 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Feistelchiffre&amp;diff=85458&amp;oldid=prev"/>
		<updated>2025-07-06T11:38:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Feistelchiffre&amp;#039;&amp;#039;&amp;#039; nennt man eine [[Blockverschlüsselung]], die in Form eines &amp;#039;&amp;#039;&amp;#039;Feistelnetzwerks&amp;#039;&amp;#039;&amp;#039; aufgebaut ist. Dieses ist eine allgemeine Struktur, mit der Blockverschlüsselungen realisiert werden können. Ein Mitarbeiter von [[IBM]], [[Horst Feistel]], gilt als der [[Erfinder]] dieser Struktur. Er arbeitete in den 1970er Jahren mit anderen am sogenannten Projekt „[[Lucifer (Kryptographie)|Lucifer]]“, dessen Ziel es war, eine effiziente Verschlüsselungstechnologie zu entwickeln. Lucifer und der daraus abgeleitete [[Data Encryption Standard|DES-Algorithmus]] stellen ein Feistelnetzwerk dar.&lt;br /&gt;
&lt;br /&gt;
Viele moderne [[Symmetrisches Kryptosystem|symmetrische Verschlüsselungsverfahren]] basieren auf Feistelnetzwerken, weil man damit leicht die Umkehrbarkeit ([[Bijektive Funktion|Bijektivität]]) der Verschlüsselung sicherstellen kann. Damit ist die notwendige Grundbedingung für Blockchiffren erfüllt, dass es bei der Abbildung von Chiffreblöcken auf Klartextblöcke bei der Entschlüsselung zu keinen Mehrdeutigkeiten kommt. Weiterhin wurde die Feistel-Struktur von sehr vielen Kryptologen analysiert und für gut befunden.&lt;br /&gt;
&lt;br /&gt;
== Arbeitsweise ==&lt;br /&gt;
[[Datei:Feistel.png|mini|Struktur einer Feistelchiffre]]&lt;br /&gt;
Wie es der Name „Blockchiffre“ schon nahelegt, wird der Klartext in Blöcke zerlegt, die jeweils für sich verschlüsselt werden. Die Größe der Blöcke hängt vom jeweiligen Verschlüsselungsverfahren ab, oft ist sie ein Vielfaches von 64 [[Bit]]. Ein Block wird zuerst in zwei (meist gleich große) Teile geteilt: &amp;lt;math&amp;gt;P = L_1 \| R_1&amp;lt;/math&amp;gt;. Dann wird er in &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; aufeinanderfolgenden Runden verschlüsselt. In jeder Runde wird einer dieser Teilblöcke zusammen mit einem [[Schlüssel (Kryptologie)|Rundenschlüssel]] in eine Rundenfunktion eingegeben und deren Ausgabe mit dem anderen Teilblock verknüpft. In Runde &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; läuft von 1 bis &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;) wird folgende Formel angewendet:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{i+1} \!\, = R_i&amp;lt;/math&amp;gt;,&lt;br /&gt;
:&amp;lt;math&amp;gt;R_{i+1} \!\, = L_i \oplus F(R_i, K_i)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dabei ist &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; die sogenannte Runden- oder Transformationsfunktion und &amp;lt;math&amp;gt;K_1&amp;lt;/math&amp;gt; bis &amp;lt;math&amp;gt;K_n&amp;lt;/math&amp;gt; sind die Rundenschlüssel. &amp;lt;math&amp;gt;\oplus&amp;lt;/math&amp;gt; steht für eine einfach umkehrbare Verknüpfung. Oft verwendet man das [[Bitweiser Operator#XOR|bitweise XOR]], das mit seiner Umkehrung identisch, d. h. [[Involution (Mathematik)|selbstinvers]] ist. Der verschlüsselte Text am Ende der Runden ist die [[Konkatenation (Wort)|Zusammenführung]] &amp;lt;math&amp;gt;C = L_{n+1} \| R_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Feistelnetzwerke ermöglichen eine Entschlüsselung, ohne dass die [[Umkehrfunktion]] von &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; benötigt wird. Will man einen [[Geheimtext]] dechiffrieren, führt man die Schritte der obigen Formel in umgekehrter Reihenfolge aus, wobei man &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; bis 1 laufen lässt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;R_i \!\, = L_{i+1}&amp;lt;/math&amp;gt;,&lt;br /&gt;
:&amp;lt;math&amp;gt;L_i \!\, = R_{i+1} \ominus F(L_{i+1}, K_i)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\ominus&amp;lt;/math&amp;gt; steht für die Umkehrung von &amp;lt;math&amp;gt;\oplus&amp;lt;/math&amp;gt;. Zum Beispiel kann &amp;lt;math&amp;gt;\oplus&amp;lt;/math&amp;gt;, alternativ zu XOR, die Addition modulo &amp;lt;math&amp;gt;2^b&amp;lt;/math&amp;gt; sein, mit &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; als Länge eines Teilblocks in Bit, und &amp;lt;math&amp;gt;\ominus&amp;lt;/math&amp;gt; ist dann die Subtraktion modulo &amp;lt;math&amp;gt;2^b&amp;lt;/math&amp;gt;. Beide können auf den meisten Digitalrechnern einfach berechnet werden, denn die Modulo-Division ergibt sich von selbst durch das Abschneiden eines eventuellen Überlaufbits. Beispiel: [[Extended Tiny Encryption Algorithm|XTEA]].&lt;br /&gt;
&lt;br /&gt;
Die Verknüpfung kann auch komplexer ausfallen und z.&amp;amp;nbsp;B. auch [[Schieberegister|Bitrotationen]] enthalten. Beispiele dafür sind [[RC5]] und [[RC6]].&lt;br /&gt;
&lt;br /&gt;
=== Variante ===&lt;br /&gt;
Manche Verfahren verknüpfen auch die Rundenschlüssel direkt mit den Teilblöcken, und die Rundenfunktion &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; erhält dann (meist) keinen Rundenschlüssel, sondern nur einen Teilblock als Eingabe:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{i+1} \!\, = R_i \circ K_i&amp;lt;/math&amp;gt;,&lt;br /&gt;
:&amp;lt;math&amp;gt;R_{i+1} \!\, = L_i \oplus F(L_{i+1})&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\oplus&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\circ&amp;lt;/math&amp;gt; stehen wiederum für (nicht unbedingt verschiedene) einfach invertierbare Verknüpfungen. Beispiele: [[RC5]], [[RC6]], [[Blowfish]].&lt;br /&gt;
&lt;br /&gt;
== Aufteilung in Teilblöcke ==&lt;br /&gt;
Ein balanciertes Feistelnetzwerk (BFN) liegt dann vor, wenn die beiden Teile, in die der [[Datenblock]] geteilt wird, gleich groß sind. Sind anderenfalls die Teile verschieden groß, nennt man es ein unbalanciertes (nicht-balanciertes) Feistelnetzwerk (UFN). Es kommt auch vor, dass die Aufteilung in die beiden Teilblöcke in jeder Runde eine andere ist, was beispielsweise für die MIXING-Funktion von [[RC2 (Blockchiffre)|RC2]] gilt.&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
Die folgenden Chiffren sind weitere Beispiele für Feistelnetzwerke:&lt;br /&gt;
* [[CAST (Algorithmus)|CAST]]&lt;br /&gt;
* [[Data Encryption Standard|DES]]/[[Triple-DES]]&lt;br /&gt;
* [[FEAL]]&lt;br /&gt;
* [[MARS (Verschlüsselung)|MARS]]&lt;br /&gt;
* [[Tiny Encryption Algorithm|TEA]]&lt;br /&gt;
* [[Twofish]]&lt;br /&gt;
* [[MISTY1]]&lt;br /&gt;
* [[Camellia (Algorithmus)|Camellia]]&lt;br /&gt;
* [[Magenta (Algorithmus)|Magenta]]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Die Blockverschlüsselungen [[International Data Encryption Algorithm|IDEA]] und [[FOX (Algorithmus)|IDEA NXT]] beruhen auf einem ähnlichen Prinzip, dem Lai-Massey-Schema.&lt;br /&gt;
* [[Substitutions-Permutations-Netzwerk]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{cite journal |last = Feistel |first = Horst |year = 1973 |month = May |title = Cryptography and Computer Privacy |journal = Scientific American |volume = 228 |issue = 5 |pages = 15–23 |url = https://www.apprendre-en-ligne.net/crypto/bibliotheque/feistel/index.html |language=en }}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://services.informatik.hs-mannheim.de/KryptoLern/feistel.php Beispielprogramm zur Berechnung]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Blockverschlüsselung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Megatherium</name></author>
	</entry>
</feed>