Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

And you, too, will please forgive me for being pedantic.

Check out line 540 of the link above (section 1.7):

    Master (hidden service) identity key -- A master signing keypair
    used as the identity for a hidden service.  This key is long
    term and not used on its own to sign anything; it is only used
    to generate blinded signing keys as described in [KEYBLIND]
    and [SUBCRED]. The public key is encoded in the ".onion"
    address according to [NAMING].
You can then follow that to line 2292 (Appendix 2) which describes the aforementioned generation process. It's a bit too long to be pasted here, but it turns out to be elliptic curve multiplication and hashing. This is not encryption for any common definition thereof.

In fact, you generally do not use public keys to do encryption at all. What often happens is that you use a key exchange algorithm like Diffie-Hellman to derive a shared secret, which you then use to do bulk encryption using your favorite cipher (some asymmetric cryptosystems permit encryption, but they're much slower than symmetric ciphers, which also benefit from strong hardware acceleration).

You can also use keypairs for signing, key exchange (e.g., DH), key derivation (as used by Tor hidden services), and creating verifiable random functions. They definitely do not imply encryption.




So there's a gap between a key and data directly encrypted with that key. And I was willing to say it's close enough to lump it all as encryption. Let's arbitrarily say that's 15 units of separation.

You're pointing out this key is used differently, to generate the more direct keys. But I don't think that matters. I would say that using elliptic curves to transform one key into another while keeping the original key data secret is a good bit closer to the platonic ideal of encryption than 15 units. So that process shouldn't be a disqualifying factor.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: