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

NAME

       Data::Entropy - entropy (randomness) management

SYNOPSIS

               use Data::Entropy qw(entropy_source);

               $i = entropy_source->get_int(12345);

               use Data::Entropy qw(with_entropy_source);

               with_entropy_source $source, sub {
                       @a = shuffle(@a);
               };

DESCRIPTION

       This module maintains a concept of a current selection of entropy source.  Algorithms that
       require entropy, such as those in Data::Entropy::Algorithms, can use the source nominated
       by this module, avoiding the need for entropy source objects to be explicitly passed
       around.  This is convenient because usually one entropy source will be used for an entire
       program run and so an explicit entropy source parameter would rarely vary.  There is also
       a default entropy source, avoiding the need to explicitly configure a source at all.

       If nothing is done to set a source then it defaults to the use of Rijndael (AES) in
       counter mode (see Data::Entropy::RawSource::CryptCounter and Crypt::Rijndael), keyed using
       Perl's built-in "rand" function.  This gives a data stream that looks like concentrated
       entropy, but really only has at most the entropy of the "rand" seed.  Within a single run
       it is cryptographically difficult to detect the correlation between parts of the pseudo-
       entropy stream.  If more true entropy is required then it is necessary to configure a
       different entropy source.

FUNCTIONS

       entropy_source
           Returns the current entropy source, a "Data::Entropy::Source" object.  This will be
           the source passed to the innermost call to "with_entropy_source", if any, or otherwise
           the default entropy source.

       with_entropy_source SOURCE, CLOSURE
           The SOURCE is selected, so that it will be returned by "entropy_source", and CLOSURE
           is called (with no arguments).  The SOURCE is selected only during the dynamic scope
           of the call; after CLOSURE finishes, by whatever means, the previously selected
           entropy source is restored.

           SOURCE is normally a "Data::Entropy::Source" object.  Alternatively, it may be "undef"
           to cause use of the default entropy source.  It may also be a reference to a function
           of no arguments, which will be called to generate the actual source only if required.
           This avoids unnecessarily initialising the source object if it is uncertain whether
           any entropy will be required.  The source-generating closure may return a normal
           source or "undef", but not another function reference.

SEE ALSO

       Data::Entropy::Algorithms, Data::Entropy::Source

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.