2023-09-16 17:59:34 +02:00
# Cryptographic concepts/terms
2023-09-26 13:22:12 +02:00
```{admonition} TODO
:class: warning
2023-09-21 13:09:48 +02:00
2023-09-26 13:22:12 +02:00
- Introduce cryptographic primitives/terms at a very superficial level
- Introduce visualizations for cryptographic primitives
2023-09-25 14:10:54 +02:00
```
## 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:
2023-09-25 19:39:25 +02:00
```{figure} diag/cryptographic_keys.png
---
---
A cryptographic keypair
```
2023-09-25 14:10:54 +02:00
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:
2023-09-25 19:39:25 +02:00
```{figure} diag/keypair.png
---
---
A cryptographic keypair, more compact representation
```
2023-09-25 14:10:54 +02:00
Note that in many contexts, only the public part is present (more on that later):
2023-09-25 19:39:25 +02:00
```{figure} diag/keypair_pub.png
---
---
Only the public part of a cryptographic keypair
```
2023-09-25 14:10:54 +02:00
### 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."
2023-09-26 13:22:12 +02:00
## Symmetric encryption
2023-09-25 14:10:54 +02:00
https://en.wikipedia.org/wiki/Symmetric-key_algorithm
2023-09-26 13:22:12 +02:00
```{admonition} TODO
:class: warning
- visualization?
```
2023-09-25 14:10:54 +02:00
2023-09-26 13:22:12 +02:00
### Symmetric cryptography in OpenPGP
2023-09-25 14:10:54 +02:00
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.
2023-09-25 16:43:26 +02:00
2023-09-26 13:22:12 +02:00
## Hashing
2023-09-25 16:43:26 +02:00
## Cryptographic signatures
2023-09-26 13:22:12 +02:00
## AEAD