My task26871 branch shows where we would make this change. If we like it, it still needs unit tests, changes entry, etc.
I thought about breaking out the memcpy and the crypto_rand into their own function, called something like relay_payload_pack(), but all the extra lines didn't seem worth it.
make a client you control connect to a site you control
feed the exit one byte at a time
The exit then creates ~500 bytes of random padding per byte sent by the remote site.
(This would be a devastating attack if we used /dev/random directly, on an OS that thinks entropy is subtractive, like Linux.)
(a) don't just worry about exits; clients also will fill relay payloads.
(b) if this is actually a practical issue, I could get behind a design where we randomize only the first byte of the unused part of the relay payload. That would serve my purposes. But I bet we'd be forever explaining to people why we cut that corner.
(c) For added efficiency, let's only sometimes randomize that first byte. We can flip a coin to figure out whether we will, thus saving the prng that extra call to -- oh. :)
(c) For added efficiency, let's only sometimes randomize that first byte. We can flip a coin to figure out whether we will, thus saving the prng that extra call to -- oh. :)
At this point, you might as well use a cheap sponge construction.
My task26871 branch shows where we would make this change. If we like it, it still needs unit tests, changes entry, etc.
I thought about breaking out the memcpy and the crypto_rand into their own function, called something like relay_payload_pack(), but all the extra lines didn't seem worth it.
My task26871 branch shows where we would make this change. If we like it, it still needs unit tests, changes entry, etc.
Here are the revisions we probably don't need:
I thought about breaking out the memcpy and the crypto_rand into their own function, called something like relay_payload_pack(), but all the extra lines didn't seem worth it.
Let's review these tickets at the next meeting using our 041-proposed process.
They're on the roadmap, so the review should focus on ticket size and team capacity (and sponsor expectations).