做点想做的
已完成事项:
- Go语言基于大数求最大公约数、拓展欧几里得、进制转换、MillerRabbin 素性检验(tools)。
- 支持椭圆曲线数字签名(ECDSA),可以自定义曲线参数、生成Key,加载Key、签名、验证、加密及解密(tools/ecc)为官方包的迁移。
- Go生成大素数、基于大数的**剩余定理(tools)。
- 支持部分向量以及矩阵运算,主要包括(大数运算下,绝对准确,不采用浮点数):模p下的行列式,模p下的逆矩阵。
- 辅助向量及矩阵运算提供的功能包括:单位阵生成、随机矩阵生成、矩阵乘法等运算、向量相关运算(定制化)。
- shamir秘密共享算法实现。(tools/secretshare)
- Weierstrass形式的椭圆曲线加密、解密、签名与验证实现(点的加法与乘法自主实现),在ecurve中的example.go中有调用案例。封装于tools/ecurve。
待完成事项
- 椭圆曲线的雅克比表示
- DH密钥体系(普通的和基于椭圆曲线的)
- 爬虫相关的
- 多项式求逆
- 属性加密