[Proposal] WebCrypto Argon2, Curve 448 / 25519 / secp256k1, ChaCha20-Poly1305

Today web developers are getting around the unavailability of modern hash / crypto algorithms in browser by either including an implementation of its operations in JavaScript or compiling a native one into WebAssembly. Aside from wasting bandwidth shipping algorithms that are already included in browsers that support TLS 1.3, this practice also has security implications, e.g. side-channel attacks

Proposal

Implement in WebCrypto :

See also

4 Likes

In the meantime there’s tweetnacl.js, an audited and fast JS crypto library, which is 18kb minified. That’s just 14% the size of bundled and minified react-dom which is used far more frequently so if we want to talk about bandwidth I’m pretty sure there are more productive places to look. That being said, I’d like to see these algorithms in browsers for performance reasons at least.

Thanks for the awesome information.