use MIME::Base64;
use Crypt::RSA;
print "String to Encrypt?";
$plaintext = <STDIN>;
chomp $plaintext;
$A = encode_base64($plaintext);
$B = encode_base64($A);
$C = encode_base64($B);
$D = encode_base64($C);
my $keychain = new Crypt::RSA::Key;
print "ID: ";
$id = <STDIN>;
chomp $id;
print "Password: ";
$Password = <STDIN>;
chomp $Password;
$rsa = new Crypt::RSA;
my ($public, $private) = $keychain->generate (
Identity => $id,
Size => 2048,
Password => $Password,
Verbosity => 1,
) or die $keychain->errstr();
my $cyphertext =
$rsa->encrypt (
Message => $D,
Key => $public,
Armour => 1,
) || die $rsa->errstr();
my $signature =
$rsa->sign (
Message => $D,
Key => $private
) || die $rsa->errstr();
print $cyphertext;