Aller au contenu principal

3.3. Ring Oscillator Sources (Sources à oscillateur en anneau)

3.3. Ring Oscillator Sources (Sources à oscillateur en anneau)

Si un circuit intégré est en cours de conception ou programmé sur site, un nombre impair de portes peut être connecté en série pour produire un oscillateur en anneau en roue libre. En échantillonnant un point dans l'anneau à une fréquence fixe (par exemple, une déterminée par un oscillateur à cristal stable), une certaine quantité d'entropie peut être extraite en raison de variations dans le timing de l'oscillateur en roue libre. Il est possible d'augmenter le taux d'entropie en effectuant un XOR sur les valeurs échantillonnées de quelques oscillateurs en anneau avec des longueurs relativement premières. Il est parfois recommandé d'utiliser un nombre impair d'anneaux de sorte que, même si les anneaux deviennent synchroniquement verrouillés les uns aux autres, il y aura encore des transitions de bits échantillonnées. Une autre source possible à échantillonner est la sortie d'une diode bruyante.

Les bits échantillonnés de telles sources devront être fortement corrigés du biais, tout comme les timings de rotation de disque doivent l'être (voir Section 4). Une étude d'ingénierie serait nécessaire pour déterminer la quantité d'entropie produite en fonction de la conception particulière. Dans tous les cas, ce peuvent être de bonnes sources dont le coût est une quantité triviale de matériel selon les normes modernes.

À titre d'exemple, IEEE 802.11i suggère le circuit ci-dessous, avec une attention appropriée dans la conception à l'isolation des anneaux les uns des autres et des circuits cadencés pour éviter la synchronisation indésirable, etc., et avec un post-traitement extensif [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 ---------+