読み方 : ぎじらんすう
擬似乱数【pseudorandom number】疑似乱数
概要

乱数とは規則性がなく予測も再現も不可能な数値の列で、真にランダムな乱数(真性乱数)を得るには専用の装置を用いて物理現象の観測するといった仕組みが必要になる。コンピュータでランダムな数値列が必要な場合は、初期値から一定の手順で計算を繰り返すことで統計的な偏りや前後の規則性が少ない擬似乱数を生成し、乱数の代用とすることが多い。
擬似乱数の生成には「線形合同法」(LCG:Linear Congruential Generator)や「メルセンヌツイスター」(Mersenne Twister)といったアルゴリズムが用いられる。いずれも直前の値に一定の演算を行って次の値を導く仕組みで、出力される数値は統計的な偏りが小さく、一見すると不規則に見える。
ただし、計算に基づく生成である以上、数列には一定の周期があり、生成を繰り返すと同じ並びが再び現れる。また、シード値やアルゴリズムの内部状態が判明すれば、以降の数値を予測できてしまう。この性質から、暗号鍵の生成やワンタイムパスワードのような高いセキュリティが求められる用途には適さない。
そうした場面では、処理時間の微細なズレや利用者の操作履歴といった外部の不規則な情報をシード値に取り込み、予測や再現、逆算を困難にした「暗号論的擬似乱数生成器」(CSPRNG:Cryptographically Secure Pseudo-Random Number Generator)が用いられる。
(2026.5.28更新)