<?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=S-Box</id>
	<title>S-Box - 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=S-Box"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=S-Box&amp;action=history"/>
	<updated>2026-05-24T20:24:33Z</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=S-Box&amp;diff=87844&amp;oldid=prev</id>
		<title>imported&gt;Invisigoth67: typo</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=S-Box&amp;diff=87844&amp;oldid=prev"/>
		<updated>2025-07-13T07:13:24Z</updated>

		<summary type="html">&lt;p&gt;typo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine &amp;#039;&amp;#039;&amp;#039;S-Box&amp;#039;&amp;#039;&amp;#039; ({{enS|&amp;#039;&amp;#039;substitution box&amp;#039;&amp;#039;}}) ist eine [[Kryptographisches Primitiv|Komponente]] von [[Kryptographie|kryptografischen]] [[Algorithmus|Algorithmen]]. Sie ersetzt (substituiert) eine Bitfolge durch eine andere.&lt;br /&gt;
&lt;br /&gt;
Eine &amp;#039;&amp;#039;a×b S-Box&amp;#039;&amp;#039; ist eine –&amp;amp;nbsp;in der Regel nichtlineare&amp;amp;nbsp;– [[Substitution (Kryptographie)|Substitutionsoperation]], bei der eine a-stellige Binärzahl (a-[[Tupel]] von [[Bit]]s) durch eine b-stellige Binärzahl ersetzt wird. Je nach Anwendung kann es notwendig sein, dass diese Abbildung [[Umkehrfunktion|invertierbar]] ([[Bijektive Funktion|bijektiv]]) ist.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
S-Boxen werden vor allem in [[Blockverschlüsselung]]en wie beispielsweise [[Data Encryption Standard|DES]] und [[Blowfish]] eingesetzt, um die Beziehung zwischen [[Klartext (Kryptographie)|Klar-]] und [[Geheimtext]] zu verwischen (in der [[Kryptologie|kryptologischen]] Fachsprache &amp;#039;&amp;#039;[[Konfusion (Kryptologie)|Konfusion]]&amp;#039;&amp;#039; genannt). Eine S-Box trägt auch zur [[Diffusion (Kryptologie)|Diffusion]] bei, da ein eingegebenes Bit im Allgemeinen alle Ausgabebits beeinflusst.&lt;br /&gt;
&lt;br /&gt;
Der DES-Algorithmus verwendet acht verschiedene stark nichtlineare S-Boxen, die für Widerstandsfähigkeit gegen die [[Differentielle Kryptoanalyse]] optimiert sind. Auch die [[Diffusion (Kryptologie)|Diffusion]] wird hier vor allem von den S-Boxen erzeugt: Die Änderung eines Input-Bits ändert mindestens 2 Output-Bits, welche dann durch Bitpermutation in der nächsten Runde in verschiedene S-Boxen eingegeben werden.&amp;lt;ref&amp;gt;{{Literatur |Autor=Don Coppersmith |Titel=The Data Encryption Standard (DES) and its strength against attacks |Hrsg=International Business Machines Corporation |Sammelwerk=IBM Journal of Research and Development |Band=38 |Nummer=3 |Datum=1994-05-03 |Seiten=247 |Fundstelle=Absch. Design Criteria Nr. S-4 |Online=http://simson.net/ref/1994/coppersmith94.pdf |Zitat=If two inputs to an S-box differ in exactly one bit, the outputs must differ in at least two bits.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anforderungen ==&lt;br /&gt;
Eine S-Box sollte die folgenden Anforderungen erfüllen:&amp;lt;ref name=&amp;quot;fumy&amp;quot;&amp;gt;{{Literatur|Autor=Walter Fumy, Hans Peter Rieß|Titel=Kryptographie: Entwurf und Analyse symmetrischer Kryptosysteme|Verlag=Oldenbourg|Ort=München / Wien|Jahr=1988|ISBN=3-486-20868-3}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Vollständigkeit&amp;#039;&amp;#039;&amp;#039;: Jedes Ausgangsbit ist von jedem Eingangsbit abhängig.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Avalanche&amp;#039;&amp;#039;&amp;#039;: Die Änderung eines Eingangsbits zieht im Mittel die Änderung der Hälfte aller Ausgangsbits nach sich.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nichtlinearität&amp;#039;&amp;#039;&amp;#039;: Kein Ausgangsbit ist [[Lineare Unabhängigkeit|linear]] oder [[Affine Abbildung|affin]] von einem Eingangsbit abhängig. Dies sollte auch nicht näherungsweise der Fall sein.&amp;lt;ref name=&amp;quot;schneier&amp;quot;&amp;gt;{{Literatur|Autor=Bruce Schneier|Titel=Applied Cryptography|TitelErg=Protocols, Algorithms and Source Code in C|Auflage=2.|Verlag=John Wiley &amp;amp; Sons|Ort=New York|Jahr=1996|ISBN=0-471-11709-9|Seiten=349–350}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Korrelationsimmunität&amp;#039;&amp;#039;&amp;#039;: Solange nur ein Teil der Eingangsbits bekannt ist, können keine Rückschlüsse auf die Ausgangsbits gezogen werden. Und umgekehrt.&lt;br /&gt;
&lt;br /&gt;
S-Boxen werden meist sorgfältig entworfen, um einer [[Kryptoanalyse]], insbesondere der [[Lineare Kryptoanalyse|linearen]] und der differentiellen Kryptoanalyse, bestmöglich zu widerstehen.&lt;br /&gt;
&lt;br /&gt;
== Statisch oder Dynamisch ==&lt;br /&gt;
Man unterscheidet zwischen statischen und dynamischen S-Boxen: Während viele [[Blockchiffre]]n wie [[Data Encryption Standard|DES]] oder [[Advanced Encryption Standard|AES]] festgelegte (statische) S-Boxen verwenden, initialisieren beispielsweise [[RC4]] und [[Twofish]] aus dem Schlüssel die S-Box dynamisch (sogenannte: &amp;#039;&amp;#039;key-dependent S-box&amp;#039;&amp;#039;). Statische S-Boxen haben Vorteile bei der [[Implementierung]] in [[Hardware]] hinsichtlich Geschwindigkeit und Speicherbedarf; dynamische S-Boxen können die [[Kryptoanalyse]] erheblich erschweren.&lt;br /&gt;
&lt;br /&gt;
== Implementierung ==&lt;br /&gt;
Naheliegend ist die Realisierung als [[Feld (Datentyp)|Array]] mit &amp;lt;math&amp;gt;2^a&amp;lt;/math&amp;gt; Elementen, deren jedes eine &amp;#039;&amp;#039;b&amp;#039;&amp;#039; Bit lange Ausgabe enthält. Die &amp;#039;&amp;#039;a&amp;#039;&amp;#039; Eingabebits werden als Zahl interpretiert, die das Array-Element mit der zugehörigen Ausgabe bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Die S-Box kann auch mit [[Boolescher Operator|booleschen Operationen]] verwirklicht werden. Die Eingabebits stehen in &amp;#039;&amp;#039;a&amp;#039;&amp;#039; Datenwörtern jeweils an der gleichen Bitposition, und die &amp;#039;&amp;#039;b&amp;#039;&amp;#039; Ausgabebits werden durch Verknüpfen dieser Datenwörter mit [[Bitweiser Operator|bitweisen Operatoren]] berechnet. Bei einer Wortbreite von &amp;#039;&amp;#039;w&amp;#039;&amp;#039; Bit erfolgen dadurch &amp;#039;&amp;#039;w&amp;#039;&amp;#039; Substitutionen parallel. [[Serpent (Verschlüsselung)|Serpent]] ist eine Blockverschlüsselung, die für diese Methode ausgelegt ist.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Ein Beispiel ist diese statische 6×4-Bit S-Box (S&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt;) von DES:&lt;br /&gt;
{| class=&amp;quot;wikitable centered&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;2&amp;quot;| S&amp;lt;sub&amp;gt;5&amp;lt;/sub&amp;gt; ||colspan=&amp;quot;16&amp;quot;| Mittlere 4 Bits des Eingabewertes&lt;br /&gt;
|-&lt;br /&gt;
! 0000 !! 0001 !! 0010 !! 0011 !! 0100 !! 0101 !! 0110 !! 0111 !! 1000 !! 1001 !! 1010 !! 1011 !! 1100 !!class=&amp;quot;hintergrundfarbe8&amp;quot;| 1101 !! 1110 !! 1111&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;4&amp;quot;| Äußere Bits&lt;br /&gt;
! 00&lt;br /&gt;
| 0010 || 1100 || 0100 || 0001 || 0111 || 1010 || 1011 || 0110 || 1000 || 0101 || 0011 || 1111 || 1101 ||class=&amp;quot;hintergrundfarbe8&amp;quot;| 0000 || 1110 || 1001&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe9&amp;quot;&lt;br /&gt;
! 01&lt;br /&gt;
| 1110 || 1011 || 0010 || 1100 || 0100 || 0111 || 1101 || 0001 || 0101 || 0000 || 1111 || 1010 || 0011 ||style=&amp;quot;background:#FEFE2D;&amp;quot;| 1001 || 1000 || 0110&lt;br /&gt;
|-&lt;br /&gt;
! 10&lt;br /&gt;
| 0100 || 0010 || 0001 || 1011 || 1010 || 1101 || 0111 || 1000 || 1111 || 1001 || 1100 || 0101 || 0110 ||class=&amp;quot;hintergrundfarbe8&amp;quot;| 0011 || 0000 || 1110&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
| 1011 || 1000 || 1100 || 0111 || 0001 || 1110 || 0010 || 1101 || 0110 || 1111 || 0000 || 1001 || 1010 ||class=&amp;quot;hintergrundfarbe8&amp;quot;| 0100 || 0101 || 0011&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Eingabewert ist 6 Bit lang. Der 4-Bit-Ausgabewert steht in der Zeile mit den beiden äußeren Bits und der Spalte mit den 4 inneren Bits des Eingabewertes. Im Beispiel hat der Eingabewert &amp;quot;&amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039;1101&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;&amp;quot; die äußeren Bits &amp;quot;&amp;#039;&amp;#039;&amp;#039;01&amp;#039;&amp;#039;&amp;#039;&amp;quot; und die inneren Bits &amp;quot;1101&amp;quot;. Der zugehörige Ausgabewert ist demnach &amp;quot;1001&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Lawineneffekt (Kryptographie)]].&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Symmetrisches Kryptosystem]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Invisigoth67</name></author>
	</entry>
</feed>