Le password vengono cifrate utilizzando funzione
crypt(key,salt), dove key è la password digitata dall'utente e salt
è una stringa di 2 caratteri ASCII di 6 bit scelta tra [a-zA-Z0-9./]. La cifratura è realizzata usando una versione del DES (Data Encryption Standard) modificata.
I 12 bit di salting sono random e vengono generati tramite il clock del sistema. Il motivo per cui vengono usati tali
bit è di scoraggiare l'uso di implementazioni hardware per la ricerca della chiave DES.
Figura : Schema di codifica
La password di un utente è troncata ai primi 8 caratteri ASCII,
ognuno dei quali è codificato con 7 bit. Otteniamo così i 56 bit della chiave che useremo
nell'algoritmo DES modificato.
Alla prima iterazione DES prende in input un blocco di zeri di 64 bit, la chiave e i 2 caratteri di salting;
l'output viene di nuovo cifrato con la password dell'utente. Tale processo viene iterato per 25 volte.
Il blocco finale di 64 bit viene raggruppato in una stringa di 11 caratteri di 6 bit ciascuno
e inserita nel file delle password insieme ai 2 caratteri di salting.
I 13 caratteri così ottenuti rappresentano la password cifrata.