Pseudo-transformation de Hadamard
# Pseudo-transformation de Hadamard

La x aim est une application de la transformée de Hadamard inventée par le mathématicien français Jacques Hadamard. Elle est utilisée en cryptographie pour ses propriétés de diffusion. Elle est réversible et assure une bonne diffusion des bits dans une structure de chiffrement. Elle a notamment été utilisée dans Twofish et la famille des SAFER.

## Description mathématique

Soit une chaîne binaire S de longueur paire n, soit les sous-chaînes $S_a$ et $S_b$ de taille n/2. Pour calculer la transformation $T_a$ et $T_b,$ on utilise les équations suivantes (en modulo 2n) :

    $T_{a}=S_{a}+S_{b}~$
    $T_{b}=S_{a}+2\cdot S_{b}~$

L'inversion est naturellement produite de cette façon :

    $S_{b}=T_{b}-T_{a}~$
    $S_{a}=2\cdot T_{a}-T_{b}~$

## Exemple numérique

On considère deux valeurs $S_{a}=240~$ et $S_{b}=73~$, nous effectuons une substitution modulo 256 ce qui serait le cas si nous travaillions avec des octets dans une procédure de chiffrement :

    $T_{a}=S_{a}+S_{b}=240+73=57~(mod~256)~$
    $T_{b}=S_{a}+2\cdot S_{b}=240+2\cdot 73=130~(mod~256)~$

L'inversion est obtenue via :

    $S_{b}=T_{b}-T_{a}=130-57=73~(mod~256)~$
    $S_{a}=T_{a}-S_{b}=57-73=240~(mod~256)~$
