I read that Tor proxy maintains key with each Tor node for encryption. Then, why does a Tor node maintains TLS keys with other Tor nodes?

2 Answers 2


If I understand your question right, you're wondering about the link protocol that relays use to talk to each other. This protocol ensures that relays establish exactly one connection to each other, not a new connection per circuit they carry. Doing it that way has two advantages. One is anonymity: Multiple circuits are multiplexed over such a connection between relays, meaning the attacker cannot easily learn which data belongs to which circuit. The other is just plain necessity: Making a new connection for each circuit would mean relays need to open way too many connections than the TCP protocol can handle, making it impossible to support a Tor network of current size.


An onion is meant to be peeled off layer-by-layer by the intended node. This is only possible if the data is encrypted in multiple layers using keys of the Onion Routers in sequence. This is the reason TOR client needs to store the public keys of the Onion Routers.

  • But my doubt is why onion routers maintains key with each other(onion routers)??I know that they maintain key with TOR client for encryption and decryption purpose. Commented Mar 5, 2015 at 9:51
  • Once data is sent from Alice Bob, the response of Bob is also needed to be sent back to Alice. In this case knowing the public keys of other routers is needed, i.e. to create Reply Onions.
    – tbking
    Commented Mar 7, 2015 at 18:56

You must log in to answer this question.

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