Big commit, should have split into smaller commits, but haven't

This commit is contained in:
Paul Schaub 2023-12-07 23:52:03 +01:00 committed by Heiko Schaefer
parent 20c0cb8b91
commit acc1548b40
No known key found for this signature in database
GPG key ID: DAE9A9050FCCF1EB
15 changed files with 1108 additions and 1 deletions

View file

@ -6,6 +6,22 @@ SPDX-License-Identifier: CC-BY-SA-4.0
(decryption_chapter)=
# Decryption
Message decryption is the process of taking an encrypted message and recovering its plaintext.
This involves multiple steps.
Implementations typically first process the PKESK and SKESK packets leading the SEIPD packet to identify \*ESK packets suitable for decryption.
A PKESK packet is suitable, if it contains a recipient-keyID matching a decryption (sub-) key of the users certificate.
Typically, all \*ESK packets leading a SEIPD packet contain the same *session-key* once decrypted.
```{note}
Anonymous-recipient PKESK packets contain a recipient-keyID of `0`, so if no suitable non-anonymous PKESK was found, any anonymous PKESKs are tried with any available decryption (sub-) keys (see [](decryption_anonymous_recipient)).
```
If no suitable PKESK packets were found, SKESK packets are tried next, meaning the user is typically prompted to enter a decryption passphrase.
Once any of these methods succeeded, the resulting *session-key* is used to decrypt the SEIPD packet.
```{admonition} TODO
:class: warning
@ -15,10 +31,171 @@ SPDX-License-Identifier: CC-BY-SA-4.0
- using revoked subkey?
```
## SEIPD w/ AEAD (v2)
## Symmetric decryption of the session-key (SKESK)
Decrypting a SKESK packet to recover the *session-key* is done by performing the encryption steps in reverse, based on a user-provided passphrase.
In both version 4 and version 6 of the SKESK packet, the user is prompted to enter a passphrase, which is passed through the S2K function described by the SKESK packet.
However, the subsequent steps of the procedure are different:
### SKESK v4
Here, the result of the S2K function is a symmetric key, which is either used to decrypt the encrypted session-key contained in the SKESK packet, or - less commonly - used as session-key directly.
```{note}
The "direct method" where the result of the S2K function is directly used as session key is only applicable if only one SKESK packet is present.
```
```{figure} drawio/SKESKv4-decryption.svg
:name: fig-skeskv4-decryption
:alt: Diagram depicting how the S2K function is used to derive key symmetric key from the user-provided passphrase. This key is then either used directly as session-key, or used to decrypt the encrypted session-key.
Decrypting the session-key from a version 4 SKESK packet.
```
With version 4 SKESK packets, which are only used with version 1 SEIPD packets, the *session-key* is used as *message-key* without an intermediate derivation.
The symmetric cipher algorithm tag of the SKESK packet dictates the cipher algorithm used to decrypt the plaintext from the SEIPD packet.
### SKESK v6
With version 6 SKESK packets, the result of the passing the passphrase through the S2K function is used as *initial keying material* (IKM) to derive a symmetric *key encryption key* using HKDF as a key derivation function. The HKDF function doesn't use any salt in this step and the *info* parameter is assembled from parameters of the SKESK packet.
In the next step, this symmetric key is used to decrypt the *session-key* using AEAD.
The AEAD function uses information from the associated SEIPDv2 packet as *additional data*.
The function is also salted using the SEIPDv2's salt.
The *AEAD Auth Tag* of the SKESK packet is used as authentication tag.
The result is the *session-key*.
```{figure} drawio/SKESKv6-decryption.svg
:name: fig-skeskv6-decryption
:alt: Diagram depicting the complicated process of deriving the session-key from a SKESK version 6 packet.
Decrypting the session-key from a version 6 SKESK packet.
```
## Asymmetric decryption of the session key via PKESK
More common than SKESK packets are PKESK packets which are used for asymmetric encryption of the session-key.
Here, the recipients secret key is used to decrypt the session-key.
### PKESK v3
With version 3 PKESKs, the recipients secret encryption (sub-) key is directly used to decrypt the encrypted *session key*.
The key ID of the subkey to be used is recorded in the PKESKs key-id field. A value of `0` indicates an anonymous recipient (see [](decryption_anonymous_recipient)).
To detect, which symmetric cipher is used to decrypt the SEIPDv1 packet later on, each public key algorithm uses a slightly different encoding to unpack the symmetric algorithm tag from the decrypted session key. See sections 5.1.3 through 5.1.7 of the OpenPGP specification. Typically, the cipher algorithm ID is prefixed the the actual session key.
```{admonition} TODO
:class: warning
Link those sections directly
```
```{figure} drawio/PKESKv3-decryption.svg
:name: fig-decryption-pkesk3
:alt: Depicts, how the the secret-key component of the users encryption subkey is directly used to decrypt the encrypted session-key.
Decrypting the session-key from a version 3 PKESK packet.
```
### PKESK v6
The decryption of version 6 PKESK packets works quite similar to version 3.
```{figure} drawio/PKESKv6-decryption.svg
:name: fig-decryption-pkesk6
:alt: Depicts, how the the secret-key component of the users encryption subkey is directly used to decrypt the encrypted session-key.
Decrypting the session-key from a version 6 PKESK packet.
```
Contrary to the version 3 PKESK, the encrypted session-key within the version 6 PKESK does not contain the symmetric cipher algorithm used to decrypt the SEIPD packet.
Instead, this cipher algorithm ID is encoded inside the SEIPDv2 packet directly.
(decryption_anonymous_recipient)=
### Anonymous recipients
Having all recipients keys listed as part of the PKESK packets presents a metadata leakage. An observer can easily enumerate recipients of a message by comparing the PKESKs with certificates of potential recipients.
To prevent this issue, the sender can decide to add individual recipients as anonymous recipients using a wildcard key-ID / fingerprint.
This is done by creating a normal PKESK packet for the recipient, but setting the recipient key field to `0` (as well as omitting the version number of the key for v6 PKESKs).
A recipient of such a message that does not find a PKESK addressed specifically to any of their keys, can then try to decrypt any anonymous PKESK packets using any of their encryption subkeys.
```{admonition} TODO
:class: warning
When did the decryption succeed? Describe quick check of the check sum and decryption of first few bytes of the SEIPD as test strategies.
```
## SEIPD (v1)
Version 1 SEIPD packets MUST only be used with version 3 PKESK packets and/or version 4 SKESK packets.
Any other combinations are not allowed and MUST result in a broken message.
```{note}
Since SEIPD version 1 is susceptible to downgrade attacks under certain scenarios, it is recommended to use SEIPD version 2 wherever possible.
```
To decrypt the contents of a version 1 SEIPD packet, the session-key obtained in the previous step is used.
The cipher algorithm is determined by TODO.
```{adminonition} TODO
:class: warning
Describe in detail, how the cipher algorithm is obtained.
```
Once the cipher is initialized, the whole encrypted data from the SEIPD packet is decrypted.
```{admonition} TODO
:class: warning
Describe the MDC which is used for modification detection.
```
```{figure} drawio/SEIPDv1-decryption.svg
:name: fig-decryption-seipd1
:alt: Depicts how the session-key is used directly to decrypt the contents of the SEIPD packet.
The contents of the SEIPD packet are decrypted using the session-key as message-key.
```
## SEIPD w/ AEAD (v2)
Preferred mode.
Version 2 SEIPD packets MUST only be used with version 6 PKESK packets and/or version 6 SKESK packets.
Any other combinations are not allowed and MUST result in a broken message.
Once the session-key was obtained from a PKESK or SKESK, it is used to derive a *message-key* and an IV. This is done by passing the session-key through a salted HKDF function, where the salt is unique per message and obtained from the SEIPD packet.
The result is split into the message key and first half of the IV.
```{figure} drawio/SEIPDv2-decryption-mk-derivation.svg
:name: fig-decryption-seipd2-mk-derivation
:alt: Depicts how the session-key is fed into a salted HKDF to derive both the message-key and the first half of an IV.
In a first step, a message-key and half of an IV is derived from the session-key.
```
Then, the contens of the SEIPDs encrypted data are split into chunks, which are processed sequentially. Each chunk is decrypted using AEAD with parameters from the SEIPD packet as *additional data*.
For each chunk, the chunk index starting at `0` is passed into the function as second half of the IV.
All decrypted plaintext blocks are appended to form the result of the decryption process.
After all blocks have been processed, in a last AEAD step, the total number of plaintext octets gets appended to the *additional data* and the final AEAD auth tag from the SEIPD packet is processed.
```{figure} drawio/SEIPDv2-decryption-chunks.svg
:name: fig-decryption-seipd2-chunks
:alt: Depicts, how the message-key and index-postfixed IV are used to decrypt each individual chunk of plaintext.
Each chunk is decrypted using AEAD using the message-key and an IV with appended chunk index.
```
## SED
Legacy mode, may be decrypted, but not produced.

