mirror of
https://codeberg.org/openpgp/notes.git
synced 2024-11-30 11:32:07 +01:00
clearly mark different sections of packet discussions
This commit is contained in:
parent
1612dfd5ba
commit
543b1a8cc1
1 changed files with 15 additions and 6 deletions
|
@ -144,9 +144,17 @@ Public-Key Packet, new CTB, 2 header bytes + 42 bytes
|
||||||
|
|
||||||
The Public-Key packet consists primarily of the cryptographic key data. Let's look at the packet field by field:
|
The Public-Key packet consists primarily of the cryptographic key data. Let's look at the packet field by field:
|
||||||
|
|
||||||
|
**OpenPGP packet syntax**
|
||||||
|
|
||||||
|
The first fields of a packet are governed by the general [Packet Syntax](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-syntax):
|
||||||
|
|
||||||
- `CTB: 0xc6`[^CTB]: This is the [packet type ID](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-headers) for this packet. The binary representation of the value `0xc6` is `11000110`. The first two bits show that the packet is in *OpenPGP packet format* (as opposed to in *Legacy packet format*) and the remaining 6 bits encode the type ID value, which is "6." This type ID value corresponds to a Public-Key packet, as listed in the [packet type IDs](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-tags).
|
- `CTB: 0xc6`[^CTB]: This is the [packet type ID](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-headers) for this packet. The binary representation of the value `0xc6` is `11000110`. The first two bits show that the packet is in *OpenPGP packet format* (as opposed to in *Legacy packet format*) and the remaining 6 bits encode the type ID value, which is "6." This type ID value corresponds to a Public-Key packet, as listed in the [packet type IDs](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-tags).
|
||||||
|
|
||||||
- `length: 0x2a`: This indicates the remaining length of this packet. The packet type ID defines the semantics of the remaining data within the packet. In this case, it is a Public-Key packet, which is a kind of [Key Material Packet](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-key-material-packets).
|
- `length: 0x2a`: This indicates the remaining length of this packet.
|
||||||
|
|
||||||
|
**Public-Key packet syntax**
|
||||||
|
|
||||||
|
The packet type ID ("6") defines the semantics of the following data within the packet. In this case, it is a Public-Key packet, which is a kind of [Key Material Packet](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-key-material-packets).
|
||||||
|
|
||||||
- `version: 0x06`: The key material is in version 6 format. This means that the next part of the packet adheres to the structure of [Version 6 Public Keys](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-version-6-public-keys).
|
- `version: 0x06`: The key material is in version 6 format. This means that the next part of the packet adheres to the structure of [Version 6 Public Keys](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-version-6-public-keys).
|
||||||
|
|
||||||
|
@ -160,11 +168,6 @@ The Public-Key packet consists primarily of the cryptographic key data. Let's lo
|
||||||
|
|
||||||
[^CTB]: Sequoia uses the term CTB (Cipher Type Byte) to refer to the RFC's [packet type ID](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-headers). In earlier RFC versions, this field was known as the "Packet Tag."
|
[^CTB]: Sequoia uses the term CTB (Cipher Type Byte) to refer to the RFC's [packet type ID](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-headers). In earlier RFC versions, this field was known as the "Packet Tag."
|
||||||
|
|
||||||
```{tip}
|
|
||||||
|
|
||||||
The overall structure of OpenPGP packets is described in the [Packet Syntax](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-syntax) chapter of the RFC.
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that the *Public-Key packet* contains only the public part of the key.
|
Note that the *Public-Key packet* contains only the public part of the key.
|
||||||
|
|
||||||
(zooming_in_dks)=
|
(zooming_in_dks)=
|
||||||
|
@ -244,10 +247,16 @@ Signature Packet, new CTB, 2 header bytes + 182 bytes
|
||||||
|
|
||||||
Below is a field-by-field examination of the packet:
|
Below is a field-by-field examination of the packet:
|
||||||
|
|
||||||
|
**OpenPGP packet syntax**
|
||||||
|
|
||||||
|
The first fields of a packet are governed by the general [Packet Syntax](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-packet-syntax):
|
||||||
|
|
||||||
- `CTB: 0xc2`: This field indicates the Packet type ID for this packet. Bits 7 and 6 show that the packet is in “OpenPGP packet format.” The remaining 6 bits encode the type ID’s value, which is “2” for a Signature packet.
|
- `CTB: 0xc2`: This field indicates the Packet type ID for this packet. Bits 7 and 6 show that the packet is in “OpenPGP packet format.” The remaining 6 bits encode the type ID’s value, which is “2” for a Signature packet.
|
||||||
|
|
||||||
- `length: 0xb6`: This field shows the remaining length of this packet.
|
- `length: 0xb6`: This field shows the remaining length of this packet.
|
||||||
|
|
||||||
|
**Signature packet syntax**
|
||||||
|
|
||||||
The packet type ID (“2”) defines the semantics of the remaining data in the packet. In this case, as it indicates a [Signature packet](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#signature-packet), the following data is specific to this packet type.
|
The packet type ID (“2”) defines the semantics of the remaining data in the packet. In this case, as it indicates a [Signature packet](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#signature-packet), the following data is specific to this packet type.
|
||||||
|
|
||||||
- `version: 0x06`: This is a version 6 signature.
|
- `version: 0x06`: This is a version 6 signature.
|
||||||
|
|
Loading…
Reference in a new issue