Theme 1 – High‑level software alone can’t stop side‑channel leaks
- “side channel attacks seem to me like something that you fundamentally just can't address by writing better software in a high‑level language.” — i2talics
- “You can write algorithms that leak every bit of your secrets, trivially… You can use algorithm implementations that do not have secret‑dependent timing differences … this isn’t perfect, but it’s better.” — some_furry
Theme 2 – Guarantees depend on the threat model and what the runtime/compiler promises
- “The real question is: What's your threat model?” — some_furry
- “Nobody was evil you just tried to rely on a property that V8 never promised.” — ErikCorry
- “Even if a later optimization breaks your constant‑time property that still wouldn’t be evil.” — ErikCorry
Theme 3 – Real‑world examples show the danger of doing crypto in JS/Wasm; better to avoid it or verify low‑level code
- “The npm “elliptic” package does this… Daniel Bleichenbacher has tested several packages' timing leakage in Rooterberg …” — some_furry (see https://github.com/bleichenbacher-daniel/Rooterberg/blob/main/doc/timing_results.md)
- “I was working on reimplementing the WebRTC stack in JavaScript… The crypto folks at Mozilla … suggested 'maybe don't do that for dTLS.'” — ndesaulniers