v3 onions

Just laying out a garden of information on repeat.

I run this website under a tor address with a basic set of urls posted here. I decided to see if I could make some sense of things.

In order to generate a custom ed25519 key there is oniongen-c, horse25519, or mkp224o. I used mkp224o since it was easier to benchmark.

I wanted to start from the bare bones of learning ed25519, so reading up from ed25519.cr.yp.to was a good first step.

Secondly its’ fairly easy to generate an ed25519 key via unixtutorial.org.

$ ssh-keygen -t ed25519 -C "derp@derp.net"
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBh+xO3mGMUtGUNQ/5oWwfUOASBKh4GG6ud5iJZFGCYz derp@derp.net
$ echo -n "AAAAC3NzaC1lZDI1NTE5AAAAIBh+xO3mGMUtGUNQ/5oWwfUOASBKh4GG6ud5iJZFGCYz" | base64 -d | hexdump -C
00000000  00 00 00 0b 73 73 68 2d  65 64 32 35 35 31 39 00  |....ssh-ed25519.|
00000010  00 00 20 18 7e c4 ed e6  18 c5 2d 19 43 50 ff 9a  |.. .~.....-.CP..|
00000020  16 c1 f5 0e 01 20 4a 87  81 86 ea e7 79 88 96 45  |..... J.....y..E|
00000030  18 26 33                                          |.&3|

public key: 18 7e c4 ed e6 18 c5 2d 19 43 50 ff 9a 16 c1 f5 0e 01 20 4a 87 81 86 ea e7 79 88 96 45 18 26 33

After creating a key it was trivial to determine where my key could be created for a new onion domain, unlit3rat54udo35sr6s3gc6wsgux35oeyhj4ndcukdtedw5kqklkdyd.onion:

$ hexdump -C hs_ed25519_public_key
00000000  3d 3d 20 65 64 32 35 35  31 39 76 31 2d 70 75 62  |== ed25519v1-pub|
00000010  6c 69 63 3a 20 74 79 70  65 30 20 3d 3d 00 00 00  |lic: type0 ==...|
00000020  a3 56 89 ee 20 xx xx xx  xx xx xx xx xx xx xx xx  |.V.. xxxxxxxxxxx|
00000030  xx xx xx xx xx xx xx xx  xx xx xx xx xx xx xx xx  |xxxxxxxxxxxxxxxx|

public key: a3 56 89 ee 20 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx

Now that I’ve found the public key I get to manually convert it to visually verify that things are what they say they are:

Base32 Translation Table:
          1         2         3
01234567890123456789012345678901
abcdefghijklmnopqrstuvwxyz234567

First 5 bytes:
a3 56 89 ee 20 
10100011 01010110 10001001 11101110 00100000
10100 01101 01011 01000 10011 11011 10001 00000
10100 01101 01011 01000 10011 11011 10001 00000
u     n     l     i     t     3     r     a

Leave a Reply