Security Advisories (2)
CVE-2020-17478 (2020-08-10)

ECDSA/EC/Point.pm in Crypt::Perl before 0.33 does not properly consider timing attacks against the EC point multiplication algorithm.

CVE-2020-13895 (2020-06-07)

Crypt::Perl::ECDSA in the Crypt::Perl (aka p5-Crypt-Perl) module before 0.32 for Perl fails to verify correct ECDSA signatures when r and s are small and when s = 1. This happens when using the curve secp256r1 (prime256v1). This could conceivably have a security-relevant impact if an attacker wishes to use public r and s values when guessing whether signature verification will fail.

NAME

Crypt::Perl::RSA::PrivateKey - object representation of an RSA private key

SYNOPSIS

#You’ll probably instantiate this class using Parser.pm
#or Generate.pm.

#cf. JSON Web Algorithms (RFC 7518, page 5)
#These return an octet string.
$sig = $prkey->sign_RS256($message);
$sig = $prkey->sign_RS384($message);
$sig = $prkey->sign_RS512($message);

#These return 1 or 0 to indicate verification or non-verification.
$prkey->verify_RS256($message, $sig);
$prkey->verify_RS384($message, $sig);
$prkey->verify_RS512($message, $sig);

#----------------------------------------------------------------------

my $enc = $prkey->encrypt_raw($payload);
my $orig = $prkey->decrypt_raw($enc);

#----------------------------------------------------------------------

my $der = $prkey->to_der();
my $pem = $prkey->to_pem();

#For use in creating PKCS #10 CSRs and X.509 certificates
my $pub_der = $prkey->to_subject_public_der();

my $pbkey = $prkey->get_public_key();

#----------------------------------------------------------------------

$prkey->version();              #scalar, integer

$prkey->size();                 #modulus length, in bits
$prkey->modulus_byte_length();

#----------------------------------------------------------------------
# The following all return instances of Crypt::Perl::BigInt,
# a subclass of Math::BigInt.
# The pairs (e.g., modulus() and N()) are aliases.
#----------------------------------------------------------------------

$prkey->modulus();
$prkey->N();

$prkey->publicExponent();
$prkey->E();

$prkey->privateExponent();
$prkey->D();

$prkey->prime1();
$prkey->P();

$prkey->prime2();
$prkey->Q();

$prkey->exponent1();
$prkey->DP();

$prkey->exponent2();
$prkey->DQ();

$prkey->coefficient();
$prkey->QINV();