The SIDH post-quantum asymmetric cipher compiled to pure JavaScript using Emscripten. The specific implementation in use is from Microsoft Research. A simple wrapper is provided to make SIDH easy to use in web applications.
The parameters are configured to 128-bit strength. (More specifically, the security level is 128 quantum bits and 192 classical bits.)
const localKeyPair = sidh.keyPair();
const remoteKeyPair = sidh.keyPair();
const localSecret = sidh.secret(remoteKeyPair.publicKey, localKeyPair.privateKey);
const remoteSecret = sidh.secret(localKeyPair.publicKey, remoteKeyPair.privateKey);
// localSecret and remoteSecret are equal
Note: This library only handles generating shared secrets; you'll need to handle key derivation and symmetric encryption from there.