The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Crypt::ECDSA::Key -- ECDSA Key object package for elliptic key DSA cryptography

DESCRIPTION

  These are for use with Crypt::ECDSA and require Math::BigInt::GMP.

METHODS

new
  Constructor.  Takes the following named pair arguments:
  
  
  curve => curve or a 'standard' named curve (this may be the best choice)
  if not a standard curve, will need X => integer, Y => integer, order => integer,
  G_x => base point x coordinate,  G_y => base point y coordinate
  d => secret key, a integer secret multiplier.  If secret not specified, 
  the object will generate a random secret key.

  If a PEM file is specified, new will read the key parameters from that file:
  
  my $key_from_PEM = Crypt::ECDSA::Key->new( PEM => $pem_filename );
curve
  Returns or sets the key's curve, a Crypt::ECDSA::Curve derived object 
  
Q
  Returns or sets the key's Q public point
Qx
  returns the x coordinate of the public key
  
Qy
  returns the y coordinate of the public key
  
order
  Returns the order of the curve's base point, if known
secret
  returns the secret scalar private key (stored internally as scalar $d)
set_public_Q
  Used to set a public key for use when the private key is unknown
  
new_key_values

sub new_key_values {

  my( $d, $Qx, $Qy ) = $key->new_secret_value();

  Regenerate a new private and public key and return the scalars
  ( secret value d, public point x coordinate, public point y coordinate )
  Be careful!  The old and new secret keys are not stored permanently by the module.
  
verify_public_key
  if( $key->verify_public_key { $Qx, $Qy ) ) {
    print "Public key verified ok";
  }

  Verify a provided public key when the curve, but not the private key are known
read_PEM
  $key->read_pem( filename =>$pem_filename, private => 1 );
  
  Read a key from a PEM file.  private => $n , if present and nonzero, means to
  read the secret key from the file, otherwise only the public key may be read.
write_PEM
  $bytes_written = $key->write_PEM( filename => $file, private => 1 );
  
  Write the key to a PEM file.  Private key is written if the 'private' 
  argument is nonzero. A password => "password" argument is permitted.

Class Internal Functions

G
new_secret_value

AUTHOR

   William Herrera B<wherrera@skylightview.com>. 

SUPPORT

Questions, feature requests and bug reports should go to <wherrera@skylightview.com>.

COPYRIGHT

    Copyright (c) 2007 William Herrera. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 315:

=over without closing =back