« Tor, conception, fonctionnement et limites » : différence entre les versions

Aller à la navigation Aller à la recherche
Ligne 625 : Ligne 625 :


On applique à chaque élément du bloc à chiffrer une fonction non-linéaire prédéfinie. L'idée de cette étape, c'est de changer drastiquement tous les éléments du bloc. En cryptographie, on appelle cette propriété la confusion, et les transformations non-linéaires sont parfaites pour ça (si vous voulez les détails technique, ça consiste à prendre l'inverse de ces éléments dans un corps de Galois GF(256) et d'y appliquer une relation affine). Concrètement, étant donné que cette étape est générique, on peut établir une table de conversion qu'on appelle une S-box (Substitution box) et qui est disponible ici en hexadécimal (https://en.wikipedia.org/wiki/Rijndael_S-box). Du coup, mon bloc devient :
On applique à chaque élément du bloc à chiffrer une fonction non-linéaire prédéfinie. L'idée de cette étape, c'est de changer drastiquement tous les éléments du bloc. En cryptographie, on appelle cette propriété la confusion, et les transformations non-linéaires sont parfaites pour ça (si vous voulez les détails technique, ça consiste à prendre l'inverse de ces éléments dans un corps de Galois GF(256) et d'y appliquer une relation affine). Concrètement, étant donné que cette étape est générique, on peut établir une table de conversion qu'on appelle une S-box (Substitution box) et qui est disponible ici en hexadécimal (https://en.wikipedia.org/wiki/Rijndael_S-box). Du coup, mon bloc devient :


{| class="wikitable centre" width="20%"
{| class="wikitable centre" width="20%"
Ligne 679 : Ligne 678 :


C'est très simple, on décale les lignes de la matrice suivant l'exemple donné ci dessous. L'idée, cette fois ci, est d'assurer ce qu'on appelle en cryptographie la diffusion. C'est à dire que le moindre changement dans le message de départ se répercutera de façon considérable dans l'algorithme et aboutira à un chiffré radicalement différent.
C'est très simple, on décale les lignes de la matrice suivant l'exemple donné ci dessous. L'idée, cette fois ci, est d'assurer ce qu'on appelle en cryptographie la diffusion. C'est à dire que le moindre changement dans le message de départ se répercutera de façon considérable dans l'algorithme et aboutira à un chiffré radicalement différent.
{| class="wikitable centre" width="20%"
|-
|align="center"|'''140'''
|align="center"|'''52'''
|align="center"|'''171'''
|align="center"|'''163'''
|-
|align="center"|'''85'''
|align="center"|'''233'''
|align="center"|'''18'''
|align="center"|'''233'''
|-
|align="center"|'''106'''
|align="center"|'''58'''
|align="center"|'''248'''
|align="center"|'''134'''
|-
|align="center"|'''220'''
|align="center"|'''109'''
|align="center"|'''22'''
|align="center"|'''221'''
|-
|}


140 52  171 163 140  52 171 163
140 52  171 163 140  52 171 163
245

modifications

Menu de navigation