GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DATA::ENTROPY::RAWSOURCE::LOCAL (3)

.ds Aq ’

NAME

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

CONTENTS

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 <B>/dev/randomB>, 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 <B>/dev/randomB> 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 <B>/dev/randomB> 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 dies on error. The device opened is <B>/dev/randomB> 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.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 DATA::ENTROPY::RAWSOURCE::LOCAL (3) 2016-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.