|
|
|
|
|
by arcurn
1767 days ago
|
|
Good point! We can safely isolate ourselves from any timing leaks by E3 because all E3 requests with potential timing leaks simply get transparently tunnelled to the end destination (e.g. an API you're passing through Relay), so a malicious end user can not determine if there was a crypto error and, specifically, how long that crypto error took to happen. More broadly, though, we don't currently use RSA and chose ECDH instead — so padding oracles aren't something we have to worry too much about. We also have similar safety models for things like invalid curve attacks. |
|
That sounds interesting. I'd like to test this hypothesis sometime ;)
> We also have similar safety models for things like invalid curve attacks.
What is your defense against invalid curve attacks exactly? I'm very curious about that (although your target audience largely won't care, so this post probably doesn't need to be updated).
Two defenses that work:
1. Always check that the (x, y) coordinate is a solution for the curve equation
2. Use compressed public key points
I prefer option 2 (especially since the patent on point compression expired years ago), but option 1 works.