How do I generate vanity onion addresses of the Tor Rendezvous specification version 3? Scallion does not support it.

Scallion README.md

Scallion was a hobby project to learn OpenCL and RSA. We are not currently maintaining scallion. It has bitrotted in two important ways:

Tor has moved on to v3 Onion addresses, which scallion does not support. Old v2 addresses will stop working in October of 2021. The new spec uses different cryptographic primitives and is overall more complicated.

Types of .onion addresses

v2 onion services

They will always be 16 characters long. Each character has 32 possible values. Therefore, there are 3216 == 1,208,925,819,614,629,174,706,176 unique v2 onion addresses.

Example = facebookcorewwwi.onion

  • The address is "the first 80 bits of the SHA-1 of the 1024-bit RSA key"

v3 onion services

They will always be 56 characters long. A v3 address will always end in a d due to the way v3 onion service names are encoded.

Example = vww6ybal4bd7szmgncyruucpgfkqahzddi37ktceo3ah7ngmcopnpyyd.onion

Some reasons for the update to move from v2 onions:

  • The cryptographic building blocks use updated or more secure signature algorithms and hashing methods. For instance, the older SHA1/DH/RSA1024 was swapped with SHA3/ed25519/curve25519.
  • Directory protocol has been improved and now leaks less metadata to directory servers. This is, in part, to avoid attacks where a hidden service can be censored easily based on the descriptor. To prevent predictability Tor uses, different, pseudo random variables. Time period, public keys, shared random values, etc.
  • “Better onion address security against impersonation; more extensible introduction/rendezvous protocol; and a cleaner and more modular codebase.”

I've used mkp224o to generate V3 onion addresses.

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.