Crypto

interface Crypto

Message encryption functions.

Supports key generation, encryption, decryption, and hashing.

Performs ECIES encryption with the bitcore-ecies 1.0.3 default configuration.

Crypto.decrypt(cryptogram)

Decrypt cryptogram for active key pair.

Generate or restore key pair prior to use.

Arguments:
  • cryptogram (Base64) – Cryptogram to decrypt.
Throws:

MissingValueError – If key pair has not been generated or restored.

Returns:

string – The decrypted message.

Crypto.encrypt(message, recipient, network="<mainnet>")

Encrypt message for public key.

Arguments:
  • message (string) – Message to encrypt.
  • recipient (HexString) – Public key of recipient.
  • network – Bitcoin Cash network.
Returns:

Base64 – The cryptogram.

Crypto.exportPrivateKey()

Export private key as hex string.

Generate or restore key pair prior to use.

Throws:MissingValueError – If key pair has not been generated or restored.
Returns:HexString – Private key.
Crypto.exportPublicKey()

Export public key as hex string.

Generate or restore key pair prior to use.

Throws:MissingValueError – If key pair has not been generated or restored.
Returns:HexString – Public key.
Crypto.generateKeyPair(network="<mainnet>")

Generate ECDSA key pair for message encryption.

Generated key pair is saved internally and used for subsequent operations. No return value. Subsequent calls discard and replace old key pair.

Arguments:
  • network – Network to generate for. Type implementation defined.
Crypto.hash(text)

Hash a string with SHA-224.

Arguments:
  • text (string) – Text to hash.
Returns:

ArrayBuffer – SHA-224 hash of the text.

Crypto.restoreKeyPair(privateKeyString, network="<mainnet>")

Restore key pair from private key hex string.

Arguments:
  • privateKeyString (HexString) – Private key.
  • network – Network to restore for. Type implementation defined.