Ben Laurie
fb0a59cc58
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)
2013-02-06 13:56:12 +00:00
..
2005-04-11 14:17:07 +00:00
2012-04-16 17:43:02 +00:00
2012-04-06 12:00:24 +00:00
2012-04-06 12:00:24 +00:00
2013-02-06 13:56:12 +00:00
2012-04-18 15:17:39 +00:00
2005-08-14 21:48:33 +00:00
2013-02-06 13:56:12 +00:00
2012-02-11 22:53:48 +00:00
2012-04-06 12:00:24 +00:00
2012-06-03 22:03:37 +00:00
2012-05-10 15:01:26 +00:00
2009-04-21 22:20:12 +00:00
2011-05-11 22:52:34 +00:00
2011-05-11 22:52:34 +00:00
2013-02-06 13:56:12 +00:00
2013-02-06 13:56:12 +00:00
2007-06-04 17:04:40 +00:00
2012-12-26 16:25:06 +00:00
2008-10-12 14:32:47 +00:00
2013-02-06 13:56:12 +00:00
2012-06-03 22:03:37 +00:00
2013-02-06 13:56:12 +00:00
2013-01-15 15:55:54 +00:00
2013-02-06 13:56:12 +00:00
2013-01-15 16:18:13 +00:00
2008-10-12 14:32:47 +00:00
2013-02-06 13:56:12 +00:00
2012-12-30 01:12:19 +00:00
2012-12-26 22:40:46 +00:00
2010-06-15 17:25:15 +00:00
2011-05-11 13:37:52 +00:00
2002-07-10 07:01:54 +00:00
2012-12-26 16:17:40 +00:00
2011-11-21 22:52:01 +00:00
2011-05-11 12:56:38 +00:00
2013-02-06 13:56:12 +00:00
1998-12-21 10:56:39 +00:00
2013-02-06 13:56:12 +00:00
2011-10-25 12:52:47 +00:00
2012-12-26 16:25:06 +00:00
2013-01-15 16:18:13 +00:00
2012-12-29 13:30:56 +00:00
2001-02-20 08:13:47 +00:00
2012-12-29 13:30:56 +00:00
2013-01-15 16:18:13 +00:00
2013-02-06 13:56:12 +00:00
2012-06-07 13:20:20 +00:00
2012-05-29 17:27:48 +00:00
2011-11-25 00:18:10 +00:00
2002-11-13 15:43:43 +00:00
2011-05-11 13:37:52 +00:00
2012-01-05 14:30:08 +00:00
2013-01-15 16:18:13 +00:00
2012-12-30 01:12:19 +00:00
2011-05-11 13:37:52 +00:00
2013-02-06 13:56:12 +00:00
2013-02-06 13:56:12 +00:00
2011-05-11 13:37:52 +00:00
2009-12-27 22:59:09 +00:00
2011-05-11 13:37:52 +00:00
2013-02-04 15:14:00 +00:00
2012-12-26 16:17:40 +00:00
2012-06-03 22:03:37 +00:00