I've just started studying Tor and I came across TAP and ntor protocols. Just want to clear up that are these protocols decided at the time of circuit creation or each relay can decide on its own that which protocol to use?

1 Answer 1


So I gues to start off: since - 2014-10-30 tor relays and clients are required to support ntor:

- Remove the --disable-curve25519 configure option. Relays and
  clients now are required to support curve25519 and the
  ntor handshake.

Furthermore, since - 2014-02-28 all circuits will contain at least one node that supports ntor:

o Major features (client security):
 - When we choose a path for a 3-hop circuit, make sure it contains
   at least one relay that supports the NTor circuit extension
   handshake. Otherwise, there is a chance that we're building
   a circuit that's worth attacking by an adversary who finds
   breaking 1024-bit crypto doable, and that chance changes the game
   theory. Implements ticket 9777.

If a relay supports ntor, clients and other relays will use that to talk to it. This is decided at circuit creation (or before circuit creation?). To try and speak TAP to an ntor-supporting relay would require modifications to the source code.

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.