Skip to content

A module for ravencore that implements the Elliptic Curve Integrated Encryption Scheme (ECIES).

License

Notifications You must be signed in to change notification settings

underdarkskies/ravencore-ecies

 
 

Repository files navigation

ECIES for ravencore

A module for ravencore 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 ravencore repo 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 (ravencoin 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 ravencore repo for information about how to contribute.

License

Code released under the MIT license.

Copyright 2019 UnderDarkSkies

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

About

A module for ravencore that implements the Elliptic Curve Integrated Encryption Scheme (ECIES).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%