supercop.ts

cross-compiled javascript implementation of ed25519 based on supercop-ref10
git clone git://git.finwo.net/lib/supercop.ts
Log | Files | Refs | README | LICENSE

0004-signature-generation.test.ts (755B)


      1 import tap = require('tap');
      2 import pbkdf2 = require('pbkdf2');
      3 import KeyPair from '../src/index';
      4 
      5 (async () => {
      6 
      7   const seed      = pbkdf2.pbkdf2Sync('password', 'NaCl', 1, 32, 'sha512');
      8   const kp        = await KeyPair.create(seed);
      9   const signature = await kp.sign('message');
     10 
     11   tap.ok(Buffer.isBuffer(signature), 'Generated signature is a buffer');
     12   tap.ok(signature.length == 64    , 'Generated signature\'s length is 64 bytes');
     13 
     14   // Verify the same signature is always generated from that one seed + message
     15   tap.ok(signature.toString('hex') == '9eac98c07b296598e90c665a3fb875387166f77752ed1735b8de2e32a7dc3679f918bc74acef1f6d7b5756f9fbf436c53f3010f2146076d4536edbb2f54b8403', 'Got expected signature from known key and message');
     16 })();