Curve25519 implements the missing functionality of sign/verify on elliptic curve 25519.
- Cryptographically compatible sign/verify
- Built in cache for last key calculations
- Sodium variant of the sign function (~2000x faster)
$curve25519 = new Curve25519();
$msg = 'Hello, world!';
$privateKey = random_bytes( 32 );
$sig = $curve25519->sign( $msg, $privateKey );
$publicKey = $curve25519->getPublicKeyFromPrivateKey( $privateKey );
$verify = $curve25519->verify( $sig, $msg, $publicKey );
if( !$verify )
exit( 1 );
- PHP >= 5.6
Require through Composer:
{
"require": {
"deemru/curve25519": "1.0.*"
}
}
sign_sodium
hashes private key internally by SHA-512- Beware of
rseed
functionality (for experts only) - Consider to use ED25519_NO_SHA512SK sodium build