Skip to content

deemru/Curve25519

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Curve25519

packagist php-v GitHub codacy license

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)

Usage

$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 );

Requirements

Recommended

Installation

Require through Composer:

{
    "require": {
        "deemru/curve25519": "1.0.*"
    }
}

Notice