メインコンテンツまでスキップ

3.3. Ring Oscillator Sources (リング発振器ソース)

3.3. Ring Oscillator Sources (リング発振器ソース)

集積回路が設計またはフィールドプログラムされている場合, 奇数のゲートを直列に接続して自由動作リング発振器を生成できます。固定周波数 (たとえば, 安定したクリスタル発振器によって決定される周波数) でリング内のポイントをサンプリングすることにより, 自由動作発振器のタイミングの変動によりある程度のエントロピーを抽出できます。比較的素な長さのいくつかのリング発振器からサンプリングされた値を XOR することにより, エントロピーの速度を増加させることができます。リングが何らかの形で互いに同期的にロックされた場合でも, サンプリングされたビット遷移がまだ存在するように, 奇数のリングを使用することが推奨されることがあります。サンプリングするもう 1 つの可能なソースは, ノイズダイオードの出力です。

このようなソースからサンプリングされたビットは, ディスク回転タイミングと同様に, 大幅にスキュー除去する必要があります (セクション 4 を参照)。特定の設計に応じて生成されるエントロピーの量を決定するには, エンジニアリング研究が必要です。いずれにせよ, これらは現代の基準によって些細な量のハードウェアでコストがかかる良好なソースになる可能性があります。

例として, IEEE 802.11i は以下の回路を提案しています。リングの互いからの分離およびクロックされた回路からの分離に設計上の適切な注意を払って望ましくない同期などを回避し, 広範な後処理を行います [IEEE_802.11i]。

         |\     |\                |\
+-->| >0-->| >0-- 19 total --| >0--+-------+
| |/ |/ |/ | |
| | |
+----------------------------------+ V
+-----+
|\ |\ |\ | | output
+-->| >0-->| >0-- 23 total --| >0--+--->| XOR |------>
| |/ |/ |/ | | |
| | +-----+
+----------------------------------+ ^ ^
| |
|\ |\ |\ | |
+-->| >0-->| >0-- 29 total --| >0--+------+ |
| |/ |/ |/ | |
| | |
+----------------------------------+ |
|
Other randomness, if available ---------+