J'ai un périphérique qui génère du bruit que je veux ajouter au pool d'entropie pour le périphérique /dev/random dans un système Linux embarqué.
Je suis en train de lire le page de manuel sur /dev/random et je ne comprends pas vraiment la structure que vous passez dans l'appel ioctl RNDADDENTROPY.
RNDADDENTROPY
Add some additional entropy to the input pool, incrementing
the entropy count. This differs from writing to /dev/random
or /dev/urandom, which only adds some data but does not
increment the entropy count. The following structure is used:
struct rand_pool_info {
int entropy_count;
int buf_size;
__u32 buf[0];
};
Here entropy_count is the value added to (or subtracted from)
the entropy count, and buf is the buffer of size buf_size
which gets added to the entropy pool.
Est entropy_count
dans cette structure le nombre de bits que j'ajoute ? Pourquoi cela ne serait-il pas toujours buf_size * 8
(en supposant que buf_size
est en termes d'octets) ?
De plus, pourquoi buf
un tableau de taille nulle ? Comment suis-je censé lui attribuer une valeur ?
Merci pour toute aide !