View file

@ -0,0 +1,57 @@
<mxfile host="app.diagrams.net" modified="2023-12-07T19:51:28.971Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="yYwf2-bWjJDzgGIJRoec" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="2022" dy="659" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="h-jzOOFD72CvbkbpJgZJ-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-4" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-4" value="&lt;div&gt;Secret Key&lt;/div&gt;Key-ID: 0xB0B" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
<mxGeometry x="-120" y="257.5" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-14" target="h-jzOOFD72CvbkbpJgZJ-64">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-14" value="&lt;div&gt;Asymmetric&lt;/div&gt;&lt;div&gt;Decryption&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="257.5" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-64" value="Symmetric Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="397.5" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="240" y="252.5" width="120" height="155" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-15" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shape=flexArrow;entryX=1;entryY=0.5;entryDx=0;entryDy=0;width=10;endSize=4;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-7" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="410" as="sourcePoint" />
<mxPoint x="270" y="150" as="targetPoint" />
<Array as="points">
<mxPoint x="180" y="298" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-3" value="&lt;div&gt;PKESKv3&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="270" y="252.5" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-5" value="Key-ID: 0xB0B" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="325" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-7" value="Asymmetric Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="282.5" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-9" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-90" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="h-jzOOFD72CvbkbpJgZJ-89">
<mxGeometry x="0.755" y="1" relative="1" as="geometry">
<mxPoint y="10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-9" value="Enc. Session-Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="367.5" width="100" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,66 @@
<mxfile host="app.diagrams.net" modified="2023-12-07T20:53:57.709Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="V1N0-XVAYuoNan-dL_ob" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="2261" dy="740" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="h-jzOOFD72CvbkbpJgZJ-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-4" target="h-jzOOFD72CvbkbpJgZJ-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-4" value="&lt;div&gt;Secret Key&lt;/div&gt;&lt;div&gt;Key-ID: 0xB0B&lt;/div&gt;Version: 6" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
<mxGeometry x="-120" y="257.5" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-14" target="h-jzOOFD72CvbkbpJgZJ-64" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-14" value="&lt;div&gt;Asymmetric&lt;/div&gt;&lt;div&gt;Decryption&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="40" y="257.5" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-64" value="Session-Key" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="40" y="397.5" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="240" y="252.5" width="120" height="197.5" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-15" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shape=flexArrow;entryX=1;entryY=0.5;entryDx=0;entryDy=0;width=10;endSize=4;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-7" target="h-jzOOFD72CvbkbpJgZJ-14" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="410" as="sourcePoint" />
<mxPoint x="270" y="150" as="targetPoint" />
<Array as="points">
<mxPoint x="180" y="298" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-3" value="&lt;div&gt;PKESKv6&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="270" y="252.5" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-5" value="Fingerprint: 0xB0B" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="325" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-7" value="Asymmetric Algo." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="282.5" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-9" target="h-jzOOFD72CvbkbpJgZJ-14" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="180" y="425" />
<mxPoint x="180" y="380" />
<mxPoint x="130" y="380" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-90" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="h-jzOOFD72CvbkbpJgZJ-89" vertex="1" connectable="0">
<mxGeometry x="0.755" y="1" relative="1" as="geometry">
<mxPoint y="10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-9" value="Enc. Session-Key" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="410" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-1" value="Key-Version: 6" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="370" width="100" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,69 @@
<mxfile host="app.diagrams.net" modified="2023-12-07T21:04:20.023Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="LZMR0jYqrt-P4sCdKC6j" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1434" dy="740" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="DWDa1s29pt83LbMmWAcP-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-2" target="DWDa1s29pt83LbMmWAcP-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-14" value="key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-9">
<mxGeometry x="-0.1333" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-2" target="DWDa1s29pt83LbMmWAcP-10">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-2" value="&lt;div&gt;Message-Key&lt;/div&gt;(Session-Key)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="370" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-7" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="420" y="410" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-4" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="DWDa1s29pt83LbMmWAcP-7">
<mxGeometry width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-5" value="SEIPDv1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="DWDa1s29pt83LbMmWAcP-7">
<mxGeometry x="30" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-6" value="Encrypted Data" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="DWDa1s29pt83LbMmWAcP-7">
<mxGeometry x="10" y="30" width="100" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-8" target="DWDa1s29pt83LbMmWAcP-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-8" value="&lt;div&gt;Symmetric&lt;/div&gt;&lt;div&gt;Decryption&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="255" y="470" width="110" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-10" target="DWDa1s29pt83LbMmWAcP-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-13" value="algorithm" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-12">
<mxGeometry x="0.3125" y="-2" relative="1" as="geometry">
<mxPoint x="13" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-10" value="&lt;div&gt;Extract&lt;/div&gt;&lt;div&gt;Cipher&lt;/div&gt;&lt;div&gt;Algorithm&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="100" y="360" width="110" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-6" target="DWDa1s29pt83LbMmWAcP-8">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="390" y="470" />
<mxPoint x="390" y="510" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-16" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-15">
<mxGeometry x="0.5429" y="1" relative="1" as="geometry">
<mxPoint y="-21" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-17" value="Plaintext" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="585" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,257 @@
<mxfile host="app.diagrams.net" modified="2023-12-07T22:36:48.782Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="vz4ePV4Aq_vjx2KqoccW" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1195" dy="617" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="DWDa1s29pt83LbMmWAcP-169" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-2" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="80" y="810" />
<mxPoint x="500" y="810" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-170" value="key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-169">
<mxGeometry x="0.9073" y="-1" relative="1" as="geometry">
<mxPoint x="5" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-2" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-151" value="key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-150">
<mxGeometry x="0.8385" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-2" value="&lt;div&gt;Message-Key&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="425" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-19" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="470" y="390" />
<mxPoint x="354" y="390" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-19" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="370" width="120" height="270" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-20" value="SEIPDv2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="500" y="370" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-21" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="450" y="415" />
<mxPoint x="450" y="435" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-21" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="400" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-22" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-22" value="AEAD Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="440" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-23" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="450" y="488" />
<mxPoint x="450" y="475" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-23" value="Chunk Size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="480" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-24" value="Salt" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="520" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-127" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;jumpStyle=none;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-25" target="DWDa1s29pt83LbMmWAcP-126">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-25" value="Encrypted Data" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="560" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-26" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="600" y="615" />
<mxPoint x="600" y="750" />
<mxPoint x="560" y="750" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-183" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-167">
<mxGeometry x="0.8199" y="1" relative="1" as="geometry">
<mxPoint x="19" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-26" value="&lt;div&gt;Final AEAD&lt;/div&gt;&lt;div&gt;Auth Tag&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="600" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-36" target="DWDa1s29pt83LbMmWAcP-128">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-36" value="IV" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="425" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-143" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;jumpStyle=arc;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-37" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="384" y="510" />
<mxPoint x="450" y="510" />
<mxPoint x="450" y="780" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-144" value="AD" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-143">
<mxGeometry x="0.8948" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-37" value="&lt;div&gt;Packet Type ID,&lt;/div&gt;&lt;div&gt;Version Number,&lt;/div&gt;&lt;div&gt;Cipher Algo,&lt;/div&gt;&lt;div&gt;AEAD Algo,&lt;/div&gt;&lt;div&gt;Chunk Size&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="294" y="415" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-42" value="Packet Type, Version" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="336" y="370" width="124" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-47" value="+" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="440" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-126" target="DWDa1s29pt83LbMmWAcP-130">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="360" y="630" />
<mxPoint x="335" y="630" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-141" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-126" target="DWDa1s29pt83LbMmWAcP-140">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="360" y="630" />
<mxPoint x="405" y="630" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-126" value="toChunk(i)" style="rhombus;whiteSpace=wrap;html=1;rounded=0;" vertex="1" parent="1">
<mxGeometry x="320" y="535" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-137" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-128" target="DWDa1s29pt83LbMmWAcP-136">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-128" value="&lt;div&gt;append&lt;/div&gt;&lt;div&gt;chunk&lt;/div&gt;&lt;div&gt;index(i)&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="180" y="535" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-130" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="353" y="730" />
<mxPoint x="290" y="730" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-130" value="Chunk #i" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="300" y="650" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-148" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-136" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="780" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-149" value="nonce" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-148">
<mxGeometry x="0.4167" relative="1" as="geometry">
<mxPoint x="5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-172" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-136" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="790" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-173" value="nonce" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-172">
<mxGeometry x="0.7588" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-136" value="Nonce #i" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="650" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-146" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-140" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="405" y="730" />
<mxPoint x="290" y="730" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-147" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-146">
<mxGeometry x="0.7838" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-140" value="Tag #i" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="380" y="650" width="50" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-153" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-142" target="DWDa1s29pt83LbMmWAcP-152">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-142" value="AEAD" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="760" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-152" value="Plaintext Block #i" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="870" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-175" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<mxPoint x="540" y="830" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-179" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-156" target="DWDa1s29pt83LbMmWAcP-178">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-156" value="&lt;div&gt;Final&lt;/div&gt;&lt;div&gt;AEAD&lt;/div&gt;&lt;div&gt;Step&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="500" y="770" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-160" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-157" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-161" value="AD" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-160">
<mxGeometry x="0.7708" y="1" relative="1" as="geometry">
<mxPoint x="-1" y="-13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-157" value="&lt;div&gt;AD,&lt;/div&gt;&lt;div&gt;#Plaintext Octets&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="650" width="100" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-159" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="DWDa1s29pt83LbMmWAcP-157">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="450" y="680" as="sourcePoint" />
<mxPoint x="250" y="630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-171" value="AD" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-159">
<mxGeometry x="-0.125" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-178" value="&quot;&quot;" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="510" y="870" width="60" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 40 KiB

