Re: /dev/random for FreeBSD [was: Re: /dev/random for Linux]
Theodore Ts'o writes... >Yes, ultimately what you need is a good hardware number generator. ... >I'm not entirely comfortable with the proposal of using air flow >turbulance [sic] from a hard drive ... Two important observations about the use of a disk drive to get randomness: 1. In the case of some workstations, the local network provides the disk drive and there isn't a local hard drive at all. Hence, any timing of disk accesses will give you data that is influenced by the file server more than the disk drive. 2. When doing time domain measurements (Hewlett Packard had some good application notes on this subject), you must consider base clock jitter. Ill try to illustrate with a diagram: actual event: V V clock granularity: /...../...../...../...../...../...../ the problem is that no matter how small the basic clock unit is (symbolized by "/", above), you can't be sure how much of that unit has passed when the event (symbolized by "V", above) occurs. For example, on the original IBM PC, clock interrupts occurred about 18.2 times per second (55ms interval). In that architecture, you can't time an event and have an uncertainty of less than 2 times 55ms If you propose using a special hardware random generator, you have a different set of problems: 1. You need to buy and install hardware on many different platforms -- you don't always have access to do that. 2. Many earlier posts on this subject pointed out that removing bias was important. In that case, you need to continuously test and recertify the hardware random generator for randomness. In order to do that, you need to have so much knowledge about generating and testing random numbers in software that you might as well use a software solution in the first place. Good luck
participants (1)
-
Martin Diehl