mdanter/ecc

此包已被弃用且不再维护。作者建议使用 paragonie/ecc 包。

PHP 椭圆曲线密码学库

维护者

详细信息

github.com/phpecc/phpecc

主页

源码

问题

安装数: 509,6630

依赖者: 94

建议者: 4

安全: 2

星标: 342

关注者: 26

分支: 105

开放问题: 20

v1.0.0 2021-01-16 19:42 UTC

README

Build Status

Scrutinizer Code Quality Code Coverage

Latest Stable Version Total Downloads Latest Unstable Version License

信息

此库是对 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 分析结果 总是一个好主意。

使用

示例