組み込み Linux システムの /dev/random デバイスのエントロピー プールに追加したいノイズを生成するデバイスがあります。
/dev/randomの man ページを読んでいますが、RNDADDENTROPY ioctl 呼び出しに渡す構造がよくわかりません。
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.
この構造にはentropy_count
、追加するビット数がありますか? これが常にそうではないのはなぜですか(バイト単位であるとbuf_size * 8
仮定して)?buf_size
さらに、buf
サイズがゼロの配列はなぜですか? それに値を割り当てるにはどうすればよいですか?
ここで助けてくれてありがとう!