Rootroute       Hosting       Order       Map       Login   Secure Inter-Network Operations  
 
man : Crypt::DSA

Command: man perldoc info search(apropos)  




Crypt::DSA(3p) User Contributed Perl Documentation Crypt::DSA(3p)


NAME
       Crypt::DSA - DSA Signatures and Key Generation

SYNOPSIS
           use Crypt::DSA;
           my $dsa = Crypt::DSA->new;

           my $key = $dsa->keygen(
                          Size      => 512,
                          Seed      => $seed,
                          Verbosity => 1
                     );

           my $sig = $dsa->sign(
                          Message   => "foo bar",
                          Key       => $key
                     );

           my $verified = $dsa->verify(
                          Message   => "foo bar",
                          Signature => $sig,
                          Key       => $key,
                     );

DESCRIPTION
       Crypt::DSA is an implementation of the DSA (Digital Signature
       Algorithm) signature verification system. The implementation itself is
       pure Perl, although the heavy-duty mathematics underneath are provided
       by the Math::Pari library.

       This package provides DSA signing, signature verification, and key
       generation.

USAGE
       The Crypt::DSA public interface is similar to that of Crypt::RSA. This
       was done intentionally.

   Crypt::DSA->new
       Constructs a new Crypt::DSA object. At the moment this isn't
       particularly useful in itself, other than being the object you need to
       do much else in the system.

       Returns the new object.

   $key = $dsa->keygen(%arg)
       Generates a new set of DSA keys, including both the public and private
       portions of the key.

       %arg can contain:

       o   Size

           The size in bits of the p value to generate. The q and g values are
           always 160 bits each.



perl v5.12.2                2005-05-26                          1





Crypt::DSA(3p) User Contributed Perl Documentation Crypt::DSA(3p)


           This argument is mandatory.

       o   Seed

           A seed with which q generation will begin. If this seed does not
           lead to a suitable prime, it will be discarded, and a new random
           seed chosen in its place, until a suitable prime can be found.

           This is entirely optional, and if not provided a random seed will
           be generated automatically.

       o   Verbosity

           Should be either 0 or 1. A value of 1 will give you a progress
           meter during p and q generation--this can be useful, since the
           process can be relatively long.

           The default is 0.

   $signature = $dsa->sign(%arg)
       Signs a message (or the digest of a message) using the private portion
       of the DSA key and returns the signature.

       The return value--the signature--is a Crypt::DSA::Signature object.

       %arg can include:

       o   Digest

           A digest to be signed. The digest should be 20 bytes in length or
           less.

           You must provide either this argument or Message (see below).

       o   Key

           The Crypt::DSA::Key object with which the signature will be
           generated. Should contain a private key attribute (priv_key).

           This argument is required.

       o   Message

           A plaintext message to be signed. If you provide this argument,
           sign will first produce a SHA1 digest of the plaintext, then use
           that as the digest to sign. Thus writing

               my $sign = $dsa->sign(Message => $message, ... );

           is a shorter way of writing

               use Digest::SHA1 qw( sha1 );
               my $sig = $dsa->sign(Digest => sha1( $message ), ... );




perl v5.12.2                2005-05-26                          2





Crypt::DSA(3p) User Contributed Perl Documentation Crypt::DSA(3p)


   $verified = $dsa->verify(%arg)
       Verifies a signature generated with sign. Returns a true value on
       success and false on failure.

       %arg can contain:

       o   Key

           Key of the signer of the message; a Crypt::DSA::Key object.  The
           public portion of the key is used to verify the signature.

           This argument is required.

       o   Signature

           The signature itself. Should be in the same format as returned from
           sign, a Crypt::DSA::Signature object.

           This argument is required.

       o   Digest

           The original signed digest whose length is less than or equal to 20
           bytes.

           Either this argument or Message (see below) must be present.

       o   Message

           As above in sign, the plaintext message that was signed, a string
           of arbitrary length. A SHA1 digest of this message will be created
           and used in the verification process.

AUTHOR & COPYRIGHT
       Benjamin Trott, benATrhumba.com

       Except where otherwise noted, Crypt::DSA is Copyright 2001 Benjamin
       Trott. All rights reserved. Crypt::DSA is free software; you may
       redistribute it and/or modify it under the same terms as Perl itself.


















perl v5.12.2                2005-05-26                          3




rootr.net - man pages