well, i currently try to do this with n=16....

i hope i can find words for each hash... if i don't have all hashs
after scanning some joyce and lovecraft texts, some linux documentation
and the fortune-cookies i'll use an other hash.....

after finding out, that i haven't any Hash::- perl-module, i decided
to make my own - bad, of course - hash-algo... let's see if i can live
with it.

after haveing a long wordlist, i might add some data to each word, e.g.
saying "rabbit: noun nom./akk./dat. sing. neutr." 

so i can use this to compose easy-to-remember nonsense sentences.
 

well... seems like n=16 is tooo high.... *sigh*  so i'll lower it...

Michael Rogers (Wed, Apr 18, 2001 at 06:41:56PM +0100):
> Most Freenet keys will be embedded in hyperlinks or exchanged privately 
> by email/fmail, so it will rarely be necessary for users to exchange keys 
> by word of mouth or on pieces of paper. However, on the rare occasions 
> when this is necessary, it would be nice to have a secure key type that's 
> suited to spoken or handwritten exchange.
> 
> For handwritten keys, we want to avoid the ambiguities in base 64:
> 
> 1/l/I
> 2/Z/z
> S/5/s
> O/0/o
> 9/g
6/G
> 
> Hex is a possibility, but it will make the keys even longer without making 
> them any easier to remember. Another possibility is something I call "dada 
> keys".
> 
> To construct a dada key, you choose a lexicon of words in any language. 
> You hash each word down to n bits and construct an 2^n-row table mapping 
> each n-bit value onto a list of words that hash to that value. N is 
> chosen to be the maximum value for which none of the rows is empty.
> 
> Example: You use a 10,000 word basic English vocabulary as the lexicon. 
> With n=12, each of the 4,096 rows in the table contains at least one word.
> 
> Now you take your CHK and replace each n bits of the key with a word from 
> the corresponding row of the table. You're free to choose any word from 
> the row - you can choose words that appear to make some kind of sense 
> (syntactically if not semantically), or you can choose short words, etc. 
> You could even modify JWZ's Dadadodo program to generate semi-grammatical 
> keys automatically, given a CHK, a lookup table and a corpus of English 
> text (eg Project Gutenberg). You can use a smaller n than necessary to 
> give you more choice, allowing you to generate long but comprehensible 
> (and memorisable) keys.
> 
> With n=12, you will need 16 words. So your key might look like this:
> 
> 
>freenet:pebble-renegade-destruction-cert-supercilious-positivism-cot-disembarrass-pubes-header-scratchy-trounce-victimize-inflect-rhino-striped
> 
> 'Supercilious' might hash to the same value as 'cavort', so you might 
> choose the word that's easier to spell:
> 
> 
>freenet:pebble-renegade-destruction-cert-cavort-positivism-cot-disembarrass-pubes-header-scratchy-trounce-victimize-inflect-rhino-striped
> 
> The cool part is that the receiver doesn't need the same lexicon as you - 
> he just works out how many bits there are per word by counting the words, 
> hashes each word, and concatenates the numbers with freenet:CHK@. (The 
> client does this automatically when he types in freenet:pebble-renegade- 
> etc without a leading TLA.) You can use a custom lexicon that only 
> contains easy-to-pronounce words, or easy-to-spell words, or business 
> buzzwords, or words that are the same in Spanish and Italian, and any user 
> can hash the words and get the CHK.
> 
> I've assumed you'll be using CHKs with no crypto key because they're 
> short. You can always use a CHK redirect to another key.
> 
> Michael
> 
> _______________________________________________
> freenet-tech mailing list
> [EMAIL PROTECTED]
> http://lists.freenetproject.org/mailman/listinfo/tech

-- 
moritz
                                                                      _/
   _/_/  _/_/_/_/  _/_/_/    _/_/_/          _/  _/_/      _/_/    _/_/_/
    _/        _/        _/        _/        _/_/    _/  _/    _/    _/
   _/      _/      _/_/      _/_/          _/      _/  _/_/_/_/    _/
  _/    _/      _/              _/  _/_/  _/      _/  _/          _/
 _/    _/      _/_/_/_/  _/_/_/    _/_/  _/      _/    _/_/_/      _/

_______________________________________________
freenet-tech mailing list
[EMAIL PROTECTED]
http://lists.freenetproject.org/mailman/listinfo/tech

Reply via email to