ProtonBlog(new window)

Introducing GopenPGP, an open source encryption library for native applications

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

Today, we are happy to announce another open source project that will be maintained by Proton Mail: GopenPGP(new window). 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(new window) that we have developed for use in our own Android and iOS(new window), Bridge(new window), and Import-Export(new window) apps, as well as a fork of the golang crypto library(new window), 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(new window) and will always be available from our new web portal at gopenpgp.org and on Github(new window). 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(new window) and https://github.com/ProtonMail/crypto(new window).

Best Regards,
The Proton Mail Team

You can get a free secure email account from Proton Mail here(new window).

We also provide a free VPN service(new window) 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. Thank you for your support.

Protect your privacy with Proton
Create a free account

Related articles

chrome password manager
You likely know you should store and manage your passwords safely. However, even if you are using a password manager, there’s a chance the one you’re using isn’t as secure as it could be. In this article we go over the threats some password managers
sensitive information
We all have sensitive personal information we’d all rather not share, whether it’s documents, photographs, or even private video. This article covers how to handle sensitive information or records, and what you can do to keep private information priv
Social engineering is a common hacking tactic involving psychological manipulation used in cybersecurity attacks to access or steal confidential information. They then use this information to commit fraud, gain unauthorized access to systems, or, in
is whatsapp safe for sending private photos
WhatsApp is the world’s leading messaging app, trusted by billions of people around the globe to send and receive messages. However, is WhatsApp safe for sending private photos? Or are there better ways to share photos online privately? Let’s find ou
passwordless future
With the advent of passkeys, plenty of people are predicting the end of passwords. Is the future passwordless, though? Or is there room for both types of authentication to exist side-by-side?  At Proton, we are optimistic about passkeys and have int
At Proton, we have always been highly disciplined, focusing on how to best sustain our mission over time. This job is incredibly difficult. Everything we create always takes longer and is more complex than it would be if we did it without focusing on