openpgp-notes/book/source/02-goals.md

41 lines
1.5 KiB
Markdown
Raw Normal View History

# Goals of this document
```
Target audience: developers (not end users)
Prior knowledge of the reader?
- Software development
- Basics of encryption
Entry point to writing software that uses OpenPGP
Help to getting started as a user of any implementation (OpenPGP JS, Sequoia PGP, ...)
The RFC explains lots of details (which bit goes where) that are crucial
for implementers, but unimportant for software developers who use OpenPGP
through a library.
This text aims to describe OpenPGP at the "library-level."
```
## A companion for the OpenPGP RFC
The [OpenPGP Standard](https://www.rfc-editor.org/rfc/rfc4880.html) defines
*"format and methods"* to *"provide services including confidentiality, key
management, authentication, and digital signatures"*.
This chapter is intended as a companion to the RFC. It does not aim to teach
cryptographic concepts.
The idea is to go over various common OpenPGP artifacts, as they are
currently used, to get an overview.
There are lots of details that these notes will not cover.
Among these omitted details are differences between current v4 artifacts and
older variants, which were used in previous incarnations of (Open)PGP.
(Note: OpenPGP v3 artifacts are still in use as of this writing, the RFC
requires implementations to accept them. v3 artifacts are still very
much relevant for real world OpenPGP usage and implementations)
We will also ignore most details about how OpenPGP artifacts are encoded, as
well as how OpenPGP data is arranged to allow for streaming operation.