diff --git a/book/source/03-cryptography.md b/book/source/03-cryptography.md index 1130c53..58ab78e 100644 --- a/book/source/03-cryptography.md +++ b/book/source/03-cryptography.md @@ -1,5 +1,5 @@ (cyrptography_chapter)= -# Cryptographic concepts/terms +# Cryptographic concepts and terms ```{admonition} VISUAL :class: warning @@ -24,15 +24,17 @@ Participants in symmetric-key operations need to exchange the shared secret over - visualization? (maybe a black key icon, following wikipedia's example?) ``` -Symmetric-key cryptography is much faster than public-key cryptography. Also, most current symmetric cryptographic algorithms are considered quantum-resistant. +### Benefits and downsides -So symmetric-key cryptography has major benefits, but exchanging the shared secret is a problem that needs to be solved separately. +Symmetric-key cryptography has major benefits: it is much faster than public-key cryptography (see below). Also, most current symmetric cryptographic algorithms are considered quantum-resistant. -[Hybrid cryptosystems](hybrid_cryptosystems) are one common approach to leverage the benefits of symmetric-key cryptography, while handling the shared secret with a separate mechanism (using public-key cryptography). +However, exchanging the required shared secret is a problem that needs to be solved separately. + +[Hybrid cryptosystems](hybrid_cryptosystems) (see below) are one common approach to leverage the benefits of symmetric-key cryptography, while handling the shared secret with a separate mechanism (using public-key cryptography). ### Symmetric-key cryptography in OpenPGP -Symmetric cryptography is used in OpenPGP (as part of a hybrid cryptosystem). +Symmetric cryptography is used in OpenPGP as part of a hybrid cryptosystem. Where symmetric keys are used in OpenPGP, they are referred to as "session keys." @@ -40,13 +42,13 @@ Where symmetric keys are used in OpenPGP, they are referred to as "session keys. [Authenticated encryption](https://en.wikipedia.org/wiki/Authenticated_encryption) is a class of cryptographic schemes that gives additional guarantees besides confidentiality. -In OpenPGP version 6, AEAD is used to solve the problem of "malleability": In past versions of the OpenPGP protocol, some malicious changes to ciphertext were undetectable. With AEAD undetected changes of ciphertext are not possible. +In OpenPGP version 6, AEAD is used to solve the problem of "malleability": In past versions of the OpenPGP protocol, some malicious changes to ciphertext were undetectable. With AEAD, undetected changes of ciphertext are not possible. ## Public-key, or asymmetric cryptography [Public-key cryptography](https://en.wikipedia.org/wiki/Public-key_cryptography) systems use asymmetric pairs of related keys. Public-key cryptographic systems support *encryption/decryption* and *digital signature* operations. -Public-key cryptography doesn't require participants to have pre-arranged a shared secret. +Public-key cryptography doesn't require participants to pre-arrange a shared secret. ### Asymmetric cryptographic key pairs @@ -65,19 +67,10 @@ An asymmetric cryptographic key pair - Heiko: maybe use colors + distinct shapes for the two key halves? ``` -An asymmetric cryptographic key pair consists of a public and a private part. In this document, we'll show the public part of key pair in green, and the private part in red. - -We'll usually visualize cryptographic key pairs in this more compact form: - -```{figure} diag/keypair.png ---- ---- -Asymmetric key pair, more compact representation -``` +An asymmetric cryptographic key pair consists of a public and a private part. In this document, we'll show the public part of a key pair in green, and the private part in red. Note that in many contexts, only the public part is present (more on that later): - ```{figure} diag/keypair_pub.png --- --- @@ -88,7 +81,9 @@ Only the public part of an asymmetric key pair OpenPGP makes heavy use of public-key cryptography, both for encryption and signing operations. -Note that, for historical reasons, OpenPGP often uses the terms "public/secret key" instead of "public/private key." The OpenPGP RFC and other documentation often use the non-standard term "secret key" instead of the more common "private key." +Note that, for historical reasons, the OpenPGP RFC and other documentation often use the non-standard term "secret key" instead of the more common "private key." + +So in OpenPGP, the pair of terms "public/secret key" is sometimes used instead of the more common "public/private key." ### Cryptographic digital signatures diff --git a/book/source/diag/cryptographic_keys.png b/book/source/diag/cryptographic_keys.png index 7e6b057..c8883cf 100644 Binary files a/book/source/diag/cryptographic_keys.png and b/book/source/diag/cryptographic_keys.png differ diff --git a/book/source/diag/cryptographic_keys.svg b/book/source/diag/cryptographic_keys.svg index df4bc1b..2d5d57d 100644 --- a/book/source/diag/cryptographic_keys.svg +++ b/book/source/diag/cryptographic_keys.svg @@ -2,12 +2,12 @@ + inkscape:current-layer="layer1" + inkscape:export-bgcolor="#ffffffff" /> - - public cryptographic key + x="107.71756" + y="77.314079">public cryptographic key private cryptographic key + x="106.57175" + y="84.962532">private cryptographic key + + + + + cryptographic keypair + + +