Pure Go implementation of cryptographic APIs found in libsodium
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
aead
auth
box
codecs
core
generichash
hash
internal
kdf
kx
onetimeauth
pwhash
random
scalarmult
secretbox
secretstream
shorthash
sign
stream
.gitignore
CREDITS.md
LICENSE
README.md
doc.go
interfaces.go

README.md

libgodium

Pure Go implementation of cryptographic APIs found in libsodium. The implementations are compatible with libsodium 1.0.15.

Import

go get go.artemisc.eu/godium

Godoc

https://godoc.org/go.artemisc.eu/godium

License

Unless otherwise specified, code present in this library is licensed under the Mozilla Public License Version v2.0.

Credits

This library is built upon existing cryptographic implementations. See the CREDITS.md file for relevant credits/licenses.

Implemented APIs

  • 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