![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Two_red_dice_01.svg/langja-640px-Two_red_dice_01.svg.png&w=640&q=50)
乱数生成
ウィキペディア フリーな encyclopedia
乱数生成(らんすうせいせい、Random number generation)とは、多くの場合、乱数発生器(RNG:random number generator)を用いて、先験的に予測できないような数値や記号を生成する過程のことである。これは、特定の結果には、後知恵では検出可能だが先見性では予測不可能なパターンが含まれることを意味する。真の乱数発生器は、ハードウェア乱数生成器(HRNG:hardware random number generator)であり、各生成は、モデル化が実質的に不可能な方法で絶えず変化する物理的環境の属性の現在値の関数である。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Two_red_dice_01.svg/640px-Two_red_dice_01.svg.png)
ランダム化などの様々な応用により、ランダムデータを生成する様々な方法が開発されてきた。サイコロを転がす、コインをはじく、トランプをシャッフルする、易経の鋸草の茎を使うなど、よく知られた例だけでなく、数え切れないほどの技法が古くから存在している。しかし、これらの技法は人力であり統計学で重要な十分な乱数を大量に発生させるには、多くの労力と時間が必要だった。そのため、結果が乱数表として集められ、配布されることもあった。
一方の、擬似乱数の生成手法もいくつも提案されている。それらが生成した結果がどの程度予測不可能であるか(=パターンがどの程度識別可能であるか)を測定することを目的とした乱数性の統計的検定も多数提案されているが、程度に差はあるものの、これを達成すれば「真の乱数といえる」というような唯一の指標といったようなものは無い(不可能である)。そのため、暗号などの用途によっては擬似ではない乱数が必要である。暗号でも用途によっては決定的な暗号論的擬似乱数生成器(CSPRNGS:cryptographically secure pseudorandom number generators)でもよく、それらは暗号技術で使用するために特別に設計され、必要な能力を持っている。