Skip to main content
QUICK REVIEW

[論文レビュー] Randen - fast backtracking-resistant random generator with AES+Feistel+Reverie

Jan Wassenberg, Robert Obryk|arXiv (Cornell University)|Oct 4, 2018
Chaos-based Image/Signal Encryption参考文献 23被引用数 5
ひとこと要約

Randen は、AES、16 分岐の一般化されたフェイステル構造、およびレヴァリューム型スponge 構造を組み合わせた高速でバックトラッキング耐性のある擬似乱数生成器である。計算量的にランダムと区別できないだけでなく、状態漏洩に対しても耐性があり、Mersenne Twister や PCG、ChaCha8、ISAAC、Philox よりも実世界のベンチマークで優れた性能を発揮する。このため、暗号的でないアプリケーションにおける安全で高性能な代替ソリューションとして適している。

ABSTRACT

Algorithms that rely on a pseudorandom number generator often lose their performance guarantees when adversaries can predict the behavior of the generator. To protect non-cryptographic applications against such attacks, we propose 'strong' pseudorandom generators characterized by two properties: computationally indistinguishable from random and backtracking-resistant. Some existing cryptographically secure generators also meet these criteria, but they are too slow to be accepted for general-purpose use. We introduce a new open-sourced generator called 'Randen' and show that it is 'strong' in addition to outperforming Mersenne Twister, PCG, ChaCha8, ISAAC and Philox in real-world benchmarks. This is made possible by hardware acceleration. Randen is an instantiation of Reverie, a recently published robust sponge-like random generator, with a new permutation built from an improved generalized Feistel structure with 16 branches. We provide new bounds on active s-boxes for up to 24 rounds of this construction, made possible by a memory-efficient search algorithm. Replacing existing generators with Randen can protect randomized algorithms such as reservoir sampling from attack. The permutation may also be useful for wide-block ciphers and hashing functions.

研究の動機と目的

  • 計算量的にランダムと区別できないだけでなく、バックトラッキング耐性を持つ擬似乱数生成器を設計すること。これは暗号的でない文脈においても成立する。
  • 一般用途のアプリケーションにおいて暗号的セキュリティを備えた生成器の性能ボトルネックを、ハードウェア加速された AES を活用することで克服すること。
  • Mersenne Twister や PCG のような広く使われているが形式的なセキュリティ保証のない生成器の代替として、安全な選択肢を提供すること。
  • 最適化された置換設計とハードウェア利用により、高セキュリティな PRNG が既存の非暗号的生成器よりも高速に動作することを示すこと。
  • 敵が過去の出力を予測または再構築できないようにすることで、リザーバワースアーカイブなどのランダムアルゴリズムの安全な展開を可能にすること。

提案手法

  • Randen は、新しい 16 分岐の一般化されたフェイステル置換を用いて、効率的な状態混合を実現するレヴァリューム型スponge 構造に基づく擬似乱数生成器の実装である。
  • この置換は、AES をベースとしたラウンド関数で構成され、AES-NI 機能を備えた現代の CPU において低遅延かつ高スループットで実行可能であるように最適化されている。
  • メモリ効率の良い探索アルゴリズムを用いて、最大 24 ラウンドまでにわたるアクティブな S ボックスの上限を導出しており、強力な拡散特性を保証している。
  • 生成器は設計上、バックトラッキング耐性を備えており、現在の状態が漏洩しても過去の出力を再構築できない。
  • AES-NI を用いたハードウェア加速により、ChaCha8 や Philox ようなソフトウェアオンリー生成器を上回る性能を発揮している。これは、より強固なセキュリティ保証にもかかわらず成り立つ。
  • 生成器は決定論的かつ再シード不要であり、再現性とデバッグを可能にするとともに、フォワード秘密性を維持している。

実験結果

リサーチクエスチョン

  • RQ1計算量的にランダムと区別できないだけでなく、バックトラッキング耐性を持つ擬似乱数生成器が、性能を犠牲にすることなく実現可能か?
  • RQ2Mersenne Twister や PCG ような既存の非暗号的生成器よりも高速であるが、暗号的に強い PRNG を構築することは可能か?
  • RQ3レヴァリューム型構造(Reverie)をフェイステルに基づく置換で効率的に実装することで、高スループットと強固なセキュリティを両立できるか?
  • RQ424 ラウンドにわたる 16 分岐の一般化フェイステル構造におけるアクティブな S ボックスのタイトな上限は何か? そして、それらがセキュリティに与える影響は?
  • RQ5ハードウェア加速された AES を活用することで、一般用途の生産システムにおける実用的で安全な PRNG を構築することは可能か?

主な発見

  • x86 および POWER8 プラットフォームの両方で、Randen は Mersenne Twister より 1.1~1.4 倍高速であり、x86 では幾何平均で 1.1 倍、PPC でも 1.1 倍のスピードアップを達成した。
  • POWER8 では PCG より 1.1 倍高速であり、x86 ではモンテカルロ シミュレーションにおいて 1.2 倍高速であったが、マイクロベンチマークでは PCG が速いとされていた。
  • x86 では Philox より 2.3 倍、POWER8 では 3.4 倍高速であり、x86 では ISAAC より 2.0 倍、POWER8 では 2.5 倍高速であった。
  • x86 では ChaCha8 より 2.1 倍、ChaCha20 より 7.8 倍高速であり、CTR-DRBG よりも x86 で 9.3 倍のスピードアップを達成した。
  • AES をベースとした新しい 16 分岐フェイステル置換は、強力な拡散を実現しており、最大 24 ラウンドまでにわたるアクティブ S ボックスの上限を、メモリ効率の良い探索アルゴリズムにより導出した。
  • Randen は、実世界のワークロードにおいて Mersenne Twister よりも高速であり、かつバックトラッキング耐性を持つソフトウェア PRNG として初めて実証された。このため、非暗号的応用分野における不安全な生成器の代替として実用的である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。