数学の計算機
ナンバージェネレーター


ナンバージェネレーター

乱数発生器は、範囲、繰り返し、ソートなど、ユーザーが指定したオプションに従って乱数セットを提供します。

オプション

ランダムな数字

48, 9, 49, 11, 17, 22, 16, 37, 45, 41, 4, 36, 43, 10, 28, 27, 47, 25, 21, 33

計算にエラーがありました。

目次

  1. 乱数発生器の利用について
  2. ランダム配列と非ランダム配列の違い
  3. 乱数発生器の種類
  4. Googleのジェネレーター
  5. リニアコングルーセント法
  6. 最新のハードウェア乱数発生器
    1. QRBG121
    2. ラバランプ
    3. ホットビッツ
    4. 真空の量子ゆらぎ
    5. カーボンナノチューブジェネレーター
    6. キューブと電子フロンティア財団(EFF)
    7. ノキア製スマートフォンの量子乱数発生器

ナンバージェネレーター

乱数発生器は、過去に発生した数字からパターンを定義する機能を持たず、必要な時に毎回乱数を得るプロセスである。この数値は、アルゴリズムまたはハードウェアデバイスによって生成される。

乱数発生器の利用について

乱数の生成は、コンピューターゲームから一般的なアプリケーションまで、さまざまな作業で必要とされます。例えば、ウェブサイト上にランダムなバナーや広告ユニットを表示するために、乱数発生器を使用する。また、暗号技術では、乱数を用いてユニークな暗号や鍵を作ることができる。

乱数生成は、キャプチャ、暗号化、パスワード保存用のソルト生成、パスワード生成、オンラインカジノのカードの順番、意思決定、サンプリング、シミュレーションのための数字やテキストの生成に使用されます。.

乱数発生器のアルゴリズムは、ビデオゲームによく使われています。ゲームでは同じレベルでプレイしても、ミッションをクリアしようとすると、毎回正確に同じになるわけではありません。もしかしたら、その差は場所やミッションには現れないかもしれない。それでも、迫りくる敵の数や出現するエリア、気候の変化、遭遇するさまざまな障害物などに見られるでしょう。それが、ゲームをよりエキサイティングなものにしてくれるのです。

ランダム配列と非ランダム配列の違い

数列があるとする。1 , 2 , 3 , 4 , 5. それはランダムか?

ランダム変数とは、試行の結果、ある値のうちの1つをとる変数のことです。そして、特定の値が出現する前に、その出現を正確に予測することはできない。

例えば、キーボードの一番上の列をタイプして、与えられた数字を得たとしよう。この場合、5の次に来る6が高い確率で予測できるため、この組み合わせはランダムではないことがわかる。

記号間に依存性がない場合にのみ、配列はランダムになる。

乱数発生器の原理が正しく公平であるために極めて重要な基本条件は、このシステムで落ちうるあらゆる数値の確率が絶対的に等しいことである。これは、乱数因子の完全な独立性と、その乱数の前後に他のどのような数字が出たかということの独立性を示しています。

例えば、初めて6面ダイスを振ったとする。このとき、1から6までのどの数字が出ても、同じ確率で、まったく同じになります。出た目に関係なく、2回目、100回目、1000回目と同じ確率でサイコロを振ることができる。

円周率の数字列は繰り返しがないように見え、多くの人にとってはランダムに見えるかもしれない。仮にこのジェネレーターが円周率のビット表現に依存し、非公開の点から始まるとしよう。このようなジェネレーターは、多くの文脈において予測不可能であり、ある種のランダム性テストに合格する可能性がある。しかし、暗号解読の目的でPiに依存することはリスクを伴います。もし敵が、使用されているPiの特定のセグメントを特定すれば、前後のセグメントを予測することができ、システムの安全性が損なわれる。

米国国立標準技術研究所は、"暗号アプリケーションのための乱数・擬似乱数生成器の統計的テストパッケージ"を提案しました。これは、ハードウェアまたはソフトウェア生成器によって生成されたビットのランダム性の尺度を決定することを目的とした15の統計テストを含んでいます。

乱数発生器の種類

乱数発生器(RNG)には、真の乱数発生器(TRNG)と擬似乱数発生器(PRNG)の2種類があります。 TRNGは物理現象を使用して数字を生成し、一方でPRNGは数学的アルゴリズムを使用します。

