node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »



ed25519 curve operations using a supercop/ref10 implementation


This module provides C++ bindings for orlp/ed25519 (formerly nightcracker/ed25519).

supercop implementations use the same algorithm but different key formatting than sodium/nacl keys.

bittorrent's dht_store (bep44) extension uses supercop keys.


var ed = require('ed25519-supercop')

var seed = ed.createSeed()

Generate seed, a 32-byte buffer of cryptographically secure random data.

var keypair = ed.createKeyPair(seed)

Generate keypair from a 32-byte seed buffer.

  • keypair.publicKey - public key data (32 byte buffer)
  • keypair.secretKey - secret/private key data (64 byte buffer)

var signature = ed.sign(message, publicKey, secretKey)

Generate a 64-byte signature given:

  • message (string or buffer)
  • publicKey (32-byte buffer or hex string)
  • secretKey (64-byte buffer or hex string)

var ok = ed.verify(signature, message, publicKey)

Return a boolean ok, true if the 64-byte buffer or hex string signature signs a buffer or string message with the 32-byte or hex string publicKey.


npm install ed25519-supercop