go/src/crypto/aes
Adam Langley a9ce0f96e1 crypto/{cipher,tls,internal/cryptohw}: prioritise AES-GCM when hardware support is present.
Support for ChaCha20-Poly1305 ciphers was recently added to crypto/tls.
These ciphers are preferable in software, but they cannot beat hardware
support for AES-GCM, if present.

This change moves detection for hardware AES-GCM support into
cipher/internal/cipherhw so that it can be used from crypto/tls. Then,
when AES-GCM hardware is present, the AES-GCM cipher suites are
prioritised by default in crypto/tls. (Some servers, such as Google,
respect the client's preference between AES-GCM and ChaCha20-Poly1305.)

Fixes #17779.

Change-Id: I50de2be486f0b0b8052c4628d3e3205a1d54a646
Reviewed-on: https://go-review.googlesource.com/32871
Run-TryBot: Adam Langley <agl@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-11-07 20:01:18 +00:00
..
aes_gcm.go crypto/cipher: enforce message size limits for GCM. 2016-09-02 16:23:15 +00:00
aes_test.go crypto/aes: use asm for BenchmarkExpand on amd64 2016-04-22 18:58:29 +00:00
asm_amd64.s crypto/{cipher,tls,internal/cryptohw}: prioritise AES-GCM when hardware support is present. 2016-11-07 20:01:18 +00:00
asm_s390x.s crypto/{cipher,tls,internal/cryptohw}: prioritise AES-GCM when hardware support is present. 2016-11-07 20:01:18 +00:00
block.go all: single space after period. 2016-03-02 00:13:47 +00:00
cbc_s390x.go crypto/{aes,cipher}: fix panic in CBC on s390x when src length is 0 2016-10-13 21:42:23 +00:00
cipher.go crypto/aes: de-couple asm and go implementations 2016-04-19 18:50:51 +00:00
cipher_amd64.go crypto/{cipher,tls,internal/cryptohw}: prioritise AES-GCM when hardware support is present. 2016-11-07 20:01:18 +00:00
cipher_generic.go crypto/aes: use asm for BenchmarkExpand on amd64 2016-04-22 18:58:29 +00:00
cipher_s390x.go crypto/{cipher,tls,internal/cryptohw}: prioritise AES-GCM when hardware support is present. 2016-11-07 20:01:18 +00:00
const.go
ctr_s390x.go crypto/cipher, crypto/aes: add s390x implementation of AES-CTR 2016-04-29 21:17:31 +00:00
gcm_amd64.s crypto/aes: fix vet warnings in gcm_amd64.s 2016-04-14 20:06:30 +00:00
gcm_s390x.go crypto/{aes,cipher}: add optimized implementation of AES-GCM for s390x 2016-10-05 15:37:53 +00:00
modes.go crypto/cipher, crypto/aes: add s390x implementation of AES-CTR 2016-04-29 21:17:31 +00:00
modes_test.go crypto/cipher, crypto/aes: add s390x implementation of AES-CTR 2016-04-29 21:17:31 +00:00