A wrapper for libsodium in golang
Currently this is build against libsodium 1.0.18.
Following functions included:
crypto_authcrypto_auth_verifycrypto_sign_keypaircrypto_sign_seed_keypaircrypto_sign_ed25519_sk_to_seedcrypto_sign_ed25519_sk_to_pkcrypto_signcrypto_sign_opencrypto_sign_detachedcrypto_sign_verify_detachedcrypto_sign_initcrypto_sign_updatecrypto_sign_final_createcrypto_sign_final_verifycrypto_sign_ed25519_sk_to_curve25519crypto_sign_ed25519_pk_to_curve25519crypto_scalarmult_basecrypto_scalarmultcrypto_box_keypaircrypto_box_seed_keypaircrypto_box_sealcrypto_box_seal_opencrypto_box_easycrypto_box_open_easycrypto_box_detachedcrypto_box_open_detachedcrypto_secretbox_easycrypto_secretbox_open_easycrypto_secretbox_detachedcrypto_secretbox_open_detachedcrypto_pwhashcrypto_pwhash_strcrypto_pwhash_str_verifycrypto_pwhash_opslimit_interactivecrypto_pwhash_memlimit_interactivecrypto_pwhash_opslimit_moderatecrypto_pwhash_memlimit_moderatecrypto_pwhash_opslimit_sensitivecrypto_pwhash_memlimit_sensitivecrypto_shorthashcrypto_generichash_initcrypto_generichash_updatecrypto_generichash_finalcrypto_kdf_keygencrypto_kdf_derive_from_keycrypto_kx_keypaircrypto_kx_seed_keypaircrypto_kx_server_session_keyscrypto_kx_client_session_keyscrypto_aead_chacha20poly1305_ietf_keygencrypto_aead_chacha20poly1305_ietf_encryptcrypto_aead_chacha20poly1305_ietf_decryptcrypto_aead_chacha20poly1305_ietf_encrypt_detachedcrypto_aead_chacha20poly1305_ietf_decrypt_detachedcrypto_aead_xchacha20poly1305_ietf_keygencrypto_aead_xchacha20poly1305_ietf_encryptcrypto_aead_xchacha20poly1305_ietf_decryptcrypto_aead_xchacha20poly1305_ietf_encrypt_detachedcrypto_aead_xchacha20poly1305_ietf_decrypt_detachedcrypto_secretstream_xchacha20poly1305_keygencrypto_secretstream_xchacha20poly1305_push_initcrypto_secretstream_xchacha20poly1305_pushcrypto_secretstream_xchacha20poly1305_pull_initcrypto_secretstream_xchacha20poly1305_pullsodium_memzerosodium_memcmpsodium_increment
NOTE: This is a modified and enhanced version based on 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.