DRBG
Deterministic Random Bit Generators
決定論的乱数ビット生成器
決定論的乱数ビット生成器を用いた乱数生成に関する推奨事項
乱数ビット生成に使用されるエントロピー源に関する推奨事項
乱数発生器(RBG)の構成に関する推奨事項
CTR_DRBG
1 はじめに
本勧告は、暗号技術を用いるアプリケーションで乱数が必要な場合に、乱数ビットを直接生成したり、乱数に変換したりできる乱数ビットを生成する手法を規定する。
乱数ビットを生成するための戦略には、根本的に異なる2つの方法がある。1つは非決定論的にビットを生成する方法であり、出力のすべてのビットは予測不可能な物理プロセスに基づく。この種類の乱数ビット生成器(RBG)は、一般に非決定論的乱数ビット生成器(NRBG)1 として知られている。もう1つは、アルゴリズムを用いて決定論的にビットを計算する方法であり、この種類のRBGは決定論的乱数ビット生成器(DRBG)2 として知られている。
DRBGは、本勧告で規定されているDRBGメカニズムに基づいており、乱数源を含む。DRBGメカニズムは、乱数源の出力から決定されるシードによって決定される初期値からビット列を生成するアルゴリズム(すなわち、DRBGアルゴリズム)を使用する。シードが提供され、初期値が決定されると、DRBG はインスタンス化されたとみなされ、出力を生成するために使用できるようになります。プロセスの決定論的な性質のため、DRBG はランダムビットではなく疑似ランダムビットを生成すると言われます。DRBG をインスタンス化するために使用されるシードには、ランダム性を保証するために十分なエントロピーが含まれている必要があります。シードが秘密に保持され、アルゴリズムが適切に設計されている場合、DRBG によって出力されるビットは、インスタンス化された DRBG のセキュリティ強度まで予測不可能になります。
DRBG メカニズムを使用する RBG によって提供されるセキュリティは、システム実装の問題です。RBG が消費アプリケーションでの使用に適しているかどうかを判断する際には、DRBG メカニズムとそのランダム性ソースの両方を考慮する必要があります。