74369b46fc
Inspired by Vectorization of ChaCha Stream Cipher https://eprint.iacr.org/2013/759.pdf name old time/op new time/op delta ChaCha20/32 690ns ± 0% 872ns ± 0% +26.38% (p=0.000 n=10+10) ChaCha20/63 750ns ± 0% 987ns ± 0% +31.53% (p=0.000 n=10+10) ChaCha20/64 674ns ± 0% 879ns ± 0% +30.42% (p=0.000 n=8+10) ChaCha20/256 2.28µs ± 0% 0.82µs ± 0% -64.13% (p=0.000 n=10+10) ChaCha20/1024 8.64µs ± 0% 2.92µs ± 0% -66.15% (p=0.000 n=9+9) ChaCha20/1350 11.9µs ± 0% 4.5µs ± 0% -62.51% (p=0.000 n=10+8) ChaCha20/65536 554µs ± 0% 181µs ± 0% -67.33% (p=0.000 n=10+10) name old speed new speed delta ChaCha20/32 46.3MB/s ± 0% 36.7MB/s ± 0% -20.87% (p=0.000 n=10+9) ChaCha20/63 83.9MB/s ± 0% 63.8MB/s ± 0% -23.97% (p=0.000 n=10+10) ChaCha20/64 94.9MB/s ± 0% 72.8MB/s ± 0% -23.31% (p=0.000 n=10+10) ChaCha20/256 112MB/s ± 0% 312MB/s ± 0% +178.74% (p=0.000 n=10+10) ChaCha20/1024 119MB/s ± 0% 350MB/s ± 0% +195.31% (p=0.000 n=10+9) ChaCha20/1350 114MB/s ± 0% 303MB/s ± 0% +166.73% (p=0.000 n=8+8) ChaCha20/65536 118MB/s ± 0% 362MB/s ± 0% +206.12% (p=0.000 n=10+10) Updates golang/go#22809 Change-Id: I487487faa2ae4ff29de6fd8eb1317740c2939c10 Reviewed-on: https://go-review.googlesource.com/c/107628 Reviewed-by: Filippo Valsorda <filippo@golang.org> |
||
---|---|---|
acme | ||
argon2 | ||
bcrypt | ||
blake2b | ||
blake2s | ||
blowfish | ||
bn256 | ||
cast5 | ||
chacha20poly1305 | ||
cryptobyte | ||
curve25519 | ||
ed25519 | ||
hkdf | ||
internal | ||
md4 | ||
nacl | ||
ocsp | ||
openpgp | ||
otr | ||
pbkdf2 | ||
pkcs12 | ||
poly1305 | ||
ripemd160 | ||
salsa20 | ||
scrypt | ||
sha3 | ||
ssh | ||
tea | ||
twofish | ||
xtea | ||
xts | ||
.gitattributes | ||
.gitignore | ||
AUTHORS | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
LICENSE | ||
PATENTS | ||
README.md | ||
codereview.cfg |
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.