Adam Kennedy > Crypt-DSA-1.17 > Crypt::DSA::KeyChain



Annotate this POD


New  12
Open  8
View/Report Bugs
Module Version: 1.17   Source  


Crypt::DSA::KeyChain - DSA key generation system


    use Crypt::DSA::KeyChain;
    my $keychain = Crypt::DSA::KeyChain->new;

    my $key = $keychain->generate_params(
                    Size      => 512,
                    Seed      => $seed,
                    Verbosity => 1,



Crypt::DSA::KeyChain is a lower-level interface to key generation than the interface in Crypt::DSA (the keygen method). It allows you to separately generate the p, q, and g key parameters, given an optional starting seed, and a mandatory bit size for p (q and g are 160 bits each).

You can then call generate_keys to generate the public and private portions of the key.


$keychain = Crypt::DSA::KeyChain->new

Constructs a new Crypt::DSA::KeyChain object. At the moment this isn't particularly useful in itself, other than being the object you need in order to call the other methods.

Returns the new object.

$key = $keychain->generate_params(%arg)

Generates a set of DSA parameters: the p, q, and g values of the key. This involves finding primes, and as such it can be a relatively long process.

When invoked in scalar context, returns a new Crypt::DSA::Key object.

In list context, returns the new Crypt::DSA::Key object, along with: the value of the internal counter when a suitable prime p was found; the value of h when g was derived; and the value of the seed (a 20-byte string) when q was found. These values aren't particularly useful in normal circumstances, but they could be useful.

%arg can contain:


Generates the public and private portions of the key $key, a Crypt::DSA::Key object.


Please see the Crypt::DSA manpage for author, copyright, and license information.

syntax highlighting: