Le cryptage à clé symétrique est omniprésent dans le monde d'aujourd'hui: il stocke et transmet des informations, des e-mails, et même des vidéos sur YouTube. Les chiffrements symétriques forts incluent des boîtes S bien formées. Dans cet article, je vais vous expliquer les différentes façons de créer des S-box et de les comparer.
1. Qu'est-ce que S-block
S-block est une fonction qui prend n bits en entrée, les transforme selon un certain algorithme et renvoie m bits en sortie. Les boîtes S sont largement utilisées dans la plupart des chiffrements par blocs. Ils peuvent différer dans les tailles d'entrée et de sortie (n et m), peuvent être générés de manière déterministe ou aléatoire, et peuvent également être immuables (fixes) ou générés sur la base d'une clé. Les S-box peuvent être représentées soit sous forme de tableau (comme dans DES), soit comme fonction booléenne algébrique (comme dans AES). Les critères importants lors de la composition d'une S-box sont sa non-linéarité et le critère de propagation des fonctions booléennes. Afin de voir la S-box comme une séquence de fonctions booléennes, nous comprenons d'abord comment les fonctions booléennes sont généralement liées à la cryptographie.
2. Fonctions booléennes en cryptographie
Dans les systèmes de cryptage traditionnels, qui traduisent un message ouvert en un message crypté avec une clé secrète, l'appareil des fonctions booléennes est très largement utilisé. La principale exigence pour eux est qu'ils compliquent le décryptage du message par une personne qui n'est pas le destinataire.
Pour illustrer l'utilisation des fonctions booléennes, nous présentons un schéma de chiffrement de flux, lorsque chaque caractère entrant est immédiatement converti en un caractère chiffré. Le texte original, la clé et le texte chiffré sont des chaînes binaires de même longueur. En pratique, l'expéditeur et le destinataire choisissent le plus souvent une séquence pseudo-aléatoire au lieu d'une clé dans le chiffrement de Vernam, qui est générée à partir d'une clé secrète courte selon l'algorithme convenu. Cette séquence est appelée keystream ou gamma .
, (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 - Critères de non-linéarité pour les fonctions cryptographiques
Wikipédia - S-box (informatique)
Wikipédia - S-box
Wikipédia - Fonctions pliées