Pseudo-trasformata di Hadamard

Da Wikipedia, l'enciclopedia libera.

In crittografia la pseudo-trasformata di Hadamard è una trasformata invertibile operante su stringhe di bit utilizzata per generare diffusione crittografica.

La stringa di bit deve essere di lunghezza pari così che possa essere divisa in 2 stringhe a e b di uguale lunghezza, ognuna composta da n bit. Per calcolare la trasformata ed ottenere a' e b', si usano le seguenti equazioni:

a' = a + b \, \pmod{2^n}
b' = a + 2b\, \pmod{2^n}

L'inversio della trasformata si ottiene con le seguenti equazioni:

b = b' - a' \, \pmod{2^n}
a = 2a' - b' \, \pmod{2^n}

Generalizzazione[modifica | modifica wikitesto]

Le soprastanti equazioni possono essere espresse anche in algebra matriciale considerando a e b come due elementi di un vettore e la trasformata come la moltiplicazione di una matrice:

H_1 = \begin{bmatrix} 2 & 1 \\ 1 & 1 \end{bmatrix}

L'inverso della trasformata può essere derivato invertendo la matrice. Ovviamente la matrice può essere generalizzata astraendola a dimensioni maggiori, permettendo a vettori di qualunque dimensione in base potenza di due di essere trasformati utilizzando la seguente regola ricorsiva:

H_n = \begin{bmatrix} 2 \times H_{n-1} & H_{n-1} \\ H_{n-1} & H_{n-1} \end{bmatrix}

Ad esempio:

H_2 = \begin{bmatrix} 4 & 2 & 2 & 1 \\  2 & 2 & 1 & 1 \\ 2 & 1 & 2 & 1 \\ 1 & 1 & 1 & 1 \end{bmatrix}

Voci correlate[modifica | modifica wikitesto]

Riferimenti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]


crittografia Portale Crittografia: accedi alle voci di Wikipedia che trattano di crittografia