boringssl/crypto/cipher/test
David Benjamin ea72bd0b60 Implement all TLS ciphers with stateful AEADs.
The EVP_CIPHER codepath should no longer be used with TLS. It still exists for
DTLS and SSLv3. The AEAD construction in TLS does not allow for
variable-overhead AEADs, so stateful AEADs do not include the length in the ad
parameter. Rather the AEADs internally append the unpadded length once it is
known. EVP_aead_rc4_md5_tls is modified to account for this.

Tests are added (and RC4-MD5's regenerated) for each of the new AEADs. The
cipher tests are all moved into crypto/cipher/test because there's now a lot of
them and they clutter the directory listing.

In ssl/, the stateful AEAD logic is also modified to account for stateful AEADs
with a fixed IV component, and for AEADs which use a random nonce (for the
explicit-IV CBC mode ciphers).

The new implementation fixes a bug/quirk in stateless CBC mode ciphers where
the fixed IV portion of the keyblock was generated regardless. This is at the
end, so it's only relevant for EAP-TLS which generates a MSK from the end of
the key block.

Change-Id: I2d8b8aa11deb43bde2fd733f4f90b5d5b8cb1334
Reviewed-on: https://boringssl-review.googlesource.com/2692
Reviewed-by: Adam Langley <agl@google.com>
2015-01-14 20:30:26 +00:00
..
aes_128_cbc_sha1_tls_implicit_iv_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_128_cbc_sha1_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_128_cbc_sha256_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_128_gcm_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_128_key_wrap_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_256_cbc_sha1_tls_implicit_iv_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_256_cbc_sha1_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_256_cbc_sha256_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_256_cbc_sha384_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_256_gcm_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
aes_256_key_wrap_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
chacha20_poly1305_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
cipher_test.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
des_ede3_cbc_sha1_tls_implicit_iv_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
des_ede3_cbc_sha1_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
make_all_legacy_aead_tests.sh Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
make_legacy_aead_tests.go Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
rc4_md5_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00
rc4_sha1_tls_tests.txt Implement all TLS ciphers with stateful AEADs. 2015-01-14 20:30:26 +00:00