ランダム生成器

暗号論的に安全な乱数、パスワード、文字列を生成します。

何が必要ですか?
パスワードの文字クラス

乱数は見た目ほどランダムではありません——そしてそれが重要になる場面があります

ブラウザに搭載されているものを含むほとんどのソフトウェア乱数生成器は疑似乱数です——マイクロ秒単位の現在のタイムスタンプなど、予測困難な値でシードされた決定論的なアルゴリズムを使用します。ゲーム・シミュレーション・ランダム選択・サイコロを振る用途には、これで十分です。パスワード・秘密鍵・セキュリティトークンの生成など暗号用途には、ブラウザがWeb Crypto APIでアクセスする暗号論的に安全な乱数生成器が必要です——このツールのパスワード生成にはそれを使用しています。

パスワードの強度はほぼ完全に、長さと文字プールのサイズの関数です。小文字のみを使った8文字のパスワードは26^8通りの組み合わせ——約2,000億通り——があります。多そうに聞こえますが、最新のGPUなら数時間で解読できます。文字・数字・記号を含む94文字のプールからの16文字のパスワードは94^16通りの組み合わせ——10^31を超え、ブルートフォース攻撃は計算上不可能です。文字を1つ追加するごとに、探索空間は指数関数的に増加します。

Frequently asked questions

ウェブサイトの乱数生成器はどの程度ランダムですか?
セキュリティ以外の目的では、ブラウザベースの乱数生成は<strong>実用上は事実上ランダム</strong>です。物理的な意味での真の乱数ではありませんが、シーケンスは十分に長く予測不可能で、すべての標準的な統計的ランダム性テストに合格します。この違いが重要になるのは、秘密鍵・パスワード・トークンなどの暗号資料を生成する場合のみです——その場合、Web Crypto API(このツールが使用)が真の暗号論的に安全なランダム性を提供します。
強力なパスワードとはどのようなものですか?
複雑さより長さの方が重要です。<strong>16文字のパスワードは、特殊文字が多い8文字のものより格段に強力です</strong>。計算上、文字を1つ追加するごとにブルートフォースの探索空間はプールサイズ分だけ増えます。実際のアカウントを守るパスワードには最低16文字を使用してください。パスワードマネージャーを使いましょう——ボトルネックは強力なパスワードを生成することではなく、複数サイトで同じパスワードを使い回さないよう保存することです。
リストからのランダムな名前や項目の選択は公平ですか?
実用上は公平です——リストの各項目が選択される確率は等しくなります。公平性の前提が崩れるのは、リストに<strong>重複エントリー</strong>がある場合のみで、その場合は重複が比例して高い確率を得ます。実質的な利害のある抽選やコンテストを行う場合は、NIST Randomness Beaconや透明性のある抽選のような検証可能な公開乱数源を検討してください。ブラウザベースの選択は事後に独立して監査できないためです。
乱数とサイコロを振ることの違いは何ですか?
仕組み上、サイコロを振ることは固定された範囲内のランダムな整数にすぎません——d6は1〜6のランダムな数、d20は1〜20です。違いは<strong>物理的なサイコロには既知の欠陥がある</strong>ことです——不完全な製造、摩耗した面、表面のテクスチャが数千回の投擲にわたって結果をわずかに偏らせます。ソフトウェアのサイコロはその範囲内で数学的に偏りがありません。テーブルトップゲームでは実用上の差は無視できます。統計シミュレーションでは、ソフトウェアのサイコロの方が信頼性が高いです。