暗号学的疑似乱数(CSPRNG/DRBG)
ハッシュ関数やブロック暗号を基盤にした、予測困難性を重視する決定論的な乱数生成器。疑似乱数の一種だが、内部状態が分からない前提で出力を予測しにくいように設計される。
- 概念URI
https://comcomponent.com/knowledge/csprng-drbg/
- 別名・表記
- cryptographically secure pseudorandom number generator / deterministic random bit generator
- 上位概念
- 疑似乱数(PRNG)
- 下位概念
- BCryptGenRandom / .NET RandomNumberGenerator / getrandom() / Pythonのsecretsモジュール / Java SecureRandom
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- 暗号学的疑似乱数(CSPRNG/DRBG)はエントロピー源を前提とします。実務で使われる安全な乱数APIの多くは、物理エントロピー源でseed・reseedしたDRBG/CSPRNGを返すハイブリッド構成であり、DRBGはseedの供給元としてエントロピー源を必要とする / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 暗号学的疑似乱数(CSPRNG/DRBG)は統計検定(NIST SP 800-22)で確認できます。CSPRNG/DRBGに明らかな欠陥がないかは統計検定で確認できるが、通過は生成器の妥当性を証明するものではない / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- 暗号学的疑似乱数(CSPRNG/DRBG)はseed推測攻撃を防ぎます。OS・言語標準のsecure RNG APIが提供するCSPRNG/DRBGは、予測困難なエントロピー源でseedされるよう設計されており、seedの候補を数え上げるseed推測攻撃を防ぐ / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- BCryptGenRandomは暗号学的疑似乱数(CSPRNG/DRBG)の実装を担います。既定プロバイダを使う場合、BCryptGenRandomはNIST SP800-90が定めるCTR_DRBGというCSPRNG/DRBGの実装を担う。BCryptOpenAlgorithmProviderで別のアルゴリズムプロバイダを明示的に開いて使った場合、実装は指定したプロバイダに依存しCTR_DRBGとは限らない / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- .NET RandomNumberGeneratorは暗号学的疑似乱数(CSPRNG/DRBG)を利用します。.NETのRandomNumberGeneratorは暗号強度の高いCSPRNG/DRBGを利用して鍵やトークン用のバイト列・整数を返す / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- getrandom()は暗号学的疑似乱数(CSPRNG/DRBG)を利用します。Linuxのgetrandom()はcryptographic purposesに使える乱数バイトを返すAPIとして文書化されている / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- Pythonのsecretsモジュールは暗号学的疑似乱数(CSPRNG/DRBG)を利用します。Pythonのsecretsモジュールは、OSが提供する暗号学的に安全な乱数源を利用してトークンを生成する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- Java SecureRandomは暗号学的疑似乱数(CSPRNG/DRBG)を利用します。JavaのSecureRandomは暗号用途を意識したCSPRNG/DRBGを利用する乱数生成クラスである / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 暗号学的疑似乱数(CSPRNG/DRBG)は鍵・トークン・nonce・セッションIDの生成に対する本記事の推奨です。鍵・トークン・nonce・セッションIDのような、攻撃者に予測されると困る用途にはCSPRNG/DRBGおよびOS・言語標準のsecure RNG APIを使うことが推奨される / 確度: 確立した関係 / 確認日: 2026-08-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。