3 ms·
> How do you encrypt in the browser if the server doesn't send JavaScript to encrypt data? Meta has done some work along with Cloudflare on this for WhatsApp W
by ignoramous 3y ago
> How do you encrypt in the browser if the server doesn't send JavaScript to encrypt data?
Meta has done some work along with Cloudflare on this for WhatsApp Web, specifically. In general, JS crypto is always going to be suspect if the threat model involves distrusting the server (like in e2ee protocols like Signal).
- amilich 3y agoJS crypto functions now interface with browser crypto functions for the last decade or so. https://developer.mozilla.org/en-US/docs/Web/API/Crypto https://developer.mozilla.org/en-US/docs/Web/API/Crypto
- tptacek 3y agoWhat difference does this make to the thread model in the previous comment?
- amilich 3y agoBefore this basic cryptography was downloaded via JS files which yields no security and gave web cryptography a bad reputation. That is not true now.
- onereplyac2 3y agoHuh? It is very concerning to hear this from a founder. It is the same exact level of security as it is executing the same code, just at a different level. Really does not matter what crypto lib you are using if at the end of the day the surrounding code dictates all the security. Regardless of all this, your open source crypto library doesn't even use the Web Crypto APIs at all, but rather the dreaded js based crypto you are badmouthing (tweetnacl, stablelib)
- amilich 3y agoThat's just false. Downloading crypto libraries over the web plagued Javascript crypto for years. We use tweetnacl, stablelib, and webcrypto - and tweetnacl also uses webcrypto!
- onereplyac2 3y agoFrom your source, chacha20 is used, which is literally not supported by web crypto apis. Again, this makes 0 difference as higher level implementation makes or breaks your crypto.
- bastawhiz 3y agoThere's literally nothing stopping the page from simply not encrypting the data.