В рамках проекта GPG4Browsers подготовлена написанная на языке JavaScript реализация стандарта OpenPGP (RFC 4880). Поддерживаются все хэш-функции, асимметричные и симметричные шифры (кроме IDEA), определённые в стандарте и применимые для таких областей использования, как шифрование и расшифровка сообщений, создание и проверка цифровых подписей, импорт и экспорт сертификатов.
В настоящее время GPG4Browsers доступен только в форме дополнения для браузера Chrome и поддерживает интеграцию с Gmail (подписывание, шифрование и расшифрование сообщений). GPG4Browsers полностью совместим с GnuPG со стандартными настройками, за исключением поддержки сжатия (для создания совместимого с GPG4Browsers сообщения следует использовать опцию "--compress-algo none").
Код распространяется под лицензией LGPLv2.1 и при желании может быть портирован для других браузеров. Реализация каждого метода шифрования и хэшей, а также функции манипулирования с ключами и шифрами оформлены в виде отдельных JavaScript-модулей, т.е. могут легко быть интегрированы в сторонние проекты.
Из возможностей, которые пока не реализованы в GPG4Browsers, отмечены:
- Не поддерживается генерация, управление и создание цифровых подписей для ключей;
- Отсутствует поддержка некоторых типов цифровых подписей для ключей;
- Нет поддержки шифрованных сообщений, созданных только с использованием симметричных шифров;
- Не реализована поддержка сжатых пакетов данных.
Поддерживаемые хэши и шифры:
- Симметричные шифры: TripleDES (DES-EDE), CAST5, Blowfish, AES-128, AES-192, AES-256 и Twofish;
- Асимметричные шифры: RSA, Elgamal, DSA (Digital Signature Algorithm, только для цифровых подписей);
- Хэши: MD5, SHA-1, RIPE-MD/160, SHA256, SHA384, SHA512, SHA224.