View file

@ -0,0 +1,119 @@
<mxfile host="app.diagrams.net" modified="2023-12-07T22:07:05.313Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="-jLwio3xPozykjHtY1Wy" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1195" dy="617" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="DWDa1s29pt83LbMmWAcP-2" value="&lt;div&gt;Message-Key&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="580" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-19" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="460" y="390" />
<mxPoint x="354" y="390" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-19" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="460" y="370" width="120" height="270" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-20" value="SEIPDv2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="490" y="370" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-21" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-21" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="400" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-22" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-22" value="AEAD Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="440" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-23" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-23" value="Chunk Size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="480" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;jumpStyle=arc;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-24" target="DWDa1s29pt83LbMmWAcP-30">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="430" y="535" />
<mxPoint x="430" y="510" />
<mxPoint x="245" y="510" />
<mxPoint x="245" y="475" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-34" value="salt" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-33">
<mxGeometry x="0.7333" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-24" value="Salt" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="520" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-25" value="Encrypted Data" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="560" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-26" value="&lt;div&gt;Final AEAD&lt;/div&gt;&lt;div&gt;Auth Tag&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="600" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-27" target="DWDa1s29pt83LbMmWAcP-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-32" value="IKM" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-31">
<mxGeometry x="-0.0286" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-27" value="&lt;div&gt;Session-Key&lt;/div&gt;&lt;div&gt;(decrypted from PKESK/SKESK)&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="140" y="270" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-30" target="DWDa1s29pt83LbMmWAcP-36">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="200" y="530" />
<mxPoint x="270" y="530" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-30" target="DWDa1s29pt83LbMmWAcP-2">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="200" y="530" />
<mxPoint x="130" y="530" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-30" value="HKDF" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="415" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-36" value="IV" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="210" y="580" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-37" target="DWDa1s29pt83LbMmWAcP-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-44" value="info" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-43">
<mxGeometry x="0.037" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-37" value="&lt;div&gt;Packet Type ID,&lt;/div&gt;&lt;div&gt;Version Number,&lt;/div&gt;&lt;div&gt;Cipher Algo,&lt;/div&gt;&lt;div&gt;AEAD Algo,&lt;/div&gt;&lt;div&gt;Chunk Size&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="294" y="415" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-42" value="Packet Type, Version" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="336" y="370" width="124" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-47" value="+" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="170" y="595" width="60" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -0,0 +1,114 @@
<mxfile host="app.diagrams.net" modified="2023-12-07T19:21:04.590Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="RbvL_mxRSav4wdoz8zYv" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="2022" dy="659" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="h-jzOOFD72CvbkbpJgZJ-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-4" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-4" value="Passphrase" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
<mxGeometry x="-120" y="185" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-14" target="h-jzOOFD72CvbkbpJgZJ-64">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-14" value="S2K Function" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="185" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-62" value="Session Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="585" width="100" height="60" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-64" target="h-jzOOFD72CvbkbpJgZJ-69">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-64" value="Symmetric Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="300" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="240" y="252.5" width="120" height="155" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-15" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shape=flexArrow;entryX=1;entryY=1;entryDx=0;entryDy=0;width=10;endSize=4;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-7" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="410" as="sourcePoint" />
<mxPoint x="270" y="150" as="targetPoint" />
<Array as="points">
<mxPoint x="180" y="298" />
<mxPoint x="180" y="280" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-5" target="h-jzOOFD72CvbkbpJgZJ-71">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-3" value="&lt;div&gt;SKESKv4&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="270" y="252.5" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-5" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="325" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-7" value="S2K Identifier" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="282.5" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-86" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-9" target="h-jzOOFD72CvbkbpJgZJ-71">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="250" y="385" />
<mxPoint x="230" y="385" />
<mxPoint x="230" y="470" />
<mxPoint x="270" y="470" />
<mxPoint x="270" y="510" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-87" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="h-jzOOFD72CvbkbpJgZJ-86">
<mxGeometry x="0.7147" relative="1" as="geometry">
<mxPoint y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-9" value="Enc. Session-Key" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" vertex="1" parent="1">
<mxGeometry x="250" y="367.5" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-69" target="h-jzOOFD72CvbkbpJgZJ-71">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="135" y="510" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-79" value="yes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="h-jzOOFD72CvbkbpJgZJ-72">
<mxGeometry x="-0.6615" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-82" value="key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="h-jzOOFD72CvbkbpJgZJ-72">
<mxGeometry x="0.1258" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-69" target="h-jzOOFD72CvbkbpJgZJ-62">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-81" value="no" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="h-jzOOFD72CvbkbpJgZJ-74">
<mxGeometry x="-0.8354" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-69" value="&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Is&lt;/div&gt;&lt;div&gt;Encrypted&lt;/div&gt;&lt;div&gt;Session-Key&lt;/div&gt;&lt;div&gt;present&lt;br&gt;&lt;/div&gt;" style="triangle;whiteSpace=wrap;html=1;direction=north;" vertex="1" parent="1">
<mxGeometry x="30" y="390" width="140" height="70" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-77" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-71" target="h-jzOOFD72CvbkbpJgZJ-62">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="200" y="560" />
<mxPoint x="115" y="560" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-71" value="&lt;div&gt;Symmetric&lt;/div&gt;&lt;div&gt;Decryption&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="150" y="470" width="100" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,220 @@
<mxfile host="app.diagrams.net" modified="2023-12-07T19:05:31.133Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="F7bl6ZQev9I7Cq7ylksM" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="2261" dy="791" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="h-jzOOFD72CvbkbpJgZJ-12" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="380" y="70" width="160" height="690" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-12" value="" style="whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry width="160" height="650" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-13" value="Encrypted Message" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="20" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-17" value="" style="whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="20" y="330" width="120" height="310" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-18" value="SEIPDv2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="50" y="330" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-19" value="Salt: 49f8edc3" style="rounded=0;whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="30" y="480" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-20" value="Ciphertext" style="rounded=0;whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="30" y="520" width="100" height="70" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-41" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="360" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-42" value="AEAD Mode" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="400" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-43" value="Chunk Size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="440" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-44" value="AEAD Auth Tag" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="600" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-4" value="Passphrase" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
<mxGeometry x="-60" y="60" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-13" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="400" y="100" width="120" height="270" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry width="120" height="270" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-3" value="&lt;div&gt;SKESKv6&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="30" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-5" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="30" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-6" value="AEAD Mode" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="70" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-7" value="S2K Identifier" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="110" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-8" value="IV: 0xC0FFEE" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="150" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-9" value="Enc. Session-Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="190" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-10" value="AEAD Auth Tag" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="230" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-14" value="S2K Function" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="185" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-4" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="140" y="190" as="sourcePoint" />
<mxPoint x="190" y="140" as="targetPoint" />
<Array as="points">
<mxPoint x="80" y="100" />
<mxPoint x="100" y="130" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-17" target="h-jzOOFD72CvbkbpJgZJ-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-17" value="&lt;div&gt;HKDF&lt;/div&gt;(no salt)" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="285" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-18" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-14" target="h-jzOOFD72CvbkbpJgZJ-17">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="100" y="250" as="sourcePoint" />
<mxPoint x="300" y="345" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-19" value="IKM" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="50" y="260" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-20" target="h-jzOOFD72CvbkbpJgZJ-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-20" value="&lt;div&gt;Packet Type ID,&lt;/div&gt;&lt;div&gt;Packet Version,&lt;/div&gt;&lt;div&gt;Cipher Algo,&lt;/div&gt;&lt;div&gt;AEAD Mode&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="210" y="290" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-15" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shape=flexArrow;entryX=1;entryY=0.5;entryDx=0;entryDy=0;width=10;endSize=4;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-7" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="410" as="sourcePoint" />
<mxPoint x="270" y="150" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-6" target="h-jzOOFD72CvbkbpJgZJ-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-5" target="h-jzOOFD72CvbkbpJgZJ-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-2" target="h-jzOOFD72CvbkbpJgZJ-20">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="400" y="120" />
<mxPoint x="240" y="120" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-27" value="Packet Type and Verison" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="240" y="100" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-30" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-30" value="Key Encryption Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="440" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-32" value="Info" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="150" y="290" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-34" target="h-jzOOFD72CvbkbpJgZJ-62">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-34" value="AEAD" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="570" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-37" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-37" value="&lt;div&gt;Packet Type ID,&lt;/div&gt;&lt;div&gt;Packet Version,&lt;/div&gt;&lt;div&gt;Cipher Algo,&lt;/div&gt;&lt;div&gt;AEAD Mode&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="210" y="575" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-17" target="h-jzOOFD72CvbkbpJgZJ-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="400" y="420" />
<mxPoint x="240" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-40" value="Packet Type and Verison" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="240" y="400" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-41" target="h-jzOOFD72CvbkbpJgZJ-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-42" target="h-jzOOFD72CvbkbpJgZJ-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-19" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="360" y="565" />
<mxPoint x="360" y="660" />
<mxPoint x="130" y="660" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-48" value="Salt" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="130" y="634.5" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-49" value="AD" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="150" y="570" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-51" value="Key" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="70" y="510" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-9" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="580" as="targetPoint" />
<Array as="points">
<mxPoint x="360" y="305" />
<mxPoint x="360" y="370" />
<mxPoint x="220" y="370" />
<mxPoint x="220" y="500" />
<mxPoint x="120" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-57" value="Ciphertext" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="140" y="480" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-10" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry">
<mxPoint x="116" y="540" as="targetPoint" />
<Array as="points">
<mxPoint x="370" y="345" />
<mxPoint x="370" y="380" />
<mxPoint x="230" y="380" />
<mxPoint x="230" y="530" />
<mxPoint x="130" y="530" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-61" value="Auth Tag" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="140" y="510" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-62" value="Session Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="680" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 40 KiB