Torchat ID maker

Originally there was Tor, and there were lengthy cryptic keys, and onion sites had strange names. Along came Torchat and Torchat ID's looked as strange as the onion addresses. Gradually though, sites began to emerge with names you could read. There were Silk Road (silkroadvb5piz3r.onion), the Cyberia Shop (cyberianz5iv6bxh.onion), and Secure Messaging System for TOR (sms4tor3vcr2geip.onion). How did these sites get such domains, and what about those with human readable Torchat ID's? Where did their owners get them?

The secret lay with an obscure program authored by bebop called Onionhash. It came as a single, small source file. Only the most technically savvy could figure out how to compile it. Later, `Orum authored a fork of Onionhash which he named Shallot. Shallot came with compiling instructions, but both programs required Cygwin to compile and relied on the presence of Cygwin dll's to run. Both are command line apps, and both slow down other running programs.

Garlic is the first such program running in a windows GUI. It's small and simple to use.

Garlic runs all its threads at idle priority so does not slow down other running processes.

Garlic comes with source code and compiling instructions, but it comes as a precompiled binary too.

Plus, Garlic is free of the bug that plagues Shallot and its forks.

Projected times are estimates and are based on a benchmark speed established when Garlic is first run. The machine which delivered the above result has a four core processor and is using four threads. Other running programs may reduce the speed of Garlic, but Garlic will never interfere with them. The times required to generate Tom, Dick, and Harry on my machine are .002 second, .06 second, and 1.94 seconds respectively. Each additional character multiplies the required time by 32. So while Harry takes, on average, 1.94 seconds, Harrison would take 17.68 hours. Choose your nym wisely, young Skywalker!

Garlic started life as a port of Onionhash, but has become a port of Shallot without the bad key bug. So I guess technically, that makes it a fork as one routine was completely rewritten and another added. I borrowed a couple inline routines from Unperson Hiro, the author of Eschalot, itself a fork of Shallot. These programs depend entirely on OpenSSL to generate a starting key and to check the validity of generated names or domains. I say domains because these results are as valid for onion domains as for Torchat IDs. Garlic could just as easily be consider a custom onion domain generator as a Torchat ID maker.

The current release, Garlic0.0.5.3, is a multi-threaded version of Garlic. Speeds are phenomenal with multicore processors! I see a billion tries per minute on a 4-core machine.

Compiling Garlic
Using Garlic
What to do with the results

A precompiled binary is here.

For programmers: How Garlic works

Related link