ECIES for digibyte.js



A module for [digibytejs][digibytejs] that implements the [Elliptic Curve Integrated Encryption Scheme (ECIES)][ECIES]. Uses ECIES symmetric key negotiation from public keys to encrypt arbitrarily long data streams.
See
the main digibytejs repo or the
bitcore guide on ECIES for more information.
Credit to [@ryanxcharles][ryan] for the original implementation.
Getting started
ECIES will allow to securely encrypt and decrypt messages using ECDSA key pairs (bitcoin cryptography).
``
javascript
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 digibyte-js 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.
[digibyte-js]: http://github.com/digicontributer/digibyte
[ECIES]: http://en.wikipedia.org/wiki/Integrated_Encryption_Scheme
[ryan]: http://github.com/ryanxcharles