Secure Hash Algorithm
L’ Algoritmo SHA è diviso in 5 funzioni crittografiche di hash sviluppate dalla NSA (National Security Agency). SHA sta per Secure Hash Algorithm. Un algoritmo di hash calcola la rappresentazione digitale di lunghezza fissa (message digest) di una sequenza di dati in input (messaggio) di lunghezza qualunque. Al momento tale algoritmo è chiamato “sicuro” in quando è computazionalmente impraticabile trovare un messaggio che corrisponda ad un dato message digest, oppure trovare due messaggi distinti che producano lo stesso message digest.
I cinque algoritmi sono divisi in due categorie: SHA-1 e SHA-2 (SHA-224, SHA-256, SHA-384, e SHA-512).
SHA-1 produce un message digest di 160 bits mentre SHA-2 un message digest che va da 224 a 512 bits a seconda di come specificato nel nome della variante. (ad es. SHA-384 produce un message di 384 bits)

L’algoritmo SHA-2 viene considerato uno tra i più validi metodi di crittografia da quando nel 1996 Dobbertin annunciò una collisione della funzione di compressione MD5 che fù definitivamente resa pubblica da Klima che con un algoritmo in grado di trovare una collisione in un minuto su un singolo computer, usando un metodo che chiamò “calls tunneling”.
Ecco un esempio di codifica SHA-2 con PHP:
$messaggio = “Hello World”;
$sha256= hash(’sha256′,$messaggio);
$sha384= hash(’sha384′,$messaggio);
$sha512= hash(’sha512′,$messaggio);
echo (“SHA256:” . $sha256 . “\n”);
echo (“SHA384:” . $sha384 . “\n”);
echo (“SHA512:” . $sha512 . “\n”);
Add comment Maggio 27, 2008




