4.4 ANSI X9.17
Un algoritmo molto utilizzato per la generazione di numeri casuali, è lo standard ANSI X9.17 il cui funzionamento è illustrato nella Figura 4.

Figura 4
dove:
- la coppia di chiavi K, K', è lunga 112 bit, ed è data in input ai tre EDE (Encryption-Decryption-Encryption);
- Vi è una variabile di stato, in cui V0 è il valore iniziale;
- Vi + 1 è la variabile di stato successiva;
- DTi indica la data e l'ora corrente del sistema;
- Ri è l'output del generatore, fornisce la sequenza Xi.
Come si può notare, questo standard ANSI utilizza tre cifrature di tipo triplo DES:
la data (D) e l'ora corrente (T), vengono cifrate con il primo EDE e con l'output relativo viene effettuato uno XOR bit a bit con la variabile di stato Vi ; questo risultato viene a sua volta cifrato con il secondo EDE il cui risultato da l'output Ri; facendo infine lo XOR bit a bit dei risultati dei due precedenti EDE, si ottiene l'input al terzo EDE, ottenendo così la prossima varialbile di stato Vi + 1.
Ogni volta che si ha bisogno di una stringa casuale, vengono utilizzate la variabile casuale Vi + 1 e la chiave iniziale.
Questo tipo di generatore è più lento rispetto alla " Cifratura di un contatore ", ma è più sicuro.