mdanter / ecc
v1.0.0
2021-01-16 19:42 UTC
Requires
- php: ^7.0||^8.0
- ext-gmp: *
- fgrosse/phpasn1: ^2.0
Requires (Dev)
- phpunit/phpunit: ^6.0||^8.0||^9.0
- squizlabs/php_codesniffer: ^2.0
- symfony/yaml: ^2.6|^3.0
- dev-master
- 7.3.x-dev
- v1.0.0
- 0.5.x-dev
- v0.5.2
- v0.5.1
- v0.5.0
- 0.4.x-dev
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- 0.3.x-dev
- v0.3.2
- v0.3.1
- v0.3.0
- 0.2.0
- dev-update-testing-versions
- dev-bc-break-cswap-functions
- dev-phpstan
- dev-brainpool
- dev-phpstan-with-bool-cswap
- dev-remove-base-convert-string-type
This package is auto-updated.
Last update: 2024-04-24 19:36:03 UTC
README
信息
此库是对 Matyas Danter 的 ECC 库的重写/更新。所有荣誉都属于他。
有关椭圆曲线密码学的更多信息,请阅读 这篇文章。
库支持以下曲线
- secp112r1
- secp256k1
- nistp192
- nistp224
- nistp256 / secp256r1
- nistp384 / secp384r1
- nistp521
在 ECDSA 过程中,需要随机值 k
。可以使用真正的 RNG 生成此值,但如果相同的 k
值被重复用于密钥,攻击者可以恢复该签名密钥。HMAC 随机生成器可以从消息哈希和私钥派生一个确定的 k 值,从而消除这种担忧。
库使用非分支的 Montgomery 梯形进行标量乘法,因为它的时间是恒定的,并且避免了秘密依赖分支。
许可证
此包根据 MIT 许可证发布。
要求
- PHP 7.0+ 或 PHP 8.0+
- composer
- ext-gmp
对旧 PHP 版本的支持
- v0.4.x: php ^5.6|<7.2
- v0.5.x: php ^7.0
- v1.0.x: php ^7.0|^8.0
安装
您可以通过 Composer 安装此库
composer require mdanter/ecc:^1.0
贡献
在发送拉取请求时,请确保运行 make
命令。
默认目标运行所有 PHPUnit 和 PHPCS 测试。所有测试都必须验证,才能接受您的贡献。
检查您的拉取请求的 Scrutinizer 分析结果 总是一个好主意。
使用
示例