Hello Gravity
ec
包对椭圆曲线相关的签名算法进行了二次包装以对外提供同一的API。
包中所有算法都由Worker
接口规定的三个流程组成
Worker.GenerateKey()
利用给定的熵源随机生成公私钥对用于后续的签名和验签Worker.Sign()
利用私钥对给定的消息摘要进行签名Worker.Verify()
基于公钥对摘要的签名进行验证
对于每个具体算法,
- 公钥都实现
ec.go
里面声明的PublicKey
空接口 - 私钥都实现
ec.go
里面声明的PrivateKey
接口- 这个接口的
Public()
函数返回这个私钥对应的公钥
- 这个接口的
目前,Worker
接口的具体实现有
ecdsa.Worker256
:标准库的ECDSA算法,签名长度为256ecdsa.Worker512
:标准库的ECDSA算法,签名长度为512ed22519.Worker
:拓展库的EDDSA算法,签名长度为512secp.Worker
:私人库的secp256k1算法,签名长度为256