Random Number Generator (乱数発生器)
擬似乱数発生器 (PRNG) は、複雑で、予測できないように見えるパターンの数字を出力するためのアルゴリズムです。真の乱数(放射性線源など)はまったく予測できないのに対し、すべてのアルゴリズムは予測可能なので、 PRNG は、開始パラメーターやシードが同じときには同じ数値を返します。
擬似乱数はゲームなど、様々な応用分野で使用されています。
暗号学的に安全な擬似乱数とは、暗号での使用に合うよう追加のプロパティを伴う擬似乱数であり、次のようなものがあります。
- (シードを知らずに)攻撃者が計算によって出力を予測することができないもの
- 攻撃者がその現在の状態を解くことができた場合、攻撃者が以前に発行された数を解明することができないもの。
多くの擬似乱数、は暗号学的に安全ではありません。
関連情報
- 擬似乱数(ウィキペディア)
- JavaScript の組み込み PRNG 関数である
Math.random()
。これは暗号学的に安全な PRNG ではありません。 Crypto.getRandomValues()
: 暗号学的に安全な数値を提供するためのものです。