

A port of the GNU Privacy Guard to Javascript using Emscripten - bpierre
https://github.com/manuels/unix-toolbox.js-gnupg

======
falcolas
I'd be really interested to see how this would compare to an asm.js version,
and how interoperable both are with a command line version.

I'd also be curious how many new corner cases would appear due to C-isms like
overflow and undefined behavior not making a bit-for-bit translation.

~~~
TD-Linux
Emscripten generates asm.js code by default.

Also Emscripten should be C standard compliant. So any behavior that isn't
correct is likely an Emscripten bug.

------
whoopdedo
Do we want to trust a transpiler when dealing with cryptography code? Building
encryption that is resistant to side-channel attacks requires knowledge of the
execution environment. When the environment changes drastically then many
assumptions about the strength of the code need to be reevaluated.

Plus the usual caveat about trusting code that is downloaded from the
internet. Although this also has a use in iPhone & Android apps that are
written in Javascript. This lets you have encryption without using native
code.

Somewhat tangential, but is Emscripten generated code being used in any
production web apps? I don't think I've ever seen it for anything other then
proof-of-concept demos.

(Answering my own question, doesn't Unreal Engine use Emscripten?)

------
andrewchambers
This sort of thing probably works better as an html5 app which is cached and
not reloaded every time, less trust in the server.

