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