From fb24639ea19a72d64ba6266440a2af454601bcc8 Mon Sep 17 00:00:00 2001 From: "Tammi L. Coles" <tlcoles@gmail.com> Date: Fri, 27 Oct 2023 14:37:26 +0200 Subject: [PATCH] edit Public-Subkey packet --- book/source/17-zoom_certificates.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/book/source/17-zoom_certificates.md b/book/source/17-zoom_certificates.md index 68f1d3a..d35f8bb 100644 --- a/book/source/17-zoom_certificates.md +++ b/book/source/17-zoom_certificates.md @@ -369,7 +369,7 @@ In the following sections,we make it easier for ourselves by directly examining ### Public-Subkey packet -First, we'll look at the *Public-Subkey packet* that contains the component key data of this subkey: +We'll now look at the *Public-Subkey packet* that contains the component key data of this subkey: ```text $ sq packet dump --hex alice.pub-4--PublicSubkey @@ -392,11 +392,12 @@ Public-Subkey Packet, new CTB, 2 header bytes + 42 bytes 00000020 35 2a 46 01 f3 cc 00 f5 4a 09 3e 3f ``` -Notice that the structure of this *Public-Subkey packet* is the same as the *Public-Key Packet* of the primary key, [above](public_key). Only the content of the two packets differs in some points: +Notice that the structure of this *Public-Subkey packet* mirrors the primary key's [*Public-Key packet*](public_key) above. However, there are notable differences between the two packets: - The packet type ID (`CTB`) in this packet shows type 14 ([*Public-Subkey packet*](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-public-subkey-packet-tag-14)). -- The `pk_algo` value is set to `0x19` (decimal 25), which [corresponds to](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-public-key-algorithms) X25519. Note that even though both the primary key and this subkey use a cryptographic mechanism based on Curve25519, this encryption key uses Curve 25519 in a different way (X25519 is a Diffie–Hellman function built out of Curve25519). -- Accordingly, the public part of the cryptographic key pair is labeled with the corresponding name: `x25519_public` (however, note that this difference only reflects the semantics of the field, which is implied by the value of `pk_algo`. The actual data consists of just 32 bytes of cryptographic key material, without any type information.) + +- The `pk_algo` value is set to `0x19` (decimal 25), which [corresponds to X25519](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-public-key-algorithms). Notably, though both the primary key and this subkey use a cryptographic mechanism based on Curve25519, the encryption key uses Curve 25519 in a different way: namely, X25519 is a Diffie–Hellman function constructed from Curve25519. +- Accordingly, the public part of the cryptographic key pair is labeled `x25519_public`, as implied by the value (`0x19`) of `pk_algo`. However, the actual data is just 32 bytes of cryptographic key material, without any type information. ### Subkey binding signature