纯pyhton椭圆曲线库
EC的Python项目详细描述
ecpy
ecpy(发音为ekpy)是一个纯python椭圆曲线库 提供ecdsa、eddsa(ed25519)、ecschnorr、borromean签名和point 操作。
完整的html文档可供使用here。
ecdsa示例
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))
点示例
from ecpy.curves import Curve,Point cv = Curve.get_curve('secp256k1') P = Point(0x65d5b8bf9ab1801c9f168d4815994ad35f1dcb6ae6c7a1a303966b677b813b00, 0xe6b865e529b8ecbf71cf966e900477d49ced5846d7662dd2dd11ccd55c0aff7f, cv) k = 0xfb26a4e75eec75544c0f44e937dcf5ee6355c7176600b9688c667e5c283b43c5 Q = k*P R = P+Q
快速安装
来自Pypi
$ pip install ECPy
来自github
皮球距离
下载最后一个dist tarball。
解开它
$ tar xzvf ECPy-M.m.tar.gz
安装(或按原样使用…)
$ python3 setup.py install
生成文档
您可以从git clone重新生成文档
$ cd doc $ make singlehtml
文档位于构建目录中