{"repo":"kevinburke/nacl","free":true,"listed":false,"github":"https://github.com/kevinburke/nacl","clone":"git clone https://github.com/kevinburke/nacl.git","description":"Pure Go implementation of the NaCL set of API's","language":"Go","stars":550,"topics":["golang","nacl","security","secretbox","curve25519"],"license":"BSD-3-Clause","category":"security-tools","readme_excerpt":"go-nacl This is a pure Go implementation of the API's available in NaCL: https://nacl.cr.yp.to. Compared with the implementation in golang.org/x/crypto/nacl, this library offers all of the API's present in NaCL, better compatibility with NaCL implementations written in other languages, as well as some utilities for generating and loading keys and nonces, and encrypting messages. Many of them are simple wrappers around functions or libraries available in the Go standard library, or in the golang.org/x/crypto package. Other code I copied directly into this library with the appropriate LICENSE; if a function is longer than, say, 5 lines, I didn't write it myself. There are no dependencies outside of the standard library or golang.org/x/crypto. The goal is to both show how to implement the NaCL functions in pure Go, and to provide interoperability between messages encrypted/hashed/authenticated in other languages, and available in Go. Among other benefits, NaCL is designed to be misuse resistant and standardizes on the use of 32 byte keys and 24 byte nonces everywhere. Several helpers are present for generating keys/nonces and loading them from configuration, as well as for encrypting messages. You can generate a key by running openssl rand -hex 32 and use the helpers in your program like so: The package names match the primitives available in NaCL, with the crypto prefix removed. Some function names have been changed to match the Go conventions. Installation Or you can Git clone","default_branch":null,"files":null,"tree":[],"storefront":"/r/kevinburke","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kevinburke/nacl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}