Skip to content

Instantly share code, notes, and snippets.

@askaaqib
Created October 16, 2020 06:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save askaaqib/d6df5048f3cce7e5da2c1e3bbca1eef4 to your computer and use it in GitHub Desktop.
Save askaaqib/d6df5048f3cce7e5da2c1e3bbca1eef4 to your computer and use it in GitHub Desktop.
ECDSA, Sign and Verify Signature
<?php
declare(strict_types=1);
require "../vendor/autoload.php";
use FurqanSiddiqui\ECDSA\ECDSA;
use FurqanSiddiqui\ECDSA\Curves\Secp256k1;
use Comely\DataTypes\Buffer\Base16;
use \kornrunner\Keccak;
$b16 = new Base16();
$custom = "cd856241435f488c7b96fcd0099fb7566d4f4c45d8290d1907cb9a13fd302bea";
$azhar = "dd0bbf6eecffdb32172e391363a401f89617acb9dd01897b9fa180830a8acc22";
$custom_filtered = "26efc09b9b4e9c8227e3659551cb38bad48ca28bb50f01c4222360922d25764052f70e7de9575910cbb3567bee1b34bf932d7ea11a6a94d6f57320ecaf2a8672";
$azhar_filtered = "519945201cd8fa13a658acf5114af4dec70612dcaa75de39fc0f6425aeb9dbc22ba76d413554162a6391923c20fee9d4e918bb63ffae59dad54957c03317d7a0";
$privateKey = $custom;
$get_private_key = $b16->set($privateKey);
echo "<h3>Base 16 Private Key</h3>";
var_dump($get_private_key);
echo "<h3>Signature Hash</h3>";
$hash_message = hash("sha256", "WhoCares");
$b16_hash_message = $b16->set($hash_message);
echo "<h3>Public Key</h3>";
$secp = new Secp256k1();
$public_key = $secp->getPublicKey($get_private_key);
var_dump($public_key);
$signatured_hash = $secp->sign($get_private_key, $b16_hash_message);
var_dump($signatured_hash);
echo "<h3>Signature Verify</h3>";
$verify = $secp->verify($public_key, $signatured_hash, $b16_hash_message);
var_dump($verify);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment