Cryptographic Libraries
The sigchain protocol depends on public-key signatures, public-key encryption, symmetric-key encryption, and cryptographic hash functions.
For public-key and symmetric-key cryptography, the sigchain protocol uses the libsodium library. Specifically,
-
public-key signatures use libsodium’s Sign
crypto_sign_detached
function -
public-key encryptions use libsodium’s public-key authenticated encryption Box
crypto_box_easy
function -
symmetric-key encryptions use libsodium’s secret-key authenticated encryption SecretBox
crypto_secretbox_easy
function
For cryptographic hash functions such as the hash function used to compute block hashes, the sigchain protocol uses SHA-256
.