Picocrypt/Internals.md

12 lines
801 B
Markdown
Raw Normal View History

2021-05-31 06:50:03 +12:00
# Internals
2021-08-08 10:05:38 +12:00
If you're wondering about how Picocrypt handles cryptography, you've come to the right place! This page contains the technical details about the cryptographic algorithms and parameters used. This page does not go in-depth, as you can just review the source (there's only one file) to understand the nitty-gritty details.
2021-05-31 06:50:03 +12:00
# Core Cryptography
2021-08-08 10:05:38 +12:00
Picocrypt uses the following cryptographic primitives:
- XChaCha20 (cascaded with Serpent for paranoid mode)
2021-08-14 03:59:04 +12:00
- HMAC-SHA3 for normal mode, keyed-BLAKE2b for fast mode (256-bit key, 512-bit digest)
- HKDF-SHA3-256 for deriving a subkey used with the MAC above
2021-08-08 10:05:38 +12:00
- Argon2id (8 passes, 1 GiB memory, 8 threads) for normal mode, (4 passes, 128 MiB memory, 4 threads) for fast mode
2021-05-31 06:50:03 +12:00
2021-08-14 03:59:04 +12:00
All primitives used are from the well-known golang.org/x/crypto module.