frandom is a Linux kernel module, which implements a fast random number generator (RNG). It is the character driver of /dev/frandom, working like /dev/urandom, only 10-50 times faster (depending on platform)
Amazingly fast random number generator. Great for all sorts of (non-crypto) applications that need rapid streams of random data.
This version has been adapted to kernels v2.6 (mainly by updating deprecated interfaces which went away lately). Backward compatibility with older kernels remains. The frandom suite is a fast and entropy-saving alternative to Linux' /dev/urandom stream random number generator. frandom is the kernel module standing behind two devices: /dev/frandom and /dev/erandom, which both supply a stream of random data. The only difference between them is the source of data for seeding: /dev/erandom uses an internal source, thus using no kernel entropy at all, while /dev/frandom may use some entropy when (and only when) the device file is opened. Based upon the well-established RC4 encryption algorithm, the devices generate random numbers that pass all tests of the Diehard battery of tests. Depending on platform, it has been shown to generate data 10-50 times faster than /dev/urandom (more in http://frandom.sourceforge.net/). The frandom project is not crypto-oriented. Even though it may be adequate for such purposes, it was not designed in that direction, and hence no efforts have been made to assure resistance to attackers. The typical applications for frandom are similar to those of /dev/zero: When a handy source of a lot of random data is needed
Version 1.0 : Fixes against 2.6.19 Replaced deprecated MODULE_PARM with module_param for compilation of 2.6.0 kernels and up. Replaced kdev_t related and deprecated MINOR macro with iminor(inode) for 2.6.0 and up. Also removed include of config.h for 2.6.0 and up Moved the symlink of Makefile from Makefile-2.4 to Makefile-2.6 (it's about time).
The frandom suite is a fast and entropy-saving alternative to Linux' /dev/urandom stream random number generator. frandom is the kernel module standing behind two devices: /dev/frandom and /dev/erandom, which both supply a stream of random data. The only difference between them is the source of data for seeding: /dev/erandom uses an internal source, thus using no kernel entropy at all, while /dev/frandom may use some entropy when (and only when) the device file is opened. Based upon the well-established RC4 encryption algorithm, the devices generate random numbers that pass all tests of the Diehard battery of tests. Depending on platform, it has been shown to generate data 10-50 times faster than /dev/urandom (more in http://frandom.sourceforge.net/). The frandom project is not crypto-oriented. Even though it may be adequate for such purposes, it was not designed in that direction, and hence no efforts have been made to assure resistance to attackers. The typical applications for frandom are similar to those of /dev/zero: When a handy source of a lot of random data is needed.
Up to version 0.5, nothing interesting. Small cosmetic issues resulting in exactly the same. Oct 15 2003: Version 0.6: Made the Makefile for 2.4 and 2.2 work properly, using the original Rules.make Apr 6 2004: Version 0.7: Added the "economic" device /dev/erandom, which seeds new files from its own RC4-like random numbers. Weaker randomness, no entropy used at all. Apr 18 2004: Version 0.8 Created a patch version for application on the kernel source tree. Added interface for sysctl in the patch version. export-objs line added in makefile to allow the export of erandom_get_random_bytes The global random state (for erandom) is now seeded only at first read request, and not on module initialization, or in other words, as late as possible. This makes sense when the module is compiled into the kernel, and hence initialized before the boot startup scripts seeds the regular random generator, from which the initial seed is taken.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: