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.