0.3.11 • Published 5 years ago
eciesjs12b v0.3.11
eciesjs
Elliptic Curve Integrated Encryption Scheme for secp256k1 in TypeScript.
This is the JavaScript/TypeScript version of eciespy with a built-in class-like secp256k1 API, you may go there for detailed documentation and learn the mechanism under the hood.
If you want a WASM version to run directly in browsers, check ecies-wasm.
Install
npm install eciesjsQuick Start
> import { encrypt, decrypt, PrivateKey } from 'eciesjs'
> const k1 = new PrivateKey()
> const data = Buffer.from('this is a test')
> decrypt(k1.toHex(), encrypt(k1.publicKey.toHex(), data)).toString()
'this is a test'API
encrypt(receiverRawPub: string | Buffer, msg: Buffer): Buffer
Parameters:
- receiverRawPub - Receiver's secp256k1 public key, hex string or buffer
- msg - Data to encrypt
Returns: Buffer
decrypt(receiverRawPrv: string | Buffer, msg: Buffer): Buffer
Parameters:
- receiverRawPrv - Receiver's secp256k1 private key, hex string or buffer
- msg - Data to decrypt
Returns: Buffer
PrivateKey
- Methods
static fromHex(hex: string): PrivateKey;
constructor(secret?: Buffer);
toHex(): string;
encapsulate(pub: PublicKey): Buffer;
multiply(pub: PublicKey): Buffer;
equals(other: PrivateKey): boolean;- Properties
readonly secret: Buffer;
readonly publicKey: PublicKey;PublicKey
- Methods
static fromHex(hex: string): PublicKey;
constructor(buffer: Buffer);
toHex(compressed?: boolean): string;
decapsulate(priv: PrivateKey): Buffer;
equals(other: PublicKey): boolean;- Properties
readonly uncompressed: Buffer;
readonly compressed: Buffer;Release Notes
0.3.1 ~ 0.3.10
- Bump dependencies
- Update documentation
0.3.0
- API change:
encrypt/decryptnow can take both hexstringandBuffer
0.2.0
- API change: use
HKDF-sha256to derive shared keys instead ofsha256 - Bump dependencies
- Update documentation
0.1.1 ~ 0.1.5
- Bump dependencies
- Update documentation
0.1.0
- First beta version release