[tor-dev] Finding the HSDIR responsible for a certain onion address

Frank Young pfcodes at gmail.com
Thu Apr 25 11:31:13 UTC 2013

Thanks for your explanations, but my interest is not on the
calculation of the descriptor id.
I'm actually interested in getting the list of the responsible HSDIR
for the hidden service after i have calculated the descriptor ID.
This is not fully explained in the documents.
According to the specifications, the identity digest of of all HSDIR
should be sorted inclusive of my calculated descriptor id and the next
three HSDIR that immediately appears after the descriptor id are the
responsible HSDIR but this doesn't seems to be true for two reasons.

The calculated descriptor id is base32 encoded unlike the identity
digests which are base64 encoded.
The calculated descriptor ID is 32 characters long unlike the identify
digest of the HSDIR which are mostly 27 ( the shortage was due to the
stripping of trialling "=" from the digest. do we have to append these
before doing the sorting?).

In the tor source code, the comparison was done using the binary based
form of the descriptor ID( non base32 encoded descriptor ID) [
hid_serv_get_responsible_directories( ) in routerlist.c ]

On 4/24/13, Donncha O' Cearbhaill <donnchaocearbhaill at gmail.com> wrote:
> A Tor client generates the desc_id for the v2 hidden service it would like
> to query. It did selects the 3 HSDIR from the router list which are found
> directly after the position of the desc_id when the routers are sorted by
> their identity digest (hash of their onion public key). I took me quite a
> while to figure out exactly how this works from the relatively sparse info
> in the rend-spec.txt.
> I just put up a Gist with the python implementation of desc_id calculation.
> It should be pretty straightforward using STEM to sort list of OR's with
> the HsDir flag by identity_digest and determine which 6 are responsible at
> the current time.
> https://gist.github.com/DonnchaC/5451637
> On Wed, Apr 24, 2013 at 11:23 AM, Frank Young <pfcodes at gmail.com> wrote:
>> Dealing with v2 hidden service descriptors, how does a tor client get
>> the list of HSDIR are responsible for a certain onion address so it
>> can contact them for descriptor of the hidden service?.
>> According to rend-spec.txt the list of the responsible HSDIR for a
>> particular hidden service changes almost in every 24.
>> _______________________________________________
>> tor-dev mailing list
>> tor-dev at lists.torproject.org
>> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev

More information about the tor-dev mailing list