boringssl/crypto
David Benjamin 23721e3705 Forbid reusing HMAC key without reusing the hash function.
There's no good reason to do this, and it doesn't work; HMAC checks the length
of the key and runs it through the hash function if too long. The reuse occurs
after this check.

This allows us to shave 132 bytes off HMAC_CTX as this was the only reason it
ever stored the original key. It also slightly simplifies HMAC_Init_ex's
logic.

Change-Id: Ib56aabc3630b7178f1ee7c38ef6370c9638efbab
Reviewed-on: https://boringssl-review.googlesource.com/3733
Reviewed-by: Adam Langley <agl@google.com>
2015-03-02 23:16:12 +00:00
..
aes Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
asn1 Fix more memory leaks on malloc failure. 2015-02-13 18:43:01 +00:00
base64 Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
bio Use TCP sockets rather than socketpairs in the SSL tests. 2015-02-23 19:59:06 +00:00
bn Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
buf Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
bytestring Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
chacha Switch nonce type in chacha_vec.c to uint32_t. 2015-02-13 13:16:59 -08:00
cipher EVP_CIPHER_CTX_cleanup cannot fail. 2015-02-23 19:44:02 +00:00
conf Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
des Change CMakeLists.txt to two-space indent. 2015-01-28 16:37:10 -08:00
dh Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
digest Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
dsa Add in missing curly braces part 1. 2015-02-11 19:31:01 +00:00
ec Remove pointless free, and use preferred way of calling d2i_* functions 2015-02-27 19:47:36 +00:00
ecdh Add in missing curly braces part 2. 2015-02-11 23:14:04 +00:00
ecdsa Add in missing curly braces part 2. 2015-02-11 23:14:04 +00:00
engine Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
err Add functions to parse and generate PKCS#7 files with CRLs. 2015-02-27 19:48:19 +00:00
evp EC_GROUP_cmp should return zero if the groups match. 2015-02-25 21:13:02 +00:00
hkdf Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
hmac Forbid reusing HMAC key without reusing the hash function. 2015-03-02 23:16:12 +00:00
lhash Remove more bits of ERR_STRING_DATA. 2015-02-10 02:10:46 +00:00
md4 Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
md5 Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
modes Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
obj Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
pem Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
perlasm perlasm/x86masm.pl: make it work. 2015-02-23 19:45:30 +00:00
pkcs8 Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
poly1305 Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
rand Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
rc4 Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
rsa Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00
sha Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
stack Add sk_deep_copy and its macro. 2015-02-13 10:59:10 -08:00
x509 Add support for reading PKCS#7 data from PEM files. 2015-02-27 21:02:38 +00:00
x509v3 Remove support for zero lengths from do_x509_check. 2015-02-13 11:00:48 -08:00
arm_arch.h aarch64 support. 2015-01-14 23:38:11 +00:00
CMakeLists.txt Find perl using the CMake's standard FindPerl module. 2015-02-23 19:59:48 +00:00
constant_time_test.c Update constant-time operations. 2014-11-10 13:48:30 -08:00
cpu-arm-asm.S Don't probe for NEON with SIGILL on aarch64. 2015-02-03 19:56:25 +00:00
cpu-arm.c Don't probe for NEON with SIGILL on aarch64. 2015-02-03 19:56:25 +00:00
cpu-intel.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
cpu-x86_64-asm.pl Remove explicit .hiddens from x86_64 perlasm files. 2015-02-25 21:26:16 +00:00
cpu-x86-asm.pl Never set RC4_CHAR. 2015-02-20 23:59:59 +00:00
crypto_error.h Add ISC header to a handful of files. 2014-06-26 10:26:42 -07:00
crypto.c aarch64 support. 2015-01-14 23:38:11 +00:00
directory_posix.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
directory_win.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
directory.h Add visibility rules. 2014-07-31 22:03:11 +00:00
ex_data_impl.c Free more memory in cleanup functions. 2015-01-13 00:04:35 +00:00
ex_data.c Don't compare signed vs. unsigned. 2014-10-01 02:17:38 +00:00
header_removed.h Add ISC header to a handful of files. 2014-06-26 10:26:42 -07:00
internal.h aarch64 support. 2015-01-14 23:38:11 +00:00
mem.c Enable more warnings & treat warnings as errors on Windows. 2015-01-31 00:18:55 +00:00
thread.c Remove string.h from base.h. 2015-02-02 19:14:15 +00:00
time_support.c Add in missing curly braces part 3. 2015-02-11 15:14:46 -08:00