Pure Pyhton Elliptic Curve Library
Project description
ECPy
ECPy (pronounced ekpy), is a pure python Elliptic Curve library providing ECDSA, EDDSA (Ed25519), ECSchnorr, Borromean signatures as well as Point operations.
Full html documentation is available here.
ECDSA sample
from ecpy.curves import Curve,Point from ecpy.keys import ECPublicKey, ECPrivateKey from ecpy.ecdsa import ECDSA cv = Curve.get_curve('secp256k1') pu_key = ECPublicKey(Point(0x65d5b8bf9ab1801c9f168d4815994ad35f1dcb6ae6c7a1a303966b677b813b00, 0xe6b865e529b8ecbf71cf966e900477d49ced5846d7662dd2dd11ccd55c0aff7f, cv)) pv_key = ECPrivateKey(0xfb26a4e75eec75544c0f44e937dcf5ee6355c7176600b9688c667e5c283b43c5, cv) signer = ECDSA() sig = signer.sign(b'01234567890123456789012345678912',pv_key) assert(signer.verify(b'01234567890123456789012345678912',sig,pu_key))
Point sample
from ecpy.curves import Curve,Point cv = Curve.get_curve('secp256k1') P = Point(0x65d5b8bf9ab1801c9f168d4815994ad35f1dcb6ae6c7a1a303966b677b813b00, 0xe6b865e529b8ecbf71cf966e900477d49ced5846d7662dd2dd11ccd55c0aff7f, cv) k = 0xfb26a4e75eec75544c0f44e937dcf5ee6355c7176600b9688c667e5c283b43c5 Q = k*P R = P+Q
Quick Install
From Pypi
$ pip install ECPy
From Github
From tarball dist
Download last dist tarball.
Untar it
$ tar xzvf ECPy-M.m.tar.gz
install it (or use it as is…)
$ python3 setup.py install
From sources
Clone the git repository
Rebuild the tarball
$ python3 setup.py sdist
Continue with the created tarball dist.
Generate the documentation
You can regenerate the doc from git clone
$ cd doc $ make singlehtml
Documentation is in build dir
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ECPy-1.0.0.tar.gz
(35.7 kB
view hashes)