Étape 1: Entropie génération aperçu--d'où proviennent les nombres aléatoires
De nombreux systèmes d’exploitation maintenir une source de nombres aléatoires, appelés un «entropie». Ces chiffres sont vraiment aléatoires, pas Pseudo-aléatoire. Un processus dédié à la collecte d’entropie lentement remplit la piscine en enregistrant l’activité du matériel qui est imprévisible. Certaines sources incluent le temps entre les traits principaux, de temps et de distance entre les mouvements de la souris, calendrier de la trajectoire d’une tête de disque dur et le bruit d’un microphone ou une caméra vidéo. Toute cette activité est mélangée et filtrée pour produire un nombre réellement aléatoire qui est ajouté à la piscine de l’entropie pour le stockage, jusqu'à ce que consommée par n’importe quel programme qui nécessite des nombres réellement aléatoires. Les nombres aléatoires peuvent être consommés et utilisés directement à partir de la piscine, mais cela peut être inutile. La piscine est une ressource limitée qui est lente à recharger. Si tous les nombres dans la piscine sont consommés ensuite les demandes suivantes seront obligés d’arrêter et attendre d’entropie collecte des recharges de processus du pool. Pour conserver la piscine quelques chiffres peuvent être pris et utilisés comme une graine à une PRNG, qui peut alors générer des nombres beaucoup plus que l’entropie peut fournir. Et parce que la graine à la PRNG est vraiment aléatoire, la séquence obtenue est presque impossible à distinguer de nombres réellement aléatoires (pour la plupart des cas).
La demande de nombres réellement aléatoires sur certains systèmes est supérieure à ce qui peut fournir une entropie lente processus de collecte. Ceci a conduit à l’élaboration de matériel de génération d’entropie dédié à générer rapidement des nombres réellement aléatoires. Ces périphériques fonctionnent généralement en enregistrant le bruit thermique, électrique, ou sources radio. Il n’est pas difficile de construire un générateur d’entropie de matériel. Beaucoup d'entre eux sont assez simples, mais l’un que j’ai construit ici, qui repose sur une souris optique et les lumières de Noël bulle, n’est pas l’un d’eux. Il n’est pas aussi rapide, mais il ressemble beaucoup monté dans un rack de serveurs.