Introducing GopenPGP, an open source encryption library for native applications

Share this page

In 2016, Proton Mail became the maintainer of OpenPGP.js, the world’s most widely used Javascript email encryption library. Since then we have updated the library with new features, such as streaming encryption; assisted developers to adopt the library in their own applications; and submitted the library to independent security audits.

Today, we are happy to announce another open source project that will be maintained by Proton Mail: GopenPGP. This project consists of a high-level OpenPGP library, as well as a fork of the golang crypto library. We started this project to make it easier for mobile and desktop developers to use OpenPGP encryption in their apps.

We’re excited about GopenPGP for two main reasons. First, we believe more people should have access to encrypted communications, and an easy-to-use encryption library for mobile developers is an important step forward in that mission. Second, the release of GopenPGP paves the way to open sourcing the Proton Mail mobile and desktop apps, which has been a high priority for our team and for our users (our web app has already been open sourced since 2015).

What is GopenPGP?

GopenPGP (a portmanteau of Go and OpenPGP) is a high-level OpenPGP library that we have developed for use in our own Android and iOS, Bridge, and Import-Export apps, as well as a fork of the golang crypto library, which the high-level library is built on.

The GopenPGP library makes it easy to perform simple operations, such as encrypt, decrypt, sign and verify messages, manage keys, etc., without having to deal with complicated cryptographic concepts. This high-level interface is compatible with go-mobile, a popular tool for building mobile apps written in Go.

Meanwhile, our fork contains a number of new features, bug fixes, and security improvements. It supports elliptic curve cryptography, providing more efficient and secure encryption on mobile devices. We’re working with the maintainers of the golang OpenPGP library to contribute these changes back.

Both of these libraries have been audited by SEC Consult and will always be available from our new web portal at gopenpgp.org and on Github. GopenPGP is a free and open source software released under the MIT license.

GopenPGP roadmap

Over the last few weeks, we have been in discussions with the maintainers of the golang OpenPGP library about including our improvements there. Either way, we will continue to maintain our fork and the GopenPGP wrapper library on gopenpgp.org.

We invite the developer community to join us and help us to make GopenPGP as successful as OpenPGP.js has been. Already, millions of end users rely on GopenPGP for secure mobile communications via the Proton Mail apps. Our mission is to help more developers start encrypting and spread access to online privacy.

We invite your feedback, contributions, and questions at https://github.com/ProtonMail/gopenpgp and https://github.com/ProtonMail/crypto.

Best Regards,
The Proton Mail Team

You can get a free secure email account from Proton Mail here.

We also provide a free VPN service to protect your privacy.

Proton Mail and Proton VPN are funded by community contributions. If you would like to support our development efforts, you can upgrade to a paid plan or donate. Thank you for your support.

Share this page

Related articles

Ransomware attacks are on the rise. Experts now consider it as one of the biggest threats to businesses and organizations, presenting an evolving and continuous challenge to IT security teams.  In its 2021 report, IBM Security calculated that the gl
Cryptocurrency scams have cost people over a billion dollars — and they’re only becoming more prevalent. Learn what to look out for to avoid being scammed yourself.  The Washington Post recently reported that over $1 billion was lost to cryptocurren
Today is World Wide Web Day, when the world celebrates all the amazing things that were enabled when Sir Tim Berners-Lee, a member of our advisory board, created the building blocks of the web at the European Organization for Nuclear Research (CERN)