Randomness Extractorの実装に関する現在の研究はありますか?


20

ランダム抽出ツールの構築の実装に関する研究はありますか?

抽出プルーフはBig-Ohを利用して、大きな隠された定数の可能性を残し、プログラムによる実装を潜在的に非現実的にするようです。

コンテキスト:モンテカルロシミュレーションで使用する(おそらく?)乱数の高速ソースとして乱数抽出器を使用することに興味があります。私たち(ETHZ計算物理学グループ)は、ランダム性を抽出したい量子乱数ジェネレーターからの高エントロピーソースにバイアスをかけています。以前の学生は、トレビザンの構造を実装しようとし、空間的な複雑さの問題に遭遇しました。その学生は別として、エクストラクターを実装しようとしている人々への言及は見つかりませんでした。

注:私はCS学部生で、理論CSおよびランダムネス抽出の分野に初めて参加します。


:あなたはまた、私の質問の興味深いへarnabの答えを見つけるかもしれないcstheory.stackexchange.com/questions/36/...
スレシュヴェンカト

回答:


19

抽出器に関する文献の多くは、シードの長さを最小化することに関するものであり、これはランダム化解除アプリケーションにとって重要です。しかし、それはあなたにとって重要ではないかもしれません。また、文献では、比較的大きな誤差(たとえば、1/100)に焦点を当てていることが多く、これはデランダム化には適していますが、指数関数的に小さな誤差を必要とする他の設定では問題になる場合があります。

あなたの設定では、(例えばコインを投げることによって)一度だけすべてのランダムシードを生成し、それを使用して抽出しても構いません。この場合、かなり効率的な実装を持つペアワイズ独立ハッシュ関数を使用できます。この問題について、ShaltielとTromerと一緒に論文を書きました。また、ほとんど独立したハッシュ関数を使用できる場合があります。これは、より効率的で、より小さなシードを持つことができます。(これに関するいくつかの作業がありますが、それらの効率的な実装のための良いリファレンスを知らないでください。)

独立した複数のソースがある場合、より良いことを行うことができます。エントロピー率が50%を超える場合、従来のアダマール抽出器が機能します(これは上記の調査で言及する必要があります)。エントロピーが50%より小さい場合、ImpagliazzoおよびWigdersonを使用した1つの単純な構造がありました。ソース数と達成されるエラーのエントロピー率への依存は理想的ではありませんが、それを本当に理解するには、今日の最先端の和積定理によって与えられる正確な限界を調べる必要があります。(そして、特定の数の理論的推測を引き受けたい場合は、さらに効率的な抽出を行うことができます。)この構造は、さまざまな方法で大幅に改善されており、その一部はアプリケーションに関連します。Anup Raoの論文


よく書かれた応答/概要をありがとう。ShaltielとTromerが書いたTRNGペーパーを参照しました。とても有望に見えます。論文の引用されたリンク(people.csail.mit.edu/tromer/trng)に情報が含まれていないため、論文のWebページ(および実装コード)がどこでも利用できるかどうか疑問に思っていました。
フィリップメイト

6

まず、Wikipedia の関連トピックを参照してください。次に、次の論文をご覧ください。

Ronen Shaltielによる抽出器の明示的構造の最近の開発

このペーパーは調査の形式で書かれており、「最近の開発」を見つけるのに役立ちます。

最後に、必要なのがランダムに「見える」ビットのシーケンスだけである場合(ただし、必ずしも暗号的に安全ではない)、ハッシュ関数(MD5やSHA-1など)を高エントロピーソースに適用して、すぐに優れた結果(物理実験用)。


1
ハッシュの提案とリンクをありがとう。リンクには、エクストラクターを実装しようとする人々の言及はありませんでした。私はこれが試みられているかどうかについて非常に興味があります。私が読んだほとんどのエクストラクタの論文では、エクストラクタの実用的なアプリケーションについて言及していますが、実装の試みについては言及していません。ハッシュ関数を避けた理由は、それらが証明可能なほどランダムではないということです。これは、擬似RNGが不正確な結果を生成することがあるため、MCシミュレーションの分野で非常に便利です[ref:prl。 aps.org/abstract/PRL/v69/i23/p3382_1 ]
フィリップメイト

4

Dodis、Gennaroなどによる素晴らしい論文もあります。抽出に使用できる実用的な暗号プリミティブを考慮しています。彼らは、ハッシュ関数が適切な抽出器として知られていないことを示していますが、CBC-MACモードでのブロック暗号化は(ある程度細かい印刷があれば)可能です。また、HMACの構築も考慮します。標準の暗号化ライブラリを使用できるため、このアプローチは実装に適しています。

CBC-MACの場合、「細字」はおおよそ次のとおりです。

  • ブロック暗号が擬似ランダム順列であると仮定します
  • 再利用可能な真にランダムな(必ずしも秘密ではない)キーでキーを設定する必要があります
  • 出力がmビットの場合、入力には少なくとも2mビットの最小エントロピーが必要です。
  • ブロック長とキー長は同じである必要があります(したがって、AESを使用している場合、AES-128のみが機能します)
  • 入力長は制限されていますが、制限が高くなっています

3

暗号化擬似乱数ジェネレーターの場合は、HKDFを調べることもできます。で彼らは概念的および実質的にランダム抽出を議論し、素敵な参照を与えます。

モンテカルロのランダム性を生成するための補足として、もちろんHAVEGEがあります。ビット速度と「証明可能性」が十分であれば、量子ジェネレーターをいじる必要はありません。

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