乱数シード
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2025年3月) |
![]() | この項目「乱数シード」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "Random seed" 2025年3月23日 (日) 02:59 (UTC)) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2025年3月) |
乱数シード(ランダム・シード、乱数種、英語: random seed, seed state, seed)とは、擬似乱数列生成器を初期化するために使用される数値またはベクターである。
擬似乱数列生成器の数値列はシードによって完全に決定される。従って、擬似乱数列生成器を同じシードで再初期化すると、同じ数値列が生成される。
擬似乱数列生成器で使用するシードはランダムである必要はない。数値生成アルゴリズムの性質上、最初のシードを無視する限り、アルゴリズムが生成する残りの値は擬似ランダムな方法で確率分布に従うからである。
適切な乱数シードを選択することは、コンピュータセキュリティの分野では極めて重要である。秘密の暗号鍵が擬似ランダムに生成される場合、シードがわかれば鍵を取得できる。適切な乱数シードデータを選択するには高いエントロピーが重要である[1]。
乱数生成を確実に行うには乱数シードを慎重に選択する必要がある。実際にランダムな結果を提供しないシードを選択した場合、擬似乱数列生成器(PRNG)のよって生成される数値はそれを必要とするアプリケーションで適切に機能しない。散布図を使用してPRNGの出力値をグラフ化することは、シードが機能しているかを調べるのに良い方法である。グラフが静的な場合、PRNGはランダムな結果を生成しているが、パターンが現れる場合はシードを修正する必要がある[2][3]。
同じ乱数シードを故意に共有した場合、それが秘密鍵となるので、同じ擬似乱数列生成法とシードを使用する2つ以上のシステムは、GPS衛星や受信機などのリモートシステムを同調するために使用できる数値が循環しない同じ数値列を生成できる[3]。
乱数シードは多くの場合時間などのコンピュータシステムの状態、暗号論的擬似乱数生成器、ハードウェア乱数生成器から生成される。
脚注
- ^ Ward, Mark (2015年8月9日). “Web's random numbers are too weak, researchers warn” (英語). BBC News (BBC). オリジナルの2025年3月23日時点におけるアーカイブ。 2025年2月8日閲覧。
- ^ Parker, Matthew (2021). Humble Pi. London: Riverhead Books. pp. 41–48. ISBN 9780593084694
- ^ a b “Seeding the Random Number Generator” (英語). help.perforce.com. 2025年3月23日時点のオリジナルよりアーカイブ。2025年2月8日閲覧。
関連項目
- ソルト (暗号)
- 擬似乱数性
- ノンス
- 初期化ベクトル
- /dev/random
- 乱数シードのページへのリンク