Notice: The public API is not stable and backward compatibility is currently not guaranteed. This code should currently NOT used in productive environments!
The crypto
package implements some additional cryptographic functionality, currently not supported by the standard or additional golang packages.
This repository should not replace or somehow compete with the golang crypto packages. Rather, this package should supplement the official and additional golang cryptographic.
Currently implemented:
- The BLAKE2b and BLAKE2s hash functions.
- The Camellia block cipher.
- The ChaCha20 stream cipher.
- The CMac message authentication code (OMAC1).
- The HC-128 and HC-256 stream ciphers
- The Poly1305 message authentication code.
- The Serpent block cipher.
- The SipHash message authentication code.
- The Skein hash function.
- The Threefish tweakable block cipher.
- The Diffie-Hellman and ECDH key exchange.
- The EAX AEAD block cipher mode.
- Some Padding schemes for block ciphers.
The aim of this project / repository is a powerful, flexible and easy to use cryptographic library, which can be easily integrated into Go applications.
Install in your GOPATH: go get -u github.com/enceve/crypto
Install Dependencies: go get -u golang.org/x/crypto
First of all: Contributions are welcome!
If you have an idea or found a bug - please raise an issue. If you want to add functionality - as usual on github send a pull request.