Die symmetrische Schlüsselverschlüsselung ist in der heutigen Welt allgegenwärtig - sie speichert und überträgt Informationen, E-Mails und sieht sich sogar Videos auf YouTube an. Starke symmetrische Chiffren umfassen wohlgeformte S-Boxen. In diesem Artikel werde ich die verschiedenen Möglichkeiten zum Erstellen von S-Boxen erläutern und vergleichen.
1. Was ist ein S-Block?
S-Block ist eine Funktion, die am Eingang n Bits nimmt, diese nach einem bestimmten Algorithmus transformiert und am Ausgang m Bits zurückgibt. S-Boxen sind in den meisten Blockchiffren weit verbreitet. Sie können sich in Eingabe- und Ausgabegröße (n und m) unterscheiden, deterministisch oder zufällig generiert werden und können auch unveränderlich (fest) oder basierend auf einem Schlüssel generiert werden. S-Boxen können entweder als Tabelle (wie in DES) oder als algebraische Boolesche Funktion (wie in AES) dargestellt werden. Wichtige Kriterien beim Zusammenstellen einer S-Box sind ihre Nichtlinearität und das Kriterium für die Ausbreitung von Booleschen Funktionen. Um die S-Box als eine Folge von Booleschen Funktionen zu betrachten, verstehen wir zunächst, wie sich Boolesche Funktionen im Allgemeinen auf die Kryptographie beziehen.
2. Boolesche Funktionen in der Kryptographie
In herkömmlichen Verschlüsselungssystemen, die eine offene Nachricht in eine mit einem geheimen Schlüssel verschlüsselte Nachricht übersetzen, ist der Apparat für boolesche Funktionen sehr weit verbreitet. Die Hauptanforderung für sie ist, dass sie die Entschlüsselung der Nachricht durch eine Person erschweren, die nicht der Adressat ist.
Um die Verwendung von Booleschen Funktionen zu veranschaulichen, stellen wir ein Stream-Verschlüsselungsschema vor, bei dem jedes eingehende Zeichen sofort in ein Chiffretextzeichen konvertiert wird. Der Originaltext, der Schlüssel und der Chiffretext sind Binärzeichenfolgen gleicher Länge. In der Praxis wählen Sender und Empfänger meistens eine Pseudozufallssequenz anstelle eines Schlüssels in der Vernam-Chiffre, der aus einem kurzen geheimen Schlüssel gemäß dem vereinbarten Algorithmus generiert wird. Diese Sequenz wird als Keystream oder Gamma bezeichnet .
, (Linear Feedback Shift Register, LSFR).
. ( ) ( ). LSFR , , LSFR.
, , L. ,
,
.
, .
3.
- 2 (
),
-
.
S- :
:
, S- :
- (
).
.
.
( ) :
2.
, :
, () . "".
4.
, , .
,
- .
:
(
-
,
-
.
- ,
.
- ,
- . -
.
( )
.
,
,
-
,
- ,
. -.
- .
5.-
- - , . - .
, -, .
-
,
- .
,
.
,
,
.
.
6. -
6.1
-
.
1.
: .
: - - 8 .
: , :
2.
: -
,
,
- -.
: -
.
:
( -)
. . 4 6 . - "" (, ), .
3.
: ,
,
- .
: - , .
:
,
-
-
.
- , -. .
6.2 -
"" - , . , , , .
, - 6 . . . - , , - .
- , . - , -
. .
.
, , .
, ,
.
, .
- -, -. . . - ( ).
- , - . , , - .
. -, - . (, 6
). -, - .
4. ( -)
:
- (
- )
,
,
:
(1.1) (1.2)
,
:
-
.
:
(1.1) (1.2)
,
:
1.1
,
,
1.2 1
.
.
.
, (3),
,
- -, ; (1).
, 4 . - (. - ), (4) - , , .
7. S-
S- - ,
, ,
. ,
S-, . S-.
S-, 8- .
1. S-, ,
2. S-, ,
1 2, , S-, , S- (98 100).
3. S-, ,
, S- , S- - ( 2) (. 3). , 98, S- .
4. S-, -,
S-, - (. 4). S- 112, ( , 104). 20 S- 100, S-, - .
, - S- .
, , - S- (80, ). S- (, ) S- .
8.
, S- . , , . S-, -.
. -
Anna Grocholewska-Czurylo and Janusz Stoklosa - Random Generation of S-Boxes for Block Ciphers
Meier, W., Staffelbach, O - Nichtlinearitätskriterien für kryptografische Funktionen
Wikipedia - S-Box (Informatik)
Wikipedia - S-Box
Wikipedia - Gebogene Funktionen