paragonie/easy-ecc
Easy-ECC is a hardened, easy-to-use PHP wrapper around paragonie/phpecc for elliptic-curve crypto. Generate keypairs, sign/verify messages, and perform ECDH key exchange with Curve25519 or ECDSA curves (K256, P256, P384, P521).
Fixed PHP 8.4+ deprecation warnings with X25519.
Full Changelog: https://github.com/paragonie/easy-ecc/compare/v1.3.0...v1.3.1
Full Changelog: https://github.com/paragonie/easy-ecc/compare/v1.2.0...v1.3.0
Updated dependencies
v2.1.0Replaced dependency on phpecc with PIE's fork. Recommended reading.
Full Changelog: https://github.com/paragonie/easy-ecc/compare/v1.0.0...v1.0.1
seal() / unseal() to the Defuse integrationParagonIE\EasyECC\EncryptionInterface (which the Defuse integration now implements) for extensionsProvides constant-time algorithms for ECC key generation and signing. See #4 for more info.
Introducing Easy-ECC, a usability wrapper for phpecc/phpecc.
I should probably have a big asterisk on that statement: In its default configuration, it uses libsodium instead.
$ecc = new ParagonIE\EasyECC\EasyECC(); // libsodium
$ecc = new ParagonIE\EasyECC\EasyECC('K256'); // phpecc/phpecc with secp256k1 + SHA256
$ecc = new ParagonIE\EasyECC\EasyECC('P256'); // phpecc/phpecc with NIST P-256 + SHA256
$ecc = new ParagonIE\EasyECC\EasyECC('P384'); // phpecc/phpecc with NIST P-384 + SHA384
This isn't merely an easy-to-use interface, it also is secure-by-default. For example, if you're not using libsodium and want to sign a message, Easy-ECC opts for RFC 6979 (deterministic ECDSA) instead of risking k-value reuse/bias.
Furthermore, this includes an integration with defuse/php-encryption for public-key authenticated encryption.
$defuse = new ParagonIE\EasyECC\Integration\Defuse($ecc);
$ctxt = $defuse->asymmetricEncrypt($msg, $sk, $pk);
How can I help you explore Laravel packages today?