[tor-dev] [RFC] Proposal for the encoding of prop224 onion addresses

Ivan Markin twim at riseup.net
Mon Jan 30 23:34:27 UTC 2017


On Tue, Jan 24, 2017 at 02:27:43PM +0200, George Kadianakis wrote:
> And given the above, here is the new microproposal:
> 
>   onion_address = base32(pubkey || checksum || version)
>   checksum = SHA3(".onion checksum" || pubkey || version)
> 
>   where:
>        pubkey is 32 bytes ed25519 pubkey
>        version is one byte (default value for prop224: '\x03')
>        checksum hash is truncated to two bytes
> 
>   Here are a few example addresses (with broken checksum):
> 
>        l5satjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67ororad.onion
>        btojiu7nu5y5iwut64eufevogqdw4wmqzugnoluw232r4t3ecsfv37ad.onion
>        vckjr6bpchiahzhmtzslnl477hdfvwhzw7dmymz3s5lp64mwf6wfeqad.onion
>   
>   Checksum strength: The checksum has a false negative rate of 1/65536.
> 
>   Address handling: Clients handling onion addresses first parse the
>   version field, then extract pubkey, then verify checksum.
> 
> Let me know how you feel about this one. If people like it I will
> transcribe it to prop224.


FYI, I've implemented derivation and verification of v3 onion addresses
(https://github.com/nogoegst/onionutil/blob/master/address.go).
Some test vectors I got:

private key
onion address

33a7e5c16e0308a3e6a0e7f4a621b3caad9ed1acdb3f78369b1377c5e605027879bcc625184b05194975c28b66b66b0469f7f6556fb1ac3189a79b40dda32f1f
pg6mmjiyjmcrsslvykfwnntlaru7p5svn6y2ymmju6nubxndf4pscryd

62a70904f219a788f3c3c46b64c7bc6e800fed54079f2bb88c4fe3800fe2264593f6ad7b54b6391d2b78147a0b2e808e143780de07f1bda6ee7f052d2e9da67b
sp3k262uwy4r2k3ycr5awluarykdpag6a7y33jxop4cs2lu5uz5sseqd

8d31e643f3693944817172030bab236a818d4a1d1ecbd7b8ce3ccb005dfb15fbb8391d2003bb3bd285b035ac8eb30c80c4e2a29bb7a2f0ce0df8743c37ec3593
xa4r2iadxm55fbnqgwwi5mymqdcofiu3w6rpbtqn7b2dyn7mgwj64jyd

a7f82fdf8f93a299e947f302313971b6759b8140d86468ead9cc960474c274b5f2ba31b35974d6a5214360cc3098fc69cf0a51d9944672a8904c97cba06c3945
6k5ddm2zotlkkikdmdgdbgh4nhhquuozsrdhfkeqjsl4xidmhfc6ntqd

ba85d39f1e45ca1627a4d5e28fb891fa810669feec96a146551c87109376f01b07ec065de1daa2b12da5fc2d8b8ae516b23d4a2cbe00edc11c87636c2f3d2129
a7wamxpb3krlclnf7qwyxcxfc2zd2srmxyao3qi4q5rwylz5eeu35xqd
--
Ivan Markin


More information about the tor-dev mailing list