Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Data::Entropy::RawSourUserLContributed Perl Data::Entropy::RawSource::Local(3)

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.

perl v5.32.0			  2020-08-08Data::Entropy::RawSource::Local(3)

NAME | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | METHODS | SEE ALSO | AUTHOR | COPYRIGHT | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Data::Entropy::RawSource::Local&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help