Pure Go implementation of cryptographic APIs found in libsodium. The implementations are compatible with libsodium 1.0.15.
go get go.artemisc.eu/godium
https://godoc.org/go.artemisc.eu/godium
Unless otherwise specified, code present in this library is licensed under the Mozilla Public License Version v2.0.
This library is built upon existing cryptographic implementations. See the CREDITS.md file for relevant credits/licenses.
- AEAD
- aes256gcm
- chacha20poly1305
- chacha20poly1305_ietf
- xchacha20poly1305_ietf
- Auth
- hmacsha256
- hmacsha512
- hmacsha256256
- Box
- curve25519xchacha20poly1305
- curve25519xsalsa20poly1305
- Core
- hchacha20
- hsalsa20
- salsa20 (TODO: amd64 implementation)
- Generic Hash
- blake2b
- Hash
- sha256
- sha512
- KDF (Key Derivation Function)
- blake2b
- KX (Key Exchange)
- x25519blake2b
- OneTimeAuth
- poly1305
- Password Hash
- TODO argon2id
- TODO argon2i
- TODO scrypt
- Random bytes
- sodium randombytes
- Scalar Mult
- curve25519
- Secret Box
- xchacha20poly1305
- xsalsa20poly1305
- Secret Stream
- xchacha20poly1305
- Short Hash
- siphash24
- siphashx24
- Signature
- ed25519
- ed25519ph
- Stream
- chacha20
- chacha20 ietf
- xchacha20
- TODO salsa208
- TODO salsa2012
- salsa20
- xsalsa20
- Misc/Util
- TODO constant time hex encode/decode
- TODO constant time base64 encode/decode