GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Quelles sources d'entropie sont utilisées par le noyau Linux ?

man 4 random a une description très vague des sources d'entropie du noyau Linux :

Le générateur de nombres aléatoires rassemble le bruit environnemental des pilotes de périphériques et d'autres sources dans un pool d'entropie.

Les transferts d'entropie papier dans le générateur de nombres aléatoires Linux ne sont pas non plus beaucoup plus spécifiques. Il répertorie :

  • add_disk_randomness() ,
  • add_input_randomness() , et
  • add_interrupt_randomness() .

Ces fonctions proviennent de random.c , qui comprend le commentaire suivant :

Les sources d'aléa de l'environnement incluent les temporisations inter-claviers, les temporisations inter-interruptions de certaines interruptions et d'autres
événements qui sont à la fois (a) non déterministes et (b) difficiles pour un
observateur extérieur sur mesure.

Plus bas, il y a une fonction add_hwgenerator_randomness(...) indiquant la prise en charge des générateurs de nombres aléatoires matériels.

Toutes ces informations sont plutôt vagues (ou, dans le cas du code source, nécessitent une connaissance approfondie du noyau Linux pour être comprises). Quelles sont les sources d'entropie réelles utilisées et le noyau Linux prend-il en charge des générateurs de nombres aléatoires matériels prêts à l'emploi ?

Réponse acceptée :

La plupart des matériels informatiques de base ont un générateur de nombres aléatoires de nos jours. VIA Semiconductor les a mis dans ses processeurs pendant de nombreuses années; le noyau Linux a le pilote via-rng pour cela. Je compte 34 modules source dans le drivers/char/hw_random/ répertoire dans l'arborescence source la plus récente, y compris les pilotes pour le matériel Intel et AMD, et pour les systèmes dotés d'un périphérique TPM. Vous pouvez exécuter le démon rng (rngd) pour envoyer des données aléatoires au pool d'entropie du noyau.


Linux
  1. Linux - Quelles sont les différentes façons de définir les autorisations de fichiers, etc. sur Gnu/linux ?

  2. Linux – Quelles sont les valeurs de la propriété Device Tree Interrupts ?

  3. Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

  4. Quels sont les différents types de shells sous Linux ?

  5. Quelle est la source actuelle du noyau Linux ?

Quelle est la différence entre les noyaux macOS et Linux

Qu'est-ce que le Shell sous Linux ?

Quels sont les inconvénients des files d'attente de messages de Linux ?

Comment puis-je voir quelles sont mes commandes linux les plus utilisées ?

Quel est l'avantage de compiler votre propre noyau Linux ?

Qu'est-ce que la mémoire haute et la mémoire basse sous Linux ?