A module for bitcore that implements the Elliptic Curve Integrated Encryption Scheme (ECIES).
JavaScript
Latest commit 4ce21cf Sep 3, 2016 @braydonf braydonf committed on GitHub Merge pull request #40 from axet/master
proper uncompressed keys handling
Permalink
Failed to load latest commit information.
docs
lib
test
.coveralls.yml
.gitignore update gitignore Jan 14, 2015
.jshintrc
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
bower.json
gulpfile.js
index.js
package.json

README.md

bitcore ecies

ECIES for bitcore

NPM Package Build Status Coverage Status

A module for bitcore that implements the Elliptic Curve Integrated Encryption Scheme (ECIES). Uses ECIES symmetric key negotiation from public keys to encrypt arbitrarily long data streams.

See the main bitcore repo or the bitcore guide on ECIES for more information.

Credit to @ryanxcharles for the original implementation.

Getting started

ECIES will allow to securely encrypt and decrypt messages using ECDSA key pairs (bitcoin cryptography).

var alice = ECIES()
  .privateKey(aliceKey)
  .publicKey(bobKey.publicKey);

var message = 'some secret message';
var encrypted = alice.encrypt(message);

// encrypted will contain an encrypted buffer only Bob can decrypt

var bob = ECIES()
  .privateKey(bobKey)
  .publicKey(aliceKey.publicKey);
var decrypted = bob
  .decrypt(encrypted)
  .toString();
// decrypted will be 'some secret message'

Contributing

See CONTRIBUTING.md on the main bitcore repo for information about how to contribute.

License

Code released under the MIT license.

Copyright 2013-2015 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.