Curve25519-based cryptography in JavaScript