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

NAME

Crypt::PK::ECC::Schnorr - Public key cryptography based on EC with Schnorr signatures

SYNOPSIS

  use Crypt::PK::ECC::Schnorr;

  # Signature: Alice
  my $priv = Crypt::PK::ECC::Schnorr->new('Alice_priv_ecc1.der');
  my $sig = $priv->sign_message($message);
  #
  # Signature: Bob (received $message + $sig)
  my $pub = Crypt::PK::ECC::Schnorr->new('Alice_pub_ecc1.der');
  $pub->verify_message($sig, $message) or die "ERROR";

DESCRIPTION

  This module inherits Crypt::PK::ECC and provides methods to create and verify Schnorr signatures for elliptic curves.
  Compatible with Bitcoin "taproot" softfork (BIP-340).