Does TLS always use the same algorithms for both client to server and server to client communication or can they be different?

E.g. is it possible that the client uses AES256 to cipher the data before sending it, while the server employs RC4?

1 Answer 1


The cipher used is the same in both directions and thus the encryption algorithm is the same too. In detail: the client proposes some ciphers it is willing to use and the server picks one of these ciphers and sends it back to the client.

  • I wonder if there's any utility in such a disparity of cipher suite usage. I can't think of one, but it is an interesting concept to mull over.
    – Polynomial
    Dec 30, 2016 at 20:25
  • 1
    @Polynomial Just guessing: One small embedded device with a hardware AES engine, one with hardware RC4?
    – bot47
    Dec 30, 2016 at 20:46
  • @SteffenUllrich Is this a technical limitation of the standard or is it just that it is always done that way, eg best practice?
    – bot47
    Dec 30, 2016 at 20:47
  • 1
    Another potential security challenge is that ciphers have generally been studied as secure when used in isolation. If you re-use the same key for two different ciphers you may open yourself up to some very interesting security holes.
    – Polynomial
    Dec 30, 2016 at 22:10
  • 2
    @Polynomial: SSL/TLS uses different keys (and IVs when applicable) in each direction anyway; see crypto.stackexchange.com/questions/1139/… . For completeness: if client authentication is used, which is fairly rare, the (publickey) algorithm for client auth is independent of that for server auth. Dec 31, 2016 at 7:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .