Translation(s): English - tiếng Việt


OpenPGP is the most widely used email encryption standard in the world. It is defined by the OpenPGP Working Group of the Internet Engineering Task Force (IETF) Proposed Standard RFC 4880. The OpenPGP standard was originally derived from PGP (Pretty Good Privacy), first created by Phil Zimmermann in 1991.

OpenPGP is not just used for email encryption however, but also for encryption and verifying the authenticity and integrity of files and for authentication. The most commonly used software for working with OpenPGP in Debian is GnuPG. There are also many software packages that use GnuPG in their backend to provide cryptographic features, and alternatives to GnuPG such as netpgp (wnpp) also exist.

OpenPGP-compatible Software in Debian

There's an OpenPGP interoperability test suite.

GnuPG

GnuPG is a complete and free implementation of the OpenPGP standard. GnuPG allows to encrypt and sign your data and communication, features a versatile key management system as well as access modules for all kinds of public key directories. GnuPG, also known as GPG, is a command line tool with features for easy integration with other applications. A wealth of frontend applications and libraries are available. Version 2 of GnuPG also provides support for S/MIME and Secure Shell (ssh).

More information about GnuPG can be found on its dedicated wiki page.

Stateless OpenPGP (SOP) interface

This is an IETF draft to document a stateless OpenPGP command-line interface.

Several OpenPGP implementations provide such native interfaces, while others have been created by the Sequoia-PGP team. In Debian, the sqop package provides one such interface.

Other Software

Upstream Name

Package(s)

Lang

Description

sq

sq

Rust

Command-line interface for Sequoia-PGP

sq-keyring-linter

sq-keyring-linter

Rust

Sequoia keyring linter and fixer tool

sqv

sqv

Rust

Sequoia command-line verification tool

sqop

sqop

Rust

Sequoia SOP implementation

PGPainless

pgpainless-cli

Java

PGPainless SOP implementation

GopenPGP

golang-github-protonmail-gopenpgp-dev

Go

high-level OpenPGP library

gosop

gosop

Go

GopenPGP SOP implementation

python-sop

python3-sop

Python

Framework for implementing the SOP CLI

enigmail

enigmail

?

OpenPGP support for Thunderbird and Debian Icedove

hOpenPGP

libghc-hopenpgp-dev

Haskell

OpenPGP library

hopenpgp-tools

hopenpgp-tools

Haskell

OpenPGP tools built using hOpenPGP, including a SOP implementation

monkeysign

monkeysign

?

OpenPGP key signing and exchange for humans

monkeysphere

monkeysphere

?

leverage the OpenPGP web of trust for SSH and TLS authentication

onak

onak

C

OpenPGP Key Server

parcimonie

parcimonie

Perl

privacy-friendly helper to refresh a GnuPG keyring

RNP

rnp

C++

OpenPGP library and command-line tools

Seahorse

seahorse

C

GNOME front end for GnuPG

Note: This list is incomplete, help in completing it is appreciated.

Usage by the Debian Project

When joining the Debian project, developers need to identify themselves by providing an OpenPGP key that is signed by at least two existing members of the project. Contributions to the Debian archive are cryptographically signed using the developer's OpenPGP key to protect against forgeries.

The Debian Keyring and other keyrings maintained by keyring-maint are the keyrings that contain those OpenPGP keys which belong to Debian Developers (uploading and non-uploading) and Debian Maintainers.

It is suggested to use a Clean Room environment, such as a Live CD to manage PGP private keys.

There are some best practices for OpenPGP available.


CategorySystemSecurity CategorySoftware