use Crypt::PK::ECC; open (OUT_priv,">.\\keys\\priv_pem.txt"); open (OUT_pub,">.\\keys\\pub_pem.txt"); #Key generation my $pk = Crypt::PK::ECC->new(); $pk->generate_key('secp256k1'); my $private_pem = $pk->export_key_pem('private'); my $public_pem = $pk->export_key_pem('public'); print OUT_priv "priv_pem $private_pem\n"; print OUT_pub "pub_pem $public_pem\n"; #### use Crypt::PK::ECC; use strict; my $pub_key_filename = ".\\keys\\pub_pem.txt"; my $priv_key_filename = ".\\keys\\priv_pem.txt"; my $message = "123456789 123456789 123456789 12"; print "Encrypting now...\n"; my $pk = Crypt::PK::ECC->new($pub_key_filename); my $ct = $pk->ecc_encrypt($message,'SHA256'); #Why do I have to specifify a hash function? print "ct... \n $ct\n"; ### In session decrypt my $ciphertext = $ct; my $pk = Crypt::PK::ECC->new($priv_key_filename); my $pt = $pk->ecc_decrypt($ciphertext); print "decrypted...\n $pt\n";