Esistono dei meccanismi di cifratura che permettono soltanto di “cammuffare” un’informazione senza prevedere una chiave per poter successivamente decodficare il messaggio. Tali metodi sono detti funzioni hash o cifratura a senso unico (one-way hash function) e sono utilizzati per la cifratura delle password o per la generazione di impronte digitali o message digest (v. sez. 23.4).
Le password, infatti, non sono memorizzate in chiaro sul sistema, ma viene memorizzata soltanto la loro cifratura, dalla quale non è possibile ritornare alla password in chiaro. Quando un utente vuole accedere al sistema, il meccanismo di autenticazione richiede la password, la cifra con l’algoritmo di hashing considerato e confronta la password cifrata con quella memeorizzata sul sistema per l’utente in questione. Se le due password cifrate coincidono, all’utente è permesso accedere al sistema.
Il message digest invece è un valore caratteristico di un messaggio o documento, calcolato applicando la funzione hash al messaggio stesso, che varia sensibilmente al variare del contenuto del messaggio.
L’algoritmo di hashing deve essere in grado di generare un messaggio cifrato quanto più scorrelato possible dall’informazione originale e tale che sia estremamante improbabile che due messaggi diversi diano luogo allo stesso messaggio cifrato.
[da completare ...]
Di seguito sono riportati alcuni tra gli algoritmi più utilizzati per la cifratura con funzioni hash.
Produce valori hash di 128 bit, accettando messaggi di input con lunghezza massima di 264 bit e scomponendoli in blocchi di 512 byte (viene eventualmente effettuato un padding dei bit mancanti nell’ultimo blocco - il padding comprende comunque un valore di 64 bit che indica la lunghezza del messaggio originale). Una descrizione dell’algoritmo è riportata nella RFC 1321.
Fornisce valori hash di 160 bit. La cifratura viene effettuata su messaggi con lunghezza massima di 264 bit, scomponendoli in blocchi di 264 bit. Risulta un po’ più lento di MD5, ma produce un message digest più grosso che lo rende più sicuro agli attacchi per forza bruta.
SHA-1 è una revisione del 1995 dell’algoritmo SHA, che ne corregge alcune falle (v. FIPS 180-1). Una sua descrizione è contenuta in nello standard ANSI X9.30 (part 2).
SHA-2 è una nuova versione dell’algoritmo SHA, pubblicata nel 2002, che fornisce valori hash di 256 bit.
[da completare ...]