https://github.com/jamesruan/sodium
An wrapper for libsodium in golang
https://github.com/jamesruan/sodium
crypto go golang libsodium
Last synced: 4 months ago
JSON representation
An wrapper for libsodium in golang
- Host: GitHub
- URL: https://github.com/jamesruan/sodium
- Owner: jamesruan
- License: mit
- Created: 2016-04-12T15:06:15.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-01-02T09:47:46.000Z (over 4 years ago)
- Last Synced: 2024-06-18T15:22:05.463Z (almost 2 years ago)
- Topics: crypto, go, golang, libsodium
- Language: Go
- Size: 46.9 KB
- Stars: 77
- Watchers: 8
- Forks: 20
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sodium
A wrapper for [libsodium](https://github.com/jedisct1/libsodium) in golang
See documents [](https://godoc.org/github.com/jamesruan/sodium).
Currently this is build against libsodium 1.0.18.
Following functions included:
- `crypto_auth` `crypto_auth_verify`
- `crypto_sign_keypair` `crypto_sign_seed_keypair` `crypto_sign_ed25519_sk_to_seed` `crypto_sign_ed25519_sk_to_pk`
- `crypto_sign` `crypto_sign_open` `crypto_sign_detached` `crypto_sign_verify_detached`
- `crypto_sign_init` `crypto_sign_update` `crypto_sign_final_create` `crypto_sign_final_verify`
- `crypto_sign_ed25519_sk_to_curve25519` `crypto_sign_ed25519_pk_to_curve25519`
- `crypto_scalarmult_base` `crypto_scalarmult`
- `crypto_box_keypair` `crypto_box_seed_keypair`
- `crypto_box_seal` `crypto_box_seal_open`
- `crypto_box_easy` `crypto_box_open_easy` `crypto_box_detached` `crypto_box_open_detached`
- `crypto_secretbox_easy` `crypto_secretbox_open_easy` `crypto_secretbox_detached` `crypto_secretbox_open_detached`
- `crypto_pwhash` `crypto_pwhash_str` `crypto_pwhash_str_verify`
- `crypto_pwhash_opslimit_interactive` `crypto_pwhash_memlimit_interactive`
- `crypto_pwhash_opslimit_moderate` `crypto_pwhash_memlimit_moderate`
- `crypto_pwhash_opslimit_sensitive` `crypto_pwhash_memlimit_sensitive`
- `crypto_shorthash` `crypto_generichash_init` `crypto_generichash_update` `crypto_generichash_final`
- `crypto_kdf_keygen` `crypto_kdf_derive_from_key`
- `crypto_kx_keypair` `crypto_kx_seed_keypair` `crypto_kx_server_session_keys` `crypto_kx_client_session_keys`
- `crypto_aead_chacha20poly1305_ietf_keygen` `crypto_aead_chacha20poly1305_ietf_encrypt` `crypto_aead_chacha20poly1305_ietf_decrypt`
- `crypto_aead_chacha20poly1305_ietf_encrypt_detached` `crypto_aead_chacha20poly1305_ietf_decrypt_detached`
- `crypto_aead_xchacha20poly1305_ietf_keygen` `crypto_aead_xchacha20poly1305_ietf_encrypt` `crypto_aead_xchacha20poly1305_ietf_decrypt`
- `crypto_aead_xchacha20poly1305_ietf_encrypt_detached` `crypto_aead_xchacha20poly1305_ietf_decrypt_detached`
- `crypto_secretstream_xchacha20poly1305_keygen` `crypto_secretstream_xchacha20poly1305_push_init` `crypto_secretstream_xchacha20poly1305_push`
- `crypto_secretstream_xchacha20poly1305_pull_init` `crypto_secretstream_xchacha20poly1305_pull`
- `sodium_memzero` `sodium_memcmp` `sodium_increment`
> NOTE: This is a modified and enhanced version based on [github.com/GoKillers/libsodium-go](https://github.com/GoKillers/libsodium-go).
> Because there're a lot of package reformat and interface changes, I'd like to launch a new project.
> Thankfully, the original author permits reuse its code as long as the original LICENSE remains.
> You can find the LICENSE.original and README.original.md stating the original license.
> And this version is released under MIT License.