Proton
An image of Proton Mail's open source encryption libraries.

OpenPGP.js and GopenPGP are easier to test with other encryption suites

As part of our mission to make security, privacy, and freedom accessible to all, we maintain two open source cryptography libraries that make it easier for developers to apply strong encryption in their projects. We have been the maintainers of OpenPGP.js(новое окно) since 2016 and GopenPGP(новое окно) since 2019, meaning we are responsible for ensuring these repositories are up-to-date, secure, and accessible.

It is also important that these encryption systems are interoperable — i.e., that they can interact with other cryptographic libraries. The more interoperable libraries are, the more widely they can be used.

That’s why today we’re pleased to announce that we integrated our cryptography libraries into the OpenPGP interoperability test suite(новое окно). This suite, maintained by the Sequoia PGP(новое окно) team, makes it easier and faster to run compatibility tests between different open source encryption libraries and share the results of those tests. Developers can use this suite to ensure their encrypted apps are compatible with encrypted services that use different implementations of OpenPGP.

Improved testing with other OpenPGP implementations

This portion is rather technical; however, the important thing to take away is that our encryption team added a specific interface that is shared between different types of OpenPGP software. Even if these other OpenPGP implementations are written in different programming languages, this shared command-line interface lets developers test them together.

To integrate our libraries into the test suite, we implemented the Stateless OpenPGP (“sop”) command line interface(новое окно) for OpenPGP.js(новое окно) (sop-openpgp-js(новое окно), expanding on the work by Sequoia) and GopenPGP(новое окно) (gosop(новое окно)). We released both implementations under open source licenses.

The standardized “sop” interface provides a common ground for testing the compatibility between OpenPGP implementations written in several languages, such as Rust, Python, and C++. The results of these tests(новое окно) show that there is good interoperability between OpenPGP.js, GopenPGP, and the other tested libraries, with widespread support for strong cipher suites, elliptic-curve cryptography, and authenticated ciphers. This analysis exposed a few minor interoperability bugs as well, which we have since fixed.

Why Proton loves open source

We are big advocates for open source. As physicists and scientists, we appreciate that open source forces you to “show your work.” That is why we made all user-facing Proton apps, both for Proton Mail(новое окно) and Proton VPN(новое окно), open source and have published all the results of third-party security audits. By taking these steps, any security researcher can verify our code.

We also believe in decentralization and open collaboration, which open source fosters. We have even worked with members of the Proton community on our Linux command line tool for Proton VPN(новое окно)

Adding our libraries to the interoperability test suite is a great initiative to drive the OpenPGP protocol forward. It is now even easier for other privacy-focused software and app developers to incorporate strong encryption into their projects. The more apps that are encrypted, the more private data will be protected.

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(новое окно). Thank you for your support.


Feel free to share your feedback and questions with us via our official social media channels on Twitter(новое окно) and Reddit(новое окно).

Статьи по теме

laptop showing Bitcoin price climbing
en
  • Советы о конфиденциальности
Learn what a Bitcoin wallet does and the strengths and weaknesses of custodial, self-custodial, hardware, and paper wallets.
pixel tracking: here's how to tell which emails track your activity
en
  • Советы о конфиденциальности
Discover what pixel tracking is and how it works, how to spot emails that track you, and how to block these hidden trackers.
A cover image for a blog describing the next six months of Proton Pass development which shows a laptop screen with a Gantt chart
en
  • Новости о продуктах
  • Proton Pass
Take a look at the upcoming features and improvements coming to Proton Pass over the next several months.
The Danish mermaid and the Dutch parliament building behind a politician and an unlocked phone
en
  • Новости о конфиденциальности
We searched the dark web for Danish, Dutch, and Luxembourgish politicians’ official email addresses. In Denmark, over 40% had been exposed.
Infostealers: What they are, how they work, and how to protect yourself
en
  • Советы о конфиденциальности
Discover insights about what infostealers are, where your stolen information goes, and ways to protect yourself.
Mockup of the Proton Pass app and text that reads "Pass Lifetime: Pay once, access forever"
en
Learn more about our exclusive Pass + SimpleLogin Lifetime offer. Pay once and enjoy premium password manager features for life.