真の乱数生成器のアルゴリズムは、乱数を生成するために微小な物理的プロセス、すなわちエントロピーを利用するハードウェアデバイスで作成されます。エントロピーとは、純粋で、フィルターを通さないカオスのことです。

真の乱数発生器は、次のような物理現象を利用しています。

  • 放射能
  • 熱雑音
  • 電磁波ノイズ
  • 量子力学など。

真のRNGは、世界中のセキュリティ重視のシステムや、ある種の暗号化で一般的に使用されている。

乱数発生器はエントロピー源を用いてエントロピーを蓄積し、乱数発生器に必要な初期値(シード)を得る。

擬似乱数生成器アルゴリズムは、セキュリティ上の懸念がない領域で使用される。ランダム性を持たせることで、繰り返しを避け、エンドユーザーにとって魅力的な処理にすることができます。疑似乱数生成器の技術の実装は、ハードウェアを必要とせず、プログラムコードに容易に組み込むことができるため、安価で高速に行うことができる。完全なランダム処理ではなく、アルゴリズムに基づき決定されるが、ゲームやプログラムなどに適している。

PRNGは単一の初期値を用い、そこから擬似的な乱数性が導かれる。同時に、真の乱数生成器は、様々なエントロピーの源によって最初に高品質の乱数値を提供させることによって常に乱数を生成する。

疑似乱数生成には欠点がある。素人目にはランダムだからうまくいくのだ。しかし、ある特定のPRNG列の初期値を知っていたとしよう。その場合、次にどの数字が来るかを予測することができる。

スピード勝負のビデオゲーム愛好家たちは、この脆弱性を利用することが多いのです。PRNGの操作と呼ばれるもので、ゲームの進行を予測できるようにし、できるだけ早くゲームをクリアできるようにするのです。幸いなことに、これは致命的な問題ではありません。

しかし、乱数を予測することがもっと重要な場合がある。例えば、セキュリティキーの作成時です。

もし、攻撃者がTLS証明書のRSA鍵の作成に使われる初期値を割り出したら、ネットワークトラフィックを解読される可能性があります。つまり、インターネット上で送信されるパスワードやその他の個人情報を入手することができるのです。

このような状況では、より安全な乱数の取得方法、すなわち真の乱数発生器が必要となる。

Googleのジェネレーター

Googleは、JavaScriptをベースにした乱数生成ツールを独自に開発しています。このツールは、友人や家族とゲームをするときに便利です。Googleの検索クエリに "乱数発生器" と入力すると、このジェネレータを見つけることができます。

リニアコングルーセント法

擬似乱数生成器の代表的なアルゴリズムに「線形合同法」がある。単純なケースで使われ、暗号的な強度はない。デリック・ヘンリー・レーマーは1949年に線形合同法を提案した。

この方法による数の生成を実装するためには、4つの数を選ぶ必要がある。

m > 0, モジュロ

0 ≤ a ≤ m, 乗算器

0 ≤ c ≤ m, 増分値

0 ≤ X₀ ≤ m, 最初の数

乱数列そのものは、数式で生成される。

Xₙ₊₁ = (aXₙ + c) mod m

この方法は、パラメータの選択に依存することは注目に値する。

例えば、次のような集合の場合。

X₀ = 3, a = 4, c = 5, m = 6

の短い繰り返し配列が得られます。

3, 5, 1, 3, 5, 1

というのは、ランダムには見えません。

でも、パラメータを別のものに変えてみる価値はありますね。

X₀ = 2, a = 85, c = 507, m = 1356

そして、結果の散らばりがより予測不可能になる。このアルゴリズムに使う数字は、特に注意して選ぶ必要があります。 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365...

線形合同法は統計的に良い擬似乱数列を生成しますが、暗号学的に堅牢ではありません。線形合同法に基づく生成器は予測可能であるため、暗号に使うことはできない。

線形合同法の生成器は、1977年にJim Reedsによって初めてクラックされ、その後1982年にJoan Boyarによってクラックされた。彼女は2次、3次生成器も破ることに成功した。このように、合同法に基づく生成器は暗号に使えないことが証明された。しかし、線形合同法に基づく生成器は、暗号以外の用途、例えばシミュレーションなどでは有用性を保っている。それらは効率的であり、ほとんどの経験的テストにおいて良好な統計的性能を示している。

