Alternative TLS implementation in Go
Go to file
Adam Langley 6f5a445fc3 crypto/tls: only store a single nonce for AES-GCM.
Although an AEAD, in general, can be used concurrently in both the seal
and open directions, TLS is easier. Since the transport keys are
different for different directions in TLS, an AEAD will only ever be
used in one direction. Thus we don't need separate buffers for seal and
open because they can never happen concurrently.

Also, fix the nonce size to twelve bytes since the fixed-prefix
construction for AEADs is superseded and will never be used for anything
else now.

Change-Id: Ibbf6c6b1da0e639f4ee0e3604410945dc7dcbb46
Reviewed-on: https://go-review.googlesource.com/30959
Run-TryBot: Adam Langley <agl@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-10-17 21:35:30 +00:00
testdata crypto/tls: support ChaCha20-Poly1305. 2016-10-17 21:05:26 +00:00
alert.go crypto/tls: switch to OpenSSL 1.1.0 for test data. 2016-10-12 17:03:46 +00:00
cipher_suites.go crypto/tls: only store a single nonce for AES-GCM. 2016-10-17 21:35:30 +00:00
common.go crypto/tls: enable X25519 by default. 2016-10-12 17:07:31 +00:00
conn_test.go crypto/tls: implement countermeasures against CBC padding oracles 2016-10-04 13:21:02 +00:00
conn.go Revert "crypto/tls: add CloseWrite method to Conn" 2016-10-17 21:33:09 +00:00
example_test.go crypto/x509: add example of using a custom root list. 2014-02-19 11:18:35 -05:00
generate_cert.go crypto/tls: Support ECDSA keys in generate_cert.go 2014-07-28 14:46:34 -07:00
handshake_client_test.go crypto/tls: support ChaCha20-Poly1305. 2016-10-17 21:05:26 +00:00
handshake_client.go crypto/tls: simplify keylog tests. 2016-10-01 15:50:11 +00:00
handshake_messages_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
handshake_messages.go crypto/tls: allow renegotiation to be handled by a client. 2016-04-28 17:56:28 +00:00
handshake_server_test.go crypto/tls: support ChaCha20-Poly1305. 2016-10-17 21:05:26 +00:00
handshake_server.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
handshake_test.go crypto/tls: switch to OpenSSL 1.1.0 for test data. 2016-10-12 17:03:46 +00:00
key_agreement.go crypto/tls: support X25519. 2016-10-12 17:04:28 +00:00
prf_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
prf.go all: standardize RFC mention format 2016-04-12 21:07:52 +00:00
ticket.go crypto/tls: minor refactors for readability 2016-03-14 21:17:37 +00:00
tls_test.go Revert "crypto/tls: add CloseWrite method to Conn" 2016-10-17 21:33:09 +00:00
tls.go crypto/tls: add Config.Clone 2016-09-01 04:26:12 +00:00