Cisco CSS cipher key strength

16 08 2007

There are various cipher suites available in the CSS for encrypting SSL traffic (if you have the SSL module, that is…).  You can choose which to support and weight them in your SSL proxy list if you don’t agree with Cisco’s interpretation of which should be used first.

A customer just asked me what key length the “rsa-with-3des-ede-cbc-sha” cipher used, since most of the other cipher names have a key-length in their name, but this one doesn’t.  Also, confusingly, browsers didn’t seem to agree on what was in use either – IE6 said it was 128-bit, Firefox said 168-bit and IE7 didn’t say anything at all/

So I did a bit of exploring to find out what 3DES was all about.

Basically 3DES uses a 168-bit key.  This is broken down into three 56-bit keys for use in the cryptographic process.  Then DES is performed three times on the plain-text message.   Usually, the message is encrypted with key 1, decrypted with key 2, and encrypted with key 3 – hence the “ede” part of the cipher name.  (The alternative is “eee”, but as I understand it, “ede” is normally used for ease of coding).

Note: In some cases you will see people saying that 3DES is 192-bit (i.e. 3 x 64-bit).  In reality, it is really only 3 x 56-bit because the extra byte (that makes each key up to 64-bits) is used for parity, and not for keying.

I used Opera and Firefox on the site, and they both say they’re in 168-bit mode, while IE says it is in 128-bit mode.  I even turned on TLS 1.0 in the settings of IE, but it made no difference.

As far as I can tell, IE 6 cannot support key lengths greater that 128-bit.  I can’t find any definite proof of this, but in the “Help | About” menu, it shows the cipher strength is only 128-bit.

IE7 supports AES, which is the new 3DES replacement. AES encryption is up to six times faster than 3DES, and it is much stronger. It supports up to 256-bit key lengths – hence what you see in the Vista version of IE.  However, since the CSS does not yet support it, an AES-encrypted connection cannot be negotiated at the moment between a  browser and the CSS.

So… in summary, it appears to come down to the highest level of encryption supported between the browser and the SSL module.  IE6 is the limiting factor here as far as I can tell.


Wikipedia entry on 3DES
Webopedia entry on 3DES
Tropical Software’s 3DES overview
Cisco’s CSS SSL configuration guide




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: