Provided by: libdata-entropy-perl_0.007-4_all bug

NAME

       Data::Entropy::RawSource::Local - read randomness from local device

SYNOPSIS

               use Data::Entropy::RawSource::Local;

               my $rawsrc = Data::Entropy::RawSource::Local->new;

               $rawsrc->sysread($c, 1);
               # and the rest of the I/O handle interface

DESCRIPTION

       This class provides a constructor to open an I/O handle connected to a local source of
       random octets.  This may be a strong entropy source, depending on the OS, but not every OS
       has such a facility at all.

       There are no actual objects blessed into this class.  Only the constructor belongs to this
       class; it returns "IO::File" objects.  For use as a general entropy source, it is
       recommended to wrap the handle using "Data::Entropy::Source", which provides methods to
       extract entropy in more convenient forms than mere octets.

       On systems with a blocking /dev/random, such as Linux, the bits generated can be totally
       unbiased and uncorrelated.  Such an entropy stream is suitable for all uses, including
       security applications.  However, the rate of entropy generation is limited, so
       applications requiring a large amount of apparently-random data might prefer to fake it
       cryptographically (see Data::Entropy::RawSource::CryptCounter).

       On systems where /dev/random does not block, the bits generated are necessarily correlated
       to some extent, but it should be cryptographically difficult to detect the correlation.
       Such an entropy source is not suitable for all applications.  Some other systems lack
       /dev/random entirely.  If satisfactory entropy cannot be generated locally, consider
       downloading it from a server (see Data::Entropy::RawSource::RandomOrg and
       Data::Entropy::RawSource::RandomnumbersInfo).

CONSTRUCTOR

       Data::Entropy::RawSource::Local->new([FILENAME])
           Opens a file handle referring to the randomness device, or "die"s on error.  The
           device opened is /dev/random by default, but this may be overridden by giving a
           FILENAME argument.

           The default device name may in the future be different on different OSes, if their
           equivalent devices are in different places.

METHODS

       There are no actual objects blessed into this class.  The constuctor returns "IO::File"
       objects.  See IO::File for the interface.  It is recommended to use unbuffered reads (the
       "sysread" method) rather than buffered reads (the "getc" method et al), to avoid wasting
       entropy that could be used by another process.

SEE ALSO

       Data::Entropy::RawSource::CryptCounter, Data::Entropy::RawSource::RandomOrg,
       Data::Entropy::RawSource::RandomnumbersInfo, Data::Entropy::Source, IO::File

AUTHOR

       Andrew Main (Zefram) <zefram@fysh.org>

COPYRIGHT

       Copyright (C) 2006, 2007, 2009, 2011 Andrew Main (Zefram) <zefram@fysh.org>

LICENSE

       This module is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.