最新のハードウェア乱数発生器

QRBG121

デバイスにおけるランダム性の効果は、半導体における光子の発光と、その後の個々の光子の検出という量子物理学的プロセスに依存する。この過程では、光子は互いに独立にランダムに検出され、検出された光子のタイミング情報を用いてビットが生成される。

ラバランプ

CloudFlareのサンフランシスコオフィスには、「ラバランプ」と呼ばれる乱数発生器が置かれている。このようなランプは、ガラスの容器に透明な油と半透明のパラフィンを入れたものだ。パラフィンはオイルより少し重いのですが、少し熱を加えると軽くなり、浮き上がってきます。

液体の動きは、複数のカメラでスナップショットを撮って監視しています。そのスナップショットを数値に変換し、そこから暗号鍵を生成している。

CloudFlareの他の2つのオフィスでは、ランダムな値を得るために異なる方法を用いています。ロンドンでは、3つのカオス的な振り子の動きをカメラで撮影しています。シンガポールでは、小さなウランの放射性崩壊を測定するガイガーカウンターが使用されています。後者の場合、ウランを「データソース」として使用する。なぜなら、放射性物質は崩壊するたびにランダムな動きをすることが特徴だからだ。

ホットビッツ

ホットビッツは、電離放射線を登録するガイガーカウンターで生成された真の乱数を、誰にでも提供するサイトです。サイト上のリクエストフォームに乱数のバイト数を指定し、希望する入手方法を選択します。乱数は顧客に提供された後、直ちにシステムから削除されます。

真空の量子ゆらぎ

真空はその名前("vacuus"-empty)とは裏腹に、空であると考えることはできない。ハイゼンベルクの不確定性原理のもと、仮想粒子は絶え間なく生まれては死んでいるのだ。

カナダの物理学者は、真空の揺らぎを利用した高速で構造的に単純な乱数発生器を設計した。この発生装置は、高周波のパルスレーザー、高屈折率の媒質(ダイヤモンド)、検出器から構成されている。ダイヤモンドを通過したセンサー上の各パルスは、光子の経路で遭遇する真空磁場の揺らぎによって異なる特性を示す。

散乱された放射線のスペクトルには、スペクトル線が現れる。真空の揺らぎは予測不可能であるため、これらの線は毎回予測不可能な方法で異なっている。

カーボンナノチューブジェネレーター

この方法は、小型化と発生する熱雑音を両立させるものである。

研究チームは、半導体カーボンナノチューブを含む特殊なインクで印刷した静的ランダムアクセスメモリセルから乱数発生器を作製した。このメモリセルは、熱雑音の揺らぎを利用してランダムビットを生成する。

このカーボンナノチューブ生成器は、柔軟なプラスチック基板に印刷することができるため、小型で柔軟な電子機器、ウェアラブルセンサー、使い捨てラベル、スマート衣料品などに組み込むことができる。

キューブと電子フロンティア財団(EFF)

物理的な乱数発生器を用いて、安全なパスワードを簡単に作成する方法を提案しています。それは、サイコロを使ったものです。

例えば、一度に5個のサイコロを振って、出た目の数字を書き留める。サイコロは左から右へ次のように並んでいる。63131. 次に、EFFのホームページで長い単語のリストを開き、63131の隣にある対応する単語を探します。それが "ターボファン "である。

この手順を何度か繰り返すことができます。例えば、5回。たとえば5回。例えば、"ターボファンパージアフタープルーニングトライ剪定"(ターボファンパージ、不適合、刈り込み)とします。ニーモニックのルールを知っていれば、このようなフレーズを暗記することができます。

ノキア製スマートフォンの量子乱数発生器

2014年、ジュネーブ大学は、スマートフォン「Nokia N9」のカメラを利用したQRNGデバイスを作成した。

スマートフォンのカメラは、各ピクセルに当たる光子の数を数えました。光源は標準的なLEDを使用しました。8MPカメラの各ピクセルは、短時間に約400個のフォトンを検出した。そして、全画素における光子の総数を、乱数列に変換した。