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.