I have written a collection of bash scripts (most of them in German only yet but if you are interested; download the archive not the single scripts) which help users create high-quality OpenPGP keys. These scripts are typically used in a "secure" environment (Linux live CD/DVD). This leads to the problem that these systems have hardly any entropy.
For obvious reasons
gpg reads a lot of data from
/dev/random which means that my poor users (at worst those with a SSD) have to type a lot on the keyboard in order to create the required entropy.
I have written a simple script which shows the users the current size of the entropy pool (which changes quickly between 0 and 64 while
gpg reads data). I would like to also show a kind of progress bar so that the users can see that they have generated e.g. about 50% of the needed entropy. The required amount should always be (nearly) the same (until I change the key size).
So the question is: How can I (easily) measure the amount of data which has been read from
/dev/random (by a certain process or the whole system)? The only idea I had up to now is attaching
gpg and trace the
read()s from the respective file descriptor. But maybe there is a much better solution.