Software developers have released a JavaScript implementation of the OpenPGP encryption message format that allows users to encrypt and decrypt communications within web-based mail services.

GPG4Browsers is currently available only as an extension for the Google Chrome browser for integration with Gmail. It works with all asymmetric and symmetric ciphers and hash functions specified in the formal OpenPGP standard, with the exception of the IDEA algorithm. It is compatible with the GnuPG implementation of OpenPGP.

"The implementation currently implements a Chrome browser extension which uses the HTML5 local storage of the extension to store private and public certificates (keys)," developers with Germany-based Recurity Labs, wrote in the documentation (PDF). "Chrome browser extensions enabling JavaScript applications to run in their own context separated from the website."

The prototype implementation can be used to encrypt and decrypt messages, digitally sign messages and verify the signatures of received messages, and import and export keys. It doesn't support the generation or manipulation of keys or work with messages that are symmetric-only encrypted.

If GPG4Browsers can bring email encryption to the masses, its creators will be doing the world a huge favor, but El Reg isn't holding its breath. True, dedicated email programs that support public-key encryption are complicated enough that only power users are typically able to implement and stick with them. Like previous browser plugins implementing crypto, GPG4Browsers appears to shift all the complexity out of the email client and into the browser.

"Generally (ie every case I can think of) plugins don't take off," Trevor Perrin, an independent cryptographer, wrote in an email. "Reasons being that plugins usually have a less-than-perfect integration with the host application (in this case Gmail) so not a great user experience – they end up being rough around the edges, or have subtle interference with printing, or forwarding, or attachments, or something."

There may also be resistance from crypto users – who already are a security-conscious lot – to trusting private keys and confidential messages to a set of PGP functions folded inside some JavaScript running inside a browser.

"I trust the idea of a piece of software that holds passwords or private keys when it is partitioned from the rest of the browser more than when it is implemented inside something that is routinely manipulated by an attacker, namely the JavaScript environment," said Adam O'Donnell, a developer and the chief architect for antivirus provider Immunet's cloud technology group. "I really don't know enough other than to say 'that scares the hell out of me.'"

The Recurity Labs developers make clear that their plugin isn't suitable for use on public machines. And since a user's keys must be imported to each instance where the implementation is used, we're not sure we see a clear benefit to using a plugin over using a dedicated piece of software to achieve the same results.

Of course, webmail isn't likely to go away anytime soon, so the biggest contribution of GPG4Browsers may be to bring a long overdue feature to the Mozillas of the world.

"Hopefully, this will get the attention of browser vendors to provide better integrated crypto instead of requiring an extension," said Nate Lawson, a cryptographer who is principal of Root Labs. ®