I am reading the Tor: The Second-Generation Onion Router article and my question is that how TOR extends circuit to a third node?

On page 7 of the article,left column, it says:

To extend the circuit to a third node or beyond, Alice proceeds as above, always telling the last node in the circuit to extend one hop further.

Does Alice talk to OR2 directly to extend the node or it talks to OR2 through OR1?

If Alice talks to OR2 through OR1, then what commands should she use? As we know extend command was used to extend circuit from OR1 to OR2 and seems it can't be used twice.


Does Alice talk to OR2 directly to extend the node or it talks to OR2 through OR1?

Alice talk to OR2 through OR1( the entry node). You can see from the image below:

enter image description here

To extend to a node n, a relay extend cell should be initiated by Alice through the entry node (OR1) which is propagated up to the n-1 node, which sends a create cell to n, telling to extend the circuit. Once n sends the created cell to n-1, it propagates the relay extended cell back to Alice.

The paper reads:

To construct a relay cell addressed to a given OR, Alice assigns the digest, and then iteratively encrypts the cell payload (that is, the relay header and payload) with the symmetric key of each hop up to that OR. Because the digest is encrypted to a different value at each step, only at the targeted OR will it have a meaningful value.

The Tor Path Specification and Section 2 of this thesis has some really useful information.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.