Ben Laurie 35a65e814b Make CBC decoding constant time.
This patch makes the decoding of SSLv3 and TLS CBC records constant
time. Without this, a timing side-channel can be used to build a padding
oracle and mount Vaudenay's attack.

This patch also disables the stitched AESNI+SHA mode pending a similar
fix to that code.

In order to be easy to backport, this change is implemented in ssl/,
rather than as a generic AEAD mode. In the future this should be changed
around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
(cherry picked from commit e130841bccfc0bb9da254dc84e23bc6a1c78a64e)

Conflicts:
	crypto/evp/c_allc.c
	ssl/ssl_algs.c
	ssl/ssl_locl.h
	ssl/t1_enc.c
(cherry picked from commit 3622239826698a0e534dcf0473204c724bb9b4b4)

Conflicts:
	ssl/d1_enc.c
	ssl/s3_enc.c
	ssl/s3_pkt.c
	ssl/ssl3.h
	ssl/ssl_algs.c
	ssl/t1_enc.c
2013-02-05 16:50:32 +00:00
..
2011-05-25 15:15:43 +00:00
2012-03-07 15:14:16 +00:00
2012-03-06 13:20:20 +00:00
2013-02-05 16:50:32 +00:00
2012-03-12 14:50:55 +00:00
2013-02-05 16:50:32 +00:00
2012-03-31 18:02:23 +00:00
2010-04-14 00:17:12 +00:00
2013-02-05 16:50:32 +00:00
2013-02-05 16:50:32 +00:00
2007-01-21 16:07:25 +00:00
2013-02-05 16:50:32 +00:00
2011-02-03 12:04:48 +00:00
2013-02-05 16:50:32 +00:00
2012-12-10 16:45:39 +00:00
2013-02-05 16:50:32 +00:00
2013-02-05 16:50:32 +00:00
2012-10-05 12:50:24 +00:00
2010-03-30 17:31:58 +00:00
2002-07-10 07:01:54 +00:00
2010-02-16 14:19:42 +00:00
2001-11-10 01:16:28 +00:00
2013-02-05 16:50:32 +00:00
2010-03-24 23:16:35 +00:00
2012-03-12 14:50:55 +00:00
2012-10-05 13:02:31 +00:00
2013-02-05 16:50:32 +00:00
2009-09-12 23:09:59 +00:00
2010-02-01 16:48:40 +00:00
2010-01-16 19:18:31 +00:00
2010-02-22 07:05:24 +00:00
2012-03-12 14:50:55 +00:00
2013-02-05 16:50:32 +00:00
2013-02-05 16:50:32 +00:00
2009-12-27 23:03:40 +00:00
2009-11-08 14:51:54 +00:00