Skip to content

drop RC4 support

Ard Biesheuvel ell 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2tls: remove support for RC4 cipher suitesell/tls-suites.c unit/test-tls.c+4 -400 replies
2/2cipher: remove obsolete arc4 supportell/cipher.c ell/cipher.h unit/test-cipher.c+7 -610 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] drop RC4 support

RC4 support in libell is based on the ecb(arc4) skcipher exposed by the Linux crypto API, which is an odd beast given that it does not distinguish between the key and the IV, and therefore does not fit the skcipher API very well.

Now that work is underway in the linux-crypto kernel community to implement chained requests for skciphers, we are running into problems with this: the state that needs to be kept between skcipher requests to implement chaining is currently kept in the TFM object (which holds the key) in the case of ecb(arc4), and moving this into the request object (to match the way chaining is implemented for other skcipher modes) may enable key reuse (and thus IV reuse in the ARC4 case), which amount to catastrophic failure for any stream cipher.

So in order to address this in a safe and robust manner, we intend to retire the ecb(arc4) skcipher entirely on the Linux side. This obviously requires work in the userland side as well, hence this series.

Ard Biesheuvel (2):
tls: remove support for RC4 cipher suites
cipher: remove obsolete arc4 support

 ell/cipher.c       |  8 +--
 ell/cipher.h       |  4 +-
 ell/tls-suites.c   | 41 ++------------
 unit/test-cipher.c | 56 --------------------
 unit/test-tls.c    |  3 +-
 5 files changed, 11 insertions(+), 101 deletions(-)
Signature · 1 line
2.20.1