[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-talk] Let's make Onion Addresses Meaningful To Humans

On 2012-02-24, Ahmed Hassan <ahmed@xxxxxxxxxxxx> wrote:
> Hello Folks,
> I have a cool idea to make onion addresses memorable. That will have no
> effect on its authenticity and security.
> First, I need to define some terms I will use in this email.
> Î*_{e}: is any English (or any other language) word.
> D*: is a set of all English words (or any other language again) in
> dictionary.

Which languages do you want us to ship a dictionary for in every Tor
client?  (Please specify the exact dictionaries you want us to use as

How large are these dictionaries (in bytes)?

> D*_{N}: N means the location of element Î* in D*.
> For example, if D* = { 'cat', 'hat' ,'rat' }.
> D*_{0} returns 'cat', and D*_{'cat'} returns 0
> max(D*): is a total number of words in a dictionary D*.
> I hope you didn't get confused at this point.
> Onion address needs to be converted to decimal instead of base 32 to
> make it easier to implement.

No.  Computers do not operate efficiently on numbers represented in base 10.

> Let's say I have already have a value of onion address converted to a
> decimal. That number is 2025107508922.
> I will take that number and convert it to number in base max(D*).
> If we have 51236 words in English dictionary, the result of that
> conversion will be only 3 digits numbers. The numbers after conversion
> are the following:
> 771-22133-48918
> Here is a wolframalpha conversion link
> http://www.wolframalpha.com/input/?i=2025107508922++convert+to+base
> +51236
> I used dash "-" instead of colons ":" to separate the converted digits.
> It's easier to make it work with the URL (URL uses colon to separate
> address from port) , and easier to convert to the original value.
> We will take 711, 22133 and 48918 and return the Î*_{e} from D*. Where
> Î*_{e} is an English word, and D* is a dictionary.
> So, D*_{771}: returns Î*_{e}', and D*_{22133}: returns different
> Î*_{e}'' and so on.
> At the end we will have something like that:
> Î*_{e}'  -  Î*_{e}''  -  Î*_{e}^(3).onion
> If Î*_{e}' is equal to 'cat',  Î*_{e}'' ( '' means another word) is
> equal to 'rat' and  Î*_{e}^(3) is equal to 'hat'. The final result will
> be something like this
> cat-rat-hat.onion.

Have you tried this using the actual dictionaries that you want us to
use?  Are the resulting addresses really memorable?  How long are the
resulting addresses?  Can they be entered into a computer as
efficiently as addresses in the current format?  Can a human proofread
addresses in this form for errors as efficiently as addresses in the
current format?

Robert Ransom
tor-talk mailing list