ArduinoはHRNG(ハードウェア乱数ジェネレーター)の作成に最適ですか?


21

エントロピーの複数のソース(結合)を利用するハードウェア乱数ジェネレーターの設計をまとめています。

  • 周囲光
  • アンビエントサウンド(およびサウンドレベル)
  • 周りの派遣社員
  • 周囲湿度
  • デバイス自体の位置(上下逆さま、左傾斜、右タイトルなど)
  • 将来の他のソース、場合によってはGPSデータ(2人のユーザーが隣り合っている可能性があるため、可能であれば、それらを知っている場合はおそらく決定論的です)

私のアイデアは、USBドライブへの書き込みを続けながら、人々が日中持ち歩くことができるエントロピープール「充電器」を作成することです。

数時間後に、ユーザーはPCにプラグインして使用できる〜4GBのエントロピープールを手に入れることができます。私は、光または放射性崩壊に基づいた本当に高価なQRNGを買う余裕はないので、もっと安価なものを考えています。

あなたの意見では、Arduinoはこれをプロトタイプ化するための最良の選択ですか?そうでない場合、何をお勧めしますか?

回答:


22

buszが示唆する道を行きたくなると思います。「ダイオードノイズ」の概念を検索します。ダイオードとトランジスタのPN接合は、ほぼ完全なガウスホワイトノイズを生成する可能性があります。サンプリングは、どの環境ソースよりも優れたエントロピーのソースである必要があります。

ほとんどの環境/周囲データの問題は、値が時間の経過とともにあまり変化しないことです。温度、湿度、光、音はすべて、非常に強いモードでの変動が1桁未満です。動きを測定するための加速度計は、人に装着されている場合、変動の良い原因になる可能性がありますが、人間の動きに存在する通常の振動モードを除去するには、信号処理を少し行う必要があります。周囲の光と音源は、高密度の都市空間に配置された場合、かなり高い変動性を持つ可能性がありますが、繰り返しになると思います。


8

アンビエントエントロピーソースを必要としないHRNGの興味深い回路がいくつかあります:http ://www.cryogenius.com/hardware/rng/ http://robseward.com/itp/adv_tech/random_generator/ など...

これらの回路のいずれかをArduinoシールドに適合させることは間違いなく可能です。Arduinoは、HRNGとPCの間のゲートウェイとして機能します。

周囲のエントロピー入力が本当に必要な場合、arduinoには6つのアナログ入力チャンネルがあるため、考えられるほぼすべてのセンサーを読み取り、データをランダムシードのソースとして使用できます


6

2つのコメント:

  1. Bruce SchneierのYarrow PRNGアルゴリズムを調べてください。主なポイントは、「真の」ランダム情報の本当にひどいソースを持つことができるということです。十分な時間をかけて蓄積する限り、結果の不確実性をソフトウェアの擬似乱数生成技術と組み合わせて、適切な乱数を生成できます。

  2. 一方、私は他のほとんどの回答者に同意しなければなりません。環境センサーからのゆっくり変化する信号はエントロピーの粗悪なソースであり、簡単に影響を受ける可能性があります。固有のデバイスノイズに基づいたものを使用していることを確認してください。環境の変化に影響されません。


6

私はこの乱数ジェネレーターを見つけました:

砂時計乱数ジェネレーターhttp://makezineblog.files.wordpress.com/2009/12/usbsand.jpg?w=600&h=703

以上にメイク:ブログ、あなたが興味があるかもしれないと思いました。


「USB砂時計乱数ジェネレーター」について言及していますか?
davidcary

はい、それでした。元のリンクは、comcastのホームページへのリンクでしたが、現在は存在しません。ありがとう。リンクを修正しました。
アモス

3

上記の2つの回答に同意します。人間の活動と周囲の測定値は、ひどいランダムなプールになります。しかし、それを試して、結果のランダム性を自分で確認することによってのみ、これを確信するように聞こえます。それはあなたにとって素晴らしい学習体験になるでしょう!

Arduinoはこのアプリケーションに適しています。興味のあるセンサーはすべてArduinoに接続でき、それらのセンサーで利用可能なArduinoライブラリがあります。

Arduinoへのセンサーの接続に関する次のチュートリアルをご覧くださいhttp : //www.ladyada.net/learn/sensors/



3

アナログ音楽シンセサイザーの多くのホワイトノイズジェネレーター(ムーグとArp)は、トランジスタを雪崩します。Minimoog回路図またはARP4027をオンラインで照会すると、回路図が見つかります。

ARP4027のPCBレイアウトを行いました。回路図が見つからない場合は、私にメールを送ってください。

ナショナルはデジタル乱数ジェネレーターMM5437を作成しました。IIRCでは、これを行うAT-tiny向けのプログラムがいくつかありました。楽しい小さなプロジェクトかもしれません。


2

最近、抵抗を使用してランダムノイズを生成する非常に興味深い議論を読みました。量子効果により、抵抗は非常に小さな電圧を生成します。これをオペアンプで増幅して、ランダムノイズの高品質ソースを生成できます。


2

センサー入力を擬似乱数ジェネレーターのシードとして使用できます。Linux OSは、キーボード/マウスからの入力を/ dev / randomのシードとして使用します。ただのアイデア。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.