See the README and INSTALL files in the package for instructions on how to use and how to install the ec-keygen, ec-sign, ec-verify, ec-crypt and ec-decrypt commands.
List nicknames of curves:
ec-keygen -l c47n23r1:secp112r1:secp112r2:secp160r1:secp384r1:sect113r1:sect163k1
Generate a public and private key:
ec-keygen -e secp112r2 -o stes
Generated files:
ls -ltr stes.pub stes.prv -rw-r--r-- 1 stes users 311 Jul 12 22:00 stes.pub -rw------- 1 stes users 135 Jul 12 22:00 stes.prv
Digital Signature:
ec-sign -c sha1 -k stes.prv -f README -s README.sign
Verify the signature:
ec-verify -k stes.pub -f README -s README.sign echo $? 0
Encrypt:
ec-crypt -c aes-128-cbc -k stes.pub -f README -s README.key -o enc ec-crypt: unable to get 16 bytes of key from this curve, use a different curve ec-crypt -c rc4-40 -k stes.pub -f README -s README.key -o enc
Decrypt:
ec-decrypt -k stes.prv -f enc -s README.key -o myREADME
A unique feature of this implementation is the possibility of using a few curves over finite fields with prime fields of odd characteristic (in this case, a finite field of characteristic 47 (a small prime))