I wonder how the .onion domain names can be created? I mean, I don't assume that there is any central domain name provider. So how and where are those addresses created?
-
1Also worth reading this question about .onion addresses in general and this question about getting a less random .onion address. – Andrew Lott Jan 17 '14 at 13:15
The creation of the hostname is described in rend-spec, the Tor Rendezvous Specification.
You are 100% correct: There is no central domain name provider on the Tor network. There is no central anything provider on the Tor network.
How it works:
Tor generates two keys for every service on the Tor network. Tor generates a private "secret" key, and a public "address" key. These work a little like the email-password(sort of like the private key) and email-address(sort of like the public key) combination we're familiar with.
The .onion public "address" domain name is built from the shorter, public key of the service.
First the public "address" key gets hashed with SHA-1.
The first 80 bits of the output are encoded with Base32 (see RFC 4648 for a description).
The result is the hostname of your hidden service.
The Tor software handles this generation for servers.
Further Reading / Try it out
For a more custom "vanity" .onion address generator, some have maintained services like those mentioned here: How do Hidden Services get .onion domains that aren't random?
Shallot is an example of a custom "vanity" address generator.
-
-
-
// , Can these be revoked? I didn't see much in the Tor Rendezvous Specification about revocation. Anyway, Jens, you seem to have a handle on the terminology. Care to take a crack at answering this? tor.stackexchange.com/questions/6965/… – Nathan Basanese Jun 8 '15 at 7:16