Synapse Cryptography Library

Namespaces

Functions

encrypt

string syn.crypt.encrypt(data: string, key: string, additional_data?: string)

Encrypts data with key, and includes additional_data if it is passed.

(Uses libsodium secretbox for when additional_data isn't passed, and the AEAD form of the same algorithm if it is passed. Nonce is generated and appended before the encrypted message.)

decrypt

string syn.crypt.decrypt(ciphertext: string, key: string, additional_data?: string)

Decrypts ciphertext with key. The data (along with additional_data if it is passed) is also authenticated via a MAC before being returned.

(Uses libsodium secretbox or the AEAD form if additional_data is passed, like above.)

hash

string syn.crypt.hash(data: string, key?: string)

Hashes data with Blake2B. Optionally, you can pass key to create a 'keyed' hash, for which the hash will never be the same for different keys.

(Uses libsodium generic hashing.)

hmac

string syn.crypt.hmac(data: string, key: string)

Creates a HMAC signature from data and key. Note this is not the same as passing a key to the above function, and uses a different algorithm.

(Uses libsodium authentication.)

random

string syn.crypt.random(len: uint)

Generates a random string with size (cannot be negative or exceed 1024).