3.3. Ring Oscillator Sources (Ringoszillator-Quellen)
3.3. Ring Oscillator Sources (Ringoszillator-Quellen)
Wenn eine integrierte Schaltung entworfen oder feldprogrammiert wird, kann eine ungerade Anzahl von Gattern in Reihe geschaltet werden, um einen frei laufenden Ringoszillator zu erzeugen. Durch das Abtasten eines Punktes im Ring mit einer festen Frequenz (z.B. einer, die durch einen stabilen Kristalloszillator bestimmt wird), kann eine gewisse Menge an Entropie aufgrund von Variationen im Timing des frei laufenden Oszillators extrahiert werden. Es ist möglich, die Entropierate zu erhöhen, indem abgetastete Werte von einigen Ringoszillatoren mit relativ primen Längen XOR-verknüpft werden. Es wird manchmal empfohlen, dass eine ungerade Anzahl von Ringen verwendet wird, sodass, selbst wenn die Ringe irgendwie synchron miteinander verriegelt werden, immer noch abgetastete Bit-Übergänge vorhanden sein werden. Eine weitere mögliche zu sampelnde Quelle ist die Ausgabe einer rauschenden Diode.
Abgetastete Bits aus solchen Quellen müssen stark entzerrt werden, wie es auch bei Festplattenrotations-Timings der Fall sein muss (siehe Abschnitt 4). Eine technische Studie wäre erforderlich, um die Menge der erzeugten Entropie in Abhängigkeit vom jeweiligen Design zu bestimmen. In jedem Fall können dies gute Quellen sein, deren Kosten nach modernen Standards eine triviale Menge an Hardware darstellen.
Als Beispiel schlägt IEEE 802.11i die untenstehende Schaltung vor, mit gebührender Aufmerksamkeit im Design auf die Isolation der Ringe voneinander und von getakteten Schaltungen, um unerwünschte Synchronisation usw. zu vermeiden, und mit umfangreicher Nachbearbeitung [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 ---------+