paragonie / easy-ecc
Usabiliy Wrapper for mdanter/ecc
v0.1.2
2019-01-03 21:29 UTC
Requires
- php: ^7
- defuse/php-encryption: ^2.1
- mdanter/ecc: ^0.5
- paragonie/constant_time_encoding: ^2.1
- paragonie/sodium_compat: ^1
Requires (Dev)
- phpunit/phpunit: ^6.5
- vimeo/psalm: ^0|^1
This package is auto-updated.
Last update: 2021-03-31 16:18:30 UTC
README
A usability wrapper for PHP ECC.
Installing
composer require paragonie/easy-ecc
Using Easy-ECC
<?php use ParagonIE\EasyECC\EasyECC; // Generate an instance; defaults to Curve25519 $ecc = new EasyECC(); // Get a keypair $alice_sk = $ecc->generatePrivateKey(); $alice_pk = $alice_sk->getPublicKey(); // Signing a message: $message = 'This is extremely simple to use correctly.'; $signature = $ecc->sign($message, $alice_sk); if (!$ecc->verify($message, $alice_pk, $signature)) { throw new Exception('Signature validation failed'); } // Let's do a key exchange: $bob_sk = $ecc->generatePrivateKey(); $bob_pk = $alice_sk->getPublicKey(); $alice_to_bob = $ecc->keyExchange($alice_sk, $bob_pk, true); $bob_to_alice = $ecc->keyExchange($bob_sk, $alice_pk, false);
Other Easy-ECC Modes
secp256k1 + SHA256
<?php use ParagonIE\EasyECC\EasyECC; $ecc = new EasyECC('K256');
NIST P256 + SHA256
<?php use ParagonIE\EasyECC\EasyECC; $ecc = new EasyECC('P256');
NIST P384 + SHA384
<?php use ParagonIE\EasyECC\EasyECC; $ecc = new EasyECC('P384');
Support Contracts
If your company uses this library in their products or services, you may be interested in purchasing a support contract from Paragon Initiative Enterprises.