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

Ligne 587 : Ligne 587 :
|align="right"|XOR <span style="color: DarkGreen;">10110001</span>
|align="right"|XOR <span style="color: DarkGreen;">10110001</span>
|-
|-
|align="right"|'''= <span style="color: Gold;">240</span>'''
|align="right"|'''= <span style="color: DarkViolet;">240</span>'''
|align="right"|'''<span style="color: Gold;">11110000</span>'''
|align="right"|'''<span style="color: DarkViolet;">11110000</span>'''
|-
|-
|}
|}
Ligne 596 : Ligne 596 :
{| class="wikitable centre" width="20%"
{| class="wikitable centre" width="20%"
|-
|-
|align="center"|'''<span style="color: Gold;">240</span>'''
|align="center"|'''<span style="color: DarkViolet;">240</span>'''
|align="center"|'''40'''
|align="center"|'''40'''
|align="center"|'''14'''
|align="center"|'''14'''
Ligne 622 : Ligne 622 :
1ère étape (Générique) : SubBytes
1ère étape (Générique) : SubBytes


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). Par exemple, <span style="color: DarkViolet;">240</span> est transformé en <span style="color: red;">140</span>. Du coup, mon bloc devient :


{| class="wikitable centre" width="20%"
{| class="wikitable centre" width="20%"
|-
|-
|align="center"|'''240'''
|align="center"|'''<span style="color: DarkViolet;">240</span>'''
|align="center"|'''40'''
|align="center"|'''40'''
|align="center"|'''14'''
|align="center"|'''14'''
Ligne 650 : Ligne 650 :
{| class="wikitable centre" width="20%"
{| class="wikitable centre" width="20%"
|-
|-
|align="center"|'''140'''
|align="center"|'''<span style="color: red;">140</span>'''
|align="center"|'''52'''
|align="center"|'''52'''
|align="center"|'''171'''
|align="center"|'''171'''
245

modifications