1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-11-22 20:32:05 +01:00

More latex, less markdown

This commit is contained in:
Paul Schaub 2022-09-07 19:54:50 +02:00
parent acb845d280
commit 14941e77b3
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311

View file

@ -41,32 +41,32 @@ Formally, the PDA is defined as $M = (\mathcal{Q}, \Sigma, \Upgamma, \delta, q_0
* $\mathcal{Q}$ is a finite set of states * $\mathcal{Q}$ is a finite set of states
* $\Sigma$ is a finite set which is called the input alphabet * $\Sigma$ is a finite set which is called the input alphabet
* $\Upgamma$ is a finite set which is called the stack alphabet * $\Upgamma$ is a finite set which is called the stack alphabet
* $\delta$ is a finite set of $\mathcal{Q}\times(\Sigma\cup\{\epsilon\})\times\Upgamma\times\mathcal{Q}\times\Upgamma^*$, the transition relation * $\delta$ is a finite set of $\mathcal{Q}\times(\Sigma\cup\textbraceleft\epsilon\textbraceright)\times\Upgamma\times\mathcal{Q}\times\Upgamma^*$, the transition relation
* $q_0\in\mathcal{Q}$ is the start state * $q_0\in\mathcal{Q}$ is the start state
* $Z\in\Upgamma$ is the initial stack symbol * $Z\in\Upgamma$ is the initial stack symbol
* $F\subseteq\mathcal{Q}$ is the set of accepting states * $F\subseteq\mathcal{Q}$ is the set of accepting states
In our diagram, the initial state $q_0$ is called `start`. In our diagram, the initial state is $q_0 = \text{start}$.
The initial stack symbol $Z$ is `ε` (TODO: Make it `#`?). The initial stack symbol is $Z=\epsilon$ (TODO: Make it `#`?).
The set of accepting states is $F=\text{valid}$. The set of accepting states is $F=\textbraceleft\text{valid}\textbraceright$.
$\delta$ is defined by the transitions shown in the graph diagram. $\delta$ is defined by the transitions shown in the graph diagram.
The input alphabet consists of the following OpenPGP packets: The input alphabet $\Sigma$ consists of the following OpenPGP packets:
* `Literal Data`: Literal Data Packet * $\text{Literal Data}$: Literal Data Packet
* `Signature`: Signature Packet * $\text{Signature}$: Signature Packet
* `OnePassSignature`: One-Pass-Signature Packet * $\text{OnePassSignature}$: One-Pass-Signature Packet
* `Compressed Data`: Compressed Data Packet * $\text{Compressed Data}$: Compressed Data Packet
* `SKESK`: Symmetric-Key Encrypted Session Key Packet * $\text{SKESK}$: Symmetric-Key Encrypted Session Key Packet
* `PKESK`: Public-Key Encrypted Session Key Packet * $\text{PKESK}$: Public-Key Encrypted Session Key Packet
* `Sym. Enc. Data`: Symmetrically Encrypted Data Packet * $\text{Sym. Enc. Data}$: Symmetrically Encrypted Data Packet
* `Sym. Enc. Int. Prot. Data`: Symmetrically Encrypted Integrity Protected Data Packet * $\text{Sym. Enc. Int. Prot. Data}$: Symmetrically Encrypted Integrity Protected Data Packet
Additionally, `ε` is used to transition without reading OpenPGP packets. Additionally, $\epsilon$ is used to transition without reading OpenPGP packets or popping the stack.
The following stack alphabet is used: The following stack alphabet $\Upgamma$ is used:
* `m`: OpenPGP Message * $m$: OpenPGP Message
* `o`: One-Pass-Signature packet. * $o$: One-Pass-Signature packet.
* `k`: Encrypted Session Key * $k$: Encrypted Session Key
* `#`: Terminal for valid OpenPGP messages * `#`: Terminal for valid OpenPGP messages
Note: The standards document states, that Marker Packets shall be ignored as well. Note: The standards document states, that Marker Packets shall be ignored as well.