The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Crypt::Perl::RSA::Generate - RSA key generation

SYNOPSIS

    use Crypt::Perl::RSA::Generate ();

    #$prkey is a Crypt::Perl::RSA::PrivateKey instance.
    my $prkey = Crypt::Perl::RSA::Generate::create(2048);

DISCUSSION

Unfortunately, this is quite slow in Perl—too slow, in fact, if you don’t have either Math::BigInt::GMP or Math::BigInt::Pari. The logic here will still run under pure Perl, but it’ll take too long to be practical.

The current Math::ProvablePrime backend is slated to be replaced with Math::Prime::Util; once that happens, pure-Perl operation should be much more feasible.

ALTERNATIVES

Crypt::OpenSSL::RSA - probably the fastest way to generate RSA keys in perl. (It relies on XS, so this project can’t use it.)
Use the openssl binary OpenSSL directly, e.g., my $rsa_pem = qx/openssl genrsa/. Most *NIX systems can do this.

NOTE: As of December 2016, Crypt::PK::RSA is NOT suitable for key generation because it can only generate keys with up to a 512-bit modulus.