openpgp-notes/book/source/03-cryptography.md

69 lines
1.7 KiB
Markdown

# Cryptographic concepts/terms
```{admonition} TODO
:class: warning
- Introduce cryptographic primitives/terms at a very superficial level
- Introduce visualizations for cryptographic primitives
```
## Public-key cryptography
https://en.wikipedia.org/wiki/Public-key_cryptography
### Asymmetric cryptographic key pairs
In many places, we'll deal with asymmetric cryptographic key pairs:
```{figure} diag/cryptographic_keys.png
---
---
A cryptographic keypair
```
A cryptographic key pair consists of a public and a private part. In this document, we'll show the public part of a cryptographic key in green, and the private part in red.
We'll usually visualize cryptographic keypairs in this more compact form:
```{figure} diag/keypair.png
---
---
A cryptographic keypair, more compact representation
```
Note that in many contexts, only the public part is present (more on that later):
```{figure} diag/keypair_pub.png
---
---
Only the public part of a cryptographic keypair
```
### Public-key cryptography in OpenPGP
OpenPGP makes heavy use of public-key cryptography. However, for historical reasons, OpenPGP uses the terms "public/secret" instead of "public/private."
So when reading the RFC, or other documentation, you will encounter the term "secret key," instead of the more common "private key."
## Symmetric encryption
https://en.wikipedia.org/wiki/Symmetric-key_algorithm
```{admonition} TODO
:class: warning
- visualization?
```
### Symmetric cryptography in OpenPGP
Symmetric encryption is a core concept in OpenPGP. It usually comes up involving the term "session key."
"Session keys" in OpenPGP are symmetric cryptographic keys.
## Hashing
## Cryptographic signatures
## AEAD