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_detachedfunction -
public-key encryptions use libsodium’s public-key authenticated encryption Box
crypto_box_easyfunction -
symmetric-key encryptions use libsodium’s secret-key authenticated encryption SecretBox
crypto_secretbox_easyfunction
For cryptographic hash functions such as the hash function used to compute block hashes, the sigchain protocol uses SHA-256.