[mirror] Go supplementary cryptography libraries
Перейти к файлу
Filippo Valsorda 61a87790db poly1305: drop broken arm assembly
The ARM assembly uses the reserved G register. This started causing
frequent crashes due to async preemption, but it was already broken in
the presence of signals, including SIGPROF.

name                          old speed      new speed      delta
Chacha20Poly1305/Open-64      2.88MB/s ± 0%  1.85MB/s ± 0%   -35.76%  (p=0.008 n=6+7)
Chacha20Poly1305/Seal-64      3.17MB/s ± 1%  1.97MB/s ± 0%   -37.78%  (p=0.000 n=10+8)
Chacha20Poly1305/Open-64-X    2.41MB/s ± 0%  1.61MB/s ± 0%   -33.29%  (p=0.000 n=9+9)
Chacha20Poly1305/Seal-64-X    2.55MB/s ± 0%  1.64MB/s ± 0%   -35.61%  (p=0.000 n=10+9)
Chacha20Poly1305/Open-1350    8.43MB/s ± 0%  4.15MB/s ± 0%   -50.78%  (p=0.000 n=10+10)
Chacha20Poly1305/Seal-1350    8.55MB/s ± 0%  4.18MB/s ± 0%   -51.12%  (p=0.000 n=9+9)
Chacha20Poly1305/Open-1350-X  8.16MB/s ± 0%  4.06MB/s ± 0%   -50.18%  (p=0.000 n=10+10)
Chacha20Poly1305/Seal-1350-X  8.24MB/s ± 1%  4.08MB/s ± 1%   -50.53%  (p=0.000 n=10+10)
Chacha20Poly1305/Open-8192    9.73MB/s ± 1%  4.56MB/s ± 0%   -53.15%  (p=0.000 n=9+10)
Chacha20Poly1305/Seal-8192    9.57MB/s ± 0%  4.52MB/s ± 0%   -52.77%  (p=0.000 n=9+9)
Chacha20Poly1305/Open-8192-X  9.65MB/s ± 0%  4.54MB/s ± 0%   -52.95%  (p=0.000 n=10+7)
Chacha20Poly1305/Seal-8192-X  9.47MB/s ± 1%  4.50MB/s ± 0%   -52.50%  (p=0.000 n=10+9)

Fixes golang/go#35511

Change-Id: I5e5ca3a0499f04c5fece5bc669a417e32d2656c6
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/213880
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2020-01-09 15:21:10 +00:00
acme acme: expect standard ASN.1 signatures from ECDSA Client.Key 2019-12-05 18:06:55 +00:00
argon2 crypto/{blake2b,blake2s,argon2,chacha20poly1305}: replace CPU feature detection 2018-04-30 18:12:35 +00:00
bcrypt bcrypt: benchmark defaults 2018-10-30 02:28:21 +00:00
blake2b blake2b: use math.bits rotate functions instead of ad-hoc implementations 2019-04-22 16:24:23 +00:00
blake2s blake2s: use math.bits rotate functions instead of ad-hoc implementation 2019-04-22 18:39:09 +00:00
blowfish all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
bn256 bn256: fix String methods when g.p == nil 2019-02-22 23:45:11 +00:00
cast5 all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
chacha20 chacha20: implement XChaCha20 2019-11-11 21:39:47 +00:00
chacha20poly1305 chacha20: expose internal/chacha20 package 2019-11-11 21:38:06 +00:00
cryptobyte cryptobyte: fix typo in test 2018-11-26 14:41:56 +00:00
curve25519 curve25519: implement new X25519 API and deprecate ScalarMult 2019-11-07 22:22:54 +00:00
ed25519 ed25519: turn into a wrapper for crypto/ed25519 beginning with Go 1.13 2019-06-18 22:25:45 +00:00
hkdf hkdf: add Extract and Expand 2018-10-25 21:37:31 +00:00
internal internal/wycheproof: skip failing test on 32-bit arm 2019-12-27 16:37:50 +00:00
md4 all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
nacl nacl/box: support anonymous seal/open 2019-12-19 19:50:13 +00:00
ocsp all: fix ineffectual assignments 2019-01-31 18:25:04 +00:00
openpgp openpgp/elgamal: prevent bad key from causing panic in Decrypt 2019-11-12 22:21:19 +00:00
otr all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
pbkdf2 pbkdf2: add benchmarks 2017-12-19 04:11:29 +00:00
pkcs12 pkcs12: fix dropped error 2019-11-08 23:40:33 +00:00
poly1305 poly1305: drop broken arm assembly 2020-01-09 15:21:10 +00:00
ripemd160 all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
salsa20 salsa20/salsa: fix keystream loop in amd64 assembly when overflowing 32-bit counter 2019-03-20 22:39:03 +00:00
scrypt scrypt: use math.bits rotate functions instead of ad-hoc implementation 2019-04-26 14:53:43 +00:00
sha3 sha3: fix SHA-3 on s390x when using KIMD instruction 2020-01-08 21:55:11 +00:00
ssh ssh: reject unencrypted keys from ParsePrivateKeyWithPassphrase 2019-12-05 16:18:47 +00:00
tea all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
twofish all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
xtea all: deprecate broken and legacy packages 2019-02-22 23:25:34 +00:00
xts xts: reduce tweak allocations 2019-02-22 23:57:06 +00:00
.gitattributes crypto: copying .gitattributes to all subrepositories 2014-12-23 06:54:52 +00:00
.gitignore convert .hgignore to .gitignore. 2014-12-08 10:41:13 +11:00
AUTHORS all: use HTTPS for links that support it 2017-06-29 04:21:55 +00:00
CONTRIBUTING.md CONTRIBUTING.md: remove note about not accepting Pull Requests 2018-03-14 18:02:59 +00:00
CONTRIBUTORS all: use HTTPS for links that support it 2017-06-29 04:21:55 +00:00
LICENSE LICENSE: add 2012-03-17 15:19:30 +11:00
PATENTS go.crypto: add PATENTS file to the subrepo. 2012-04-16 11:25:08 +10:00
README.md README: add improvements 2017-07-19 14:12:01 +00:00
codereview.cfg crypto: add codereview.cfg 2015-03-18 17:04:25 +00:00
go.mod go.mod: set go version 2019-10-28 14:50:41 +00:00
go.sum Revert "ssh/terminal: account for win32 api changes" 2019-09-26 18:03:35 +00:00

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.