ch1/2: add/improve links

Tighten "Building blocks" section.

(Processing input from Wiktor)
This commit is contained in:
Heiko Schaefer 2023-09-28 11:16:05 +02:00
parent 49cd4f88f3
commit 3ef4f265d1
No known key found for this signature in database
GPG key ID: 4A849A1904CCBD7D
4 changed files with 15 additions and 19 deletions

View file

@ -8,13 +8,13 @@ OpenPGP is an IETF-standardized set of cryptographic operations. OpenPGP defines
The OpenPGP standard has evolved over time, and remains under active development.
(Also see https://www.openpgp.org/about/history/)
(Also see [https://www.openpgp.org/about/history/](https://www.openpgp.org/about/history/))
### "Pretty Good Privacy (PGP)"
The earliest roots of OpenPGP trace back to *"Pretty Good Privacy (PGP)"*, a software program written by [Phil Zimmermann](https://en.wikipedia.org/wiki/Phil_Zimmermann) and first released in 1991.
The original PGP software has played a role in the political struggles sometimes referred to as the ["Crypto Wars"](https://en.wikipedia.org/wiki/Crypto_Wars) (also see https://en.wikipedia.org/wiki/Crypto_(book) for some of that history, including about the history of PGP).
The original PGP software has played a role in the political struggles sometimes referred to as the ["Crypto Wars"](https://en.wikipedia.org/wiki/Crypto_Wars) (also see ["Crypto: How the Code Rebels Beat the Government Saving Privacy in the Digital" (2002)](https://en.wikipedia.org/wiki/Crypto_(book)) for some of that history, including part of the history of PGP).
The original "PGP" software was never under a Free Software license, even though its source code has at one point been widely published.
@ -32,7 +32,7 @@ The name "OpenPGP" can be used freely by implementations (unlike the name "PGP",
[First released 1997-12-20](https://gnupg.org/download/release_notes.html#sec-2-70), GnuPG (the "GNU Privacy Guard") is an implementation of the OpenPGP standard.
GnuPG has been a major early Free Software implementation of OpenPGP. It has played an important (and successful) role in the release of NSA documents by [Edward Snowden](https://theintercept.com/2014/10/28/smuggling-snowden-secrets/).
GnuPG has been a major early Free Software implementation of OpenPGP. It has played an important (and successful) role in the [release of NSA documents](https://theintercept.com/2014/10/28/smuggling-snowden-secrets/) by [Edward Snowden](https://en.wikipedia.org/wiki/Edward_Snowden).
The GnuPG program binary is called `gpg`, thus the names "GnuPG" and "gpg" are often used interchangeably.
@ -64,11 +64,11 @@ This document describes OpenPGP version 6, while pointing out differences to pre
Significant work on support for OpenPGP version 6 has already been done for multiple implementations, including:
- GOpenPGP,
- OpenPGP.js,
- PGPainless,
- PGPy,
- Sequoia PGP.
- [GOpenPGP](https://github.com/ProtonMail/gopenpgp/tree/v3),
- [OpenPGP.js](https://github.com/openpgpjs/openpgpjs/tree/v6),
- [PGPainless](https://github.com/pgpainless/pgpainless/milestone/6),
- [PGPy](https://github.com/dkg/PGPy/tree/dkg/crypto-refresh),
- [Sequoia-PGP](https://gitlab.com/sequoia-pgp/sequoia/-/tree/crypto-refresh).
## Concepts
@ -76,7 +76,7 @@ Significant work on support for OpenPGP version 6 has already been done for mult
Use of OpenPGP is centered around (asymmetric) cryptographic keys.
In OpenPGP, bare cryptographic keys are combined with additional metadata into "OpenPGP certificates", which are a relatively complex data structure (OpenPGP certificates are also often called "OpenPGP keys").
In OpenPGP, bare cryptographic keys are combined with additional metadata into "OpenPGP certificates," which are a relatively complex data structure (OpenPGP certificates are also often called "OpenPGP keys").
An OpenPGP certificate can evolve over time, with components being added, expiring, or being marked as invalid.
@ -89,18 +89,12 @@ Other important topics around certificates are their management, authentication,
With OpenPGP it's possible to:
- [Encrypt](encryption_chapter) and [Decrypt](decryption_chapter) Messages
- Sign Data
- Issue and examine Statements about Keys and Identities (to perform CA-like functionality)
- [Sign](signing_data) and [Verify](verification_chapter) Data
- [Issue and examine Statements](signatures_chapter) about Keys and Identities (to perform CA-like functionality)
### Building blocks
To perform these high-level operations, the following building blocks are used:
- Encryption
- Signature Algorithms
- OpenPGP Signatures (made from raw signatures; Certifications, Data Signatures)
- Keys, Subkeys
- User IDs
To perform these high-level operations, a set of [established cryptographic mechanisms](cyrptography_chapter) are used as building blocks, and combined into OpenPGP's format, which additionally deals with identities and their verification.
## Zooming in: Internal structure of OpenPGP data