argon2: add new package implementing the Argon2 PBKDF family

This CL adds the package argon2. The argon2 package implements
the Argon2 PBKDF family (Argon2i, Argon2d, Argon2id).

Argon2 is memory-hard key derivation function and is specified
at https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf
It can be used to derive cryptographic keys with high entropy from low
entropy passwords.

Fixes golang/go#19896

Change-Id: I5b099682a8e3d7569ad18400cebddefc99a7e22f
Reviewed-on: https://go-review.googlesource.com/82575
Run-TryBot: Adam Langley <agl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Adam Langley <agl@golang.org>
8 files changed
tree: 1e0fd6f095d5d8ecf4ed687b0c00edeca8aa2ff8
  1. acme/
  2. argon2/
  3. bcrypt/
  4. blake2b/
  5. blake2s/
  6. blowfish/
  7. bn256/
  8. cast5/
  9. chacha20poly1305/
  10. cryptobyte/
  11. curve25519/
  12. ed25519/
  13. hkdf/
  14. md4/
  15. nacl/
  16. ocsp/
  17. openpgp/
  18. otr/
  19. pbkdf2/
  20. pkcs12/
  21. poly1305/
  22. ripemd160/
  23. salsa20/
  24. scrypt/
  25. sha3/
  26. ssh/
  27. tea/
  28. twofish/
  29. xtea/
  30. xts/
  31. .gitattributes
  32. .gitignore
  33. AUTHORS
  34. codereview.cfg
  35. CONTRIBUTING.md
  36. CONTRIBUTORS
  37. LICENSE
  38. PATENTS
  39. README.md
README.md

Go Cryptography

This repository holds supplementary Go cryptography libraries.

Download/Install

The easiest way to install is to run go get -u golang.org/x/crypto/.... You can also manually git clone the repository to $GOPATH/src/golang.org/x/crypto.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the crypto repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/crypto:” in the subject line, so it is easy to find.

Note that contributions to the cryptography package receive additional scrutiny due to their sensitive nature. Patches may take longer than normal to receive feedback.