暗号論的擬似乱数生成器
ANSI X9.17 標準(Financial Institution Key Management (wholesale))では、ブロック暗号であるDESを用いた疑似乱数の生成法を挙げており、FIPSにも採用されている。この生成法では、64ビットのシード s とDESの鍵 kを用いて、次のように64ビット乱数を生成する。まず現在日時情報 D (可能な限り詳しい値)を使って、中間値 I = D E S k ( D ) {\displaystyle I=DES_{k}(D)} を計算、次に x = D E S k ( I ⊕ s ) {\displaystyle x=DES_{k}(I\oplus s)} を計算して乱数として出力し、シードを s = D E S k ( x ⊕ I ) {\displaystyle s=DES_{k}(x\oplus I)} と更新する。64ビット以上の乱数が必要な場合は、上記の手続きを必要回数繰り返す。DESを別の任意のブロック暗号に置き換えることもでき、AESの利用が推奨されている。