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  -  CRYPT::OPENSSL::RANDOM (3)

.ds Aq ’

NAME

Crypt::OpenSSL::Random - OpenSSL/LibreSSL pseudo-random number generator access

CONTENTS

SYNOPSIS



  use Crypt::OpenSSL::Random;

  Crypt::OpenSSL::Random::random_seed($good_random_data);
  Crypt::OpenSSL::Random::random_egd("/tmp/entropy");
  Crypt::OpenSSL::Random::random_status() or
    die "Unable to sufficiently seed the random number generator".

  my $ten_good_random_bytes = Crypt::OpenSSL::Random::random_bytes(10);
  my $ten_ok_random_bytes = Crypt::OpenSSL::Random::random_pseudo_bytes(10);



DESCRIPTION

Crypt::OpenSSL::Random provides the ability to seed and query the <B>OpenSSLB> and <B>LibreSSLB> library’s pseudo-random number generators.

Note: On <B>LibreSSLB> random_egd() is not defined.

    EXPORT

None by default.

Static Methods

random_bytes (IV num_bytes) This function, returns a specified number of cryptographically strong pseudo-random bytes from the PRNG. If the PRNG has not been seeded with enough randomness to ensure an unpredictable byte sequence, then a false value is returned.
random_pseudo_bytes (IV num_bytes) This function, is similar to c<random_bytes>, but the resulting sequence of bytes are not necessarily unpredictable. They can be used for non-cryptographic purposes and for certain purposes in cryptographic protocols, but usually not for key generation etc.
random_seed (PV random_bytes_string) This function seeds the PRNG with a supplied string of bytes. It returns true if the PRNG has sufficient seeding. Note: calling this function with non-random bytes is of limited value at best!
random_egd (PV egd_string) This function seeds the PRNG with data from the specified entropy gathering daemon. Returns the number of bytes read from the daemon on success, or -1 if not enough bytes were read, or if the connection to the daemon failed.

libressl considers this function insecure, so with libressl this function does not exist.

random_status () This function returns true if the PRNG has sufficient seeding.

BUGS

Because of the internal workings of OpenSSL’s random library, the pseudo-random number generator (PRNG) accessed by Crypt::OpenSSL::Random will be different than the one accessed by any other perl module. Hence, to use a module such as Crypt::OpenSSL::Random, you will need to seed the PRNG used there from one used here. This class is still advantageous, however, as it centralizes other methods, such as random_egd, in one place.

AUTHOR

Ian Robertson, iroberts@cpan.com

Now maintained by Reini Urban, rurban@cpan.org

LICENSE

This module is available under the same licences as perl, the Artistic license and the GPL.

SEE ALSO

perl(1), rand(3), RAND_add(3), RAND_egd(3), RAND_bytes(3).
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 RANDOM (3) 2015-10-08

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