initial public release

This commit is contained in:
Heiko Schaefer 2023-12-13 14:15:58 +01:00
parent ecffecc2ce
commit e913b907d7
No known key found for this signature in database
GPG Key ID: DAE9A9050FCCF1EB
129 changed files with 28453 additions and 0 deletions

4
.dockerignore Normal file
View File

@ -0,0 +1,4 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
book/build

7
.domains Normal file
View File

@ -0,0 +1,7 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
#
# See https://docs.codeberg.org/codeberg-pages/using-custom-domain/ for
# details. The first domain should be "main" the rest are aliases.
openpgp.dev

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
.idea
book/build/
book/source/plain_svg

12
.reuse/dep5 Normal file
View File

@ -0,0 +1,12 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: notes
Upstream-Contact: Heiko Schaefer <heiko@schaefer.name>
Source: https://codeberg.org/openpgp/notes
Files: book/assets/* book/source/img/* book/source/_static/epub/img/* book/source/_static/html/img/*
Copyright: 2023 The "Notes on OpenPGP" project
License: CC-BY-SA-4.0
Files: book/patches/*.patch book/source/examples/*.asc
Copyright: 2023 The "Notes on OpenPGP" project
License: CC0-1.0

22
.woodpecker/codespell.yml Normal file
View File

@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
clone:
git:
image: woodpeckerci/plugin-git
settings:
lfs: false
when:
# branch: main
event:
- push
- pull_request
steps:
codespell:
image: archlinux:latest
commands:
- pacman -Sy --needed --noconfirm archlinux-keyring
- pacman -Syu --needed --noconfirm codespell make
- make -C book codespell

58
.woodpecker/doc-pages.yml Normal file
View File

@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
steps:
pages:
image: woodpeckerci/plugin-docker-buildx
settings:
output: type=local,dest=public
# do not push, push cannot be used with output simultaneously anyway
dry_run: true
# do not refresh image
pull_image: false
purge: false
pages-pr-preview:
image: bitnami/git
secrets: [ codeberg_token ]
commands:
- git config --global user.email heiko.schaefer+boiler@posteo.de
- git config --global user.name "Page Renderer"
- git clone -b pages https://$CODEBERG_TOKEN@codeberg.org/openpgp/pr-preview.git pr-preview
- rm -rf pr-preview/$CI_COMMIT_PULL_REQUEST
- cp -ar public/. pr-preview/$CI_COMMIT_PULL_REQUEST
- cd pr-preview
- >
if [ -z "$(git status --porcelain)" ]; then
echo "No changes"
else
git add .
git commit -m "Update rendered page" -m "Source: $CI_COMMIT_SHA" -m "See: $CI_BUILD_LINK"
git push
fi
when:
event: pull_request
pages-publish:
image: bitnami/git
secrets: [ codeberg_token ]
commands:
- git config --global user.email heiko.schaefer+boiler@posteo.de
- git config --global user.name "Page Renderer"
- git clone -b pages https://$CODEBERG_TOKEN@codeberg.org/openpgp/site.git $CI_REPO_NAME
- cp -ar public/. $CI_REPO_NAME/book/
# Needed for custom domains
- cp .domains $CI_REPO_NAME || true # Ignore if it doesn't exist
- cd $CI_REPO_NAME
- >
if [ -z "$(git status --porcelain)" ]; then
echo "No changes"
else
git add .
git commit -m "Update rendered page" -m "Source: $CI_COMMIT_SHA" -m "See: $CI_BUILD_LINK"
git push
fi
when:
event: push
# only do releases to the `site` repo for the "main" branch
branch: main

24
.woodpecker/epub.yml Normal file
View File

@ -0,0 +1,24 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
clone:
git:
image: woodpeckerci/plugin-git
settings:
lfs: false
when:
# branch: main
event:
- push
- pull_request
steps:
epub-check:
image: archlinux:latest
commands:
- pacman -Sy --needed --noconfirm archlinux-keyring
- pacman -Syu --needed --noconfirm epubcheck inkscape noto-fonts make patch python-myst-parser python-sphinx python-sphinxext-opengraph ttf-montserrat
# fix sphinx: https://github.com/sphinx-doc/sphinx/issues/11598
- patch -Np1 -d /usr/lib/python3.11/site-packages/ -i "$(pwd)/book/patches/sphinx-11766.patch"
- make -C book epub-check

18
.woodpecker/licensing.yml Normal file
View File

@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
clone:
git:
image: woodpeckerci/plugin-git
settings:
lfs: false
when:
# branch: main
event:
- push
- pull_request
steps:
reuse:
image: fsfe/reuse

23
.woodpecker/links.yml Normal file
View File

@ -0,0 +1,23 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
clone:
git:
image: woodpeckerci/plugin-git
settings:
partial: true
lfs: false
when:
# branch: main
event:
- push
- pull_request
steps:
link-check:
image: archlinux:latest
commands:
- pacman -Sy --needed --noconfirm archlinux-keyring
- pacman -Syu --needed --noconfirm inkscape lychee make noto-fonts python-myst-parser python-sphinx python-sphinxext-opengraph ttf-montserrat
- make -C book html-linkcheck

149
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,149 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Contributing
These are the contribution guidelines for "Notes on OpenPGP."
Development takes place at https://codeberg.org/openpgp/notes.
Discussion around this project takes place in [`#notes-on-openpgp:matrix.org`] on [Matrix].
## Providing changes
This project uses [sphinx] and [MyST-parser] to allow building various output formats, such as [HTML] and [EPUB], for the included book projects.
Contributors can provide changes by pull request towards the project.
### Requirements
The following packages need to be installed on the system in order for the build to suceed:
* [inkscape](https://inkscape.org)
* `make`
* [myst-parser](https://github.com/executablebooks/MyST-Parser)
* [sphinx](https://github.com/sphinx-doc/sphinx/)
* [sphinxext-opengraph](https://github.com/wpilibsuite/sphinxext-opengraph)
Required fonts:
* [Montserrat](https://github.com/JulietaUla/Montserrat)
* [Noto](https://fonts.google.com/noto)
Optional test/check dependencies:
* [codespell](https://github.com/codespell-project/codespell)
* [lychee](https://lychee.cli.rs/)
* [epubcheck](https://github.com/w3c/epubcheck)
* [watchexec](https://github.com/watchexec/watchexec)
### Building and testing
The included book projects can be built and tested using a `Makefile`.
The below examples show how to use it with a book named `book`.
To cleanly build the [HTML] output:
```shell
$ make -C book clean build
```
To cleanly build the [EPUB] output:
```shell
$ make -C book clean epub
```
To spell check all files using [codespell]:
```shell
$ make -C book codespell
```
To check the external links in all [HTML] files using [lychee]:
```shell
$ make -C book html-linkcheck
```
### Writing text
The syntax follows what is available in [MyST-parser].
---
**NOTE**: It is advisable to always relate to the [MyST-parser] documentation, as [MyST] itself offers more/ different features!
---
#### Including files
It is advisable to [include external files](https://myst-parser.readthedocs.io/en/latest/syntax/code_and_apis.html#including-code-from-files) with data, instead of using a code block to display the data.
---
**NOTE**: The reason for this is, that `codespell` is used to check for common spelling mistakes and output from other programs may contain text, that will trigger it to flag it as an error.
To work around this issue, `codespell` is configured to ignore example files, so that not entire chapter files have to be ignored.
---
Use the `{literalcode}` directive to include files:
````
```{literalinclude} examples/my-example.txt
:language: text
```
````
#### Cross-referencing
There are a few guidelines when it comes to cross-referencing, which work around oddities with [sphinx] and [MyST-parser]:
* When adding [explicit targets], use [kebab case].
* Do not rename already released [explicit targets], as it will break deep linking by downstreams relying on these targets.
* When referencing chapters by file, use `[](/my-chapter)`, instead of relying on [explicit targets] for a top-level heading.
* To reference a figure by its title, use `[](#my-figure)` for a figure with the `:name:` attribute `my-figure` (and e.g., the title `My Figure`).
* To reference a figure by number (e.g. `Fig. 1`), use ```{numref}`my-figure` ``` for a figure with the `:name:` attribute `my-figure`.
#### Figures
[Figure] environments must have a `:name:` attribute, prefixed with `fig-`, so that they can be referenced elsewhere.
The `:alt:` attribute should explain what is displayed in the picture, as this is an [accessibility] feature. To keep matters brief, components and symbols that are described in other figures already, can be referenced by name instead of explaining them in detail.
#### Glossary
This project defines terms in a [glossary]. Using the `term` role, it is possible to reference these terms from anywhere.
Given a term `My Term` in the glossary, it is possible to reference it directly using ```{term}`my term```` or indirectly ```{term}`something else<My Term>````.
There are a few rules, that should be kept in mind when creating terms and referencing them.
* alternative terms for a term may exist in the glossary for completeness (e.g., `My Other Term` may point to `My Term` in the glossary)
* references to a term should always point to the deepest redirect (e.g., if `My Other Term` points to `My Term` in the glossary, references should point to `My Term` and not `My Other Term`)
* even if links to external resources can also be found in a section that is related to a term, the links related to the term should also be present in the glossary
## License
All text contributions fall under the terms of the [CC-BY-SA-4.0].
Configuration file contributions fall under the terms of the [CC0-1.0].
[`#notes-on-openpgp:matrix.org`]: https://matrix.to/#/%23notes-on-openpgp%3Amatrix.org
[Matrix]: https://matrix.org
[sphinx]: https://www.sphinx-doc.org/en/master/
[MyST-parser]: https://myst-parser.readthedocs.io/en/latest/
[HTML]: https://en.wikipedia.org/wiki/HTML
[EPUB]: https://en.wikipedia.org/wiki/EPUB
[MyST]: https://mystmd.org/guide/quickstart-myst-markdown
[codespell]: https://github.com/codespell-project/codespell
[lychee]: https://lychee.cli.rs
[explicit targets]: https://myst-parser.readthedocs.io/en/latest/syntax/cross-referencing.html#creating-explicit-targets
[kebab case]: https://en.wikipedia.org/wiki/Letter_case#Kebab_case
[Figure]: https://myst-parser.readthedocs.io/en/latest/syntax/images_and_figures.html#figures-images-with-captions
[accessibility]: https://en.wikipedia.org/wiki/Computer_accessibility
[glossary]: https://myst-parser.readthedocs.io/en/latest/syntax/typography.html#definition-lists-and-glossaries
[CC-BY-SA-4.0]: ./LICENSES/CC-BY-SA-4.0.txt
[CC0-1.0]: ./LICENSES/CC0-1.0.txt

16
Dockerfile Normal file
View File

@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
FROM archlinux:latest AS build
COPY book/ /book
WORKDIR /book
# fix EPUB rendering: https://github.com/sphinx-doc/sphinx/issues/11598
RUN \
pacman -Sy --needed --noconfirm archlinux-keyring \
&& pacman -Syu --needed --noconfirm inkscape make noto-fonts patch python-myst-parser python-sphinx python-sphinxext-opengraph ttf-montserrat \
&& patch -Np1 -d /usr/lib/python3.11/site-packages/ -i /book/patches/sphinx-11766.patch \
&& make epub html
FROM scratch
COPY --from=build /book/build/html /
COPY --from=build --chown=644 /book/build/epub/OpenPGP_for_application_developers.epub /

428
LICENSES/CC-BY-SA-4.0.txt Normal file
View File

@ -0,0 +1,428 @@
Attribution-ShareAlike 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-ShareAlike 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.
c. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.
1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public licenses.
Notwithstanding, Creative Commons may elect to apply one of its public
licenses to material it publishes and in those instances will be
considered the “Licensor.” The text of the Creative Commons public
licenses is dedicated to the public domain under the CC0 Public Domain
Dedication. Except for the limited purpose of indicating that material
is shared under a Creative Commons public license or as otherwise
permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the public
licenses.
Creative Commons may be contacted at creativecommons.org.

119
LICENSES/CC0-1.0.txt Normal file
View File

@ -0,0 +1,119 @@
Creative Commons Legal Code
CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES
NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE
AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE
OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION
OR WORKS PROVIDED HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer exclusive
Copyright and Related Rights (defined below) upon the creator and subsequent
owner(s) (each and all, an "owner") of an original work of authorship and/or
a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later claims
of infringement build upon, modify, incorporate in other works, reuse and
redistribute as freely as possible in any form whatsoever and for any purposes,
including without limitation commercial purposes. These owners may contribute
to the Commons to promote the ideal of a free culture and the further production
of creative, cultural and scientific works, or to gain reputation or greater
distribution for their Work in part through the use and efforts of others.
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with
a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or
her Copyright and Related Rights in the Work and the meaning and intended
legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be protected
by copyright and related or neighboring rights ("Copyright and Related Rights").
Copyright and Related Rights include, but are not limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work, subject
to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal protection
of databases, and under any national implementation thereof, including any
amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time extensions),
(iii) in any current or future medium and for any number of copies, and (iv)
for any purpose whatsoever, including without limitation commercial, advertising
or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
benefit of each member of the public at large and to the detriment of Affirmer's
heirs and successors, fully intending that such Waiver shall not be subject
to revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account Affirmer's
express Statement of Purpose. In addition, to the extent the Waiver is so
judged Affirmer hereby grants to each affected person a royalty-free, non
transferable, non sublicensable, non exclusive, irrevocable and unconditional
license to exercise Affirmer's Copyright and Related Rights in the Work (i)
in all territories worldwide, (ii) for the maximum duration provided by applicable
law or treaty (including future time extensions), (iii) in any current or
future medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional purposes
(the "License"). The License shall be deemed effective as of the date CC0
was applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder of
the License, and in such case Affirmer hereby affirms that he or she will
not (i) exercise any of his or her remaining Copyright and Related Rights
in the Work or (ii) assert any associated claims and causes of action with
respect to the Work, in either case contrary to Affirmer's express Statement
of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered,
licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or other
defects, accuracy, or the present or absence of errors, whether or not discoverable,
all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims
responsibility for obtaining any necessary consents, permissions or other
rights required for any use of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not a party
to this document and has no duty or obligation with respect to this CC0 or
use of the Work.

View File

@ -6,3 +6,24 @@ SPDX-License-Identifier: CC-BY-SA-4.0
# Notes on OpenPGP
The "Notes on OpenPGP" project aims to produce accessible documentation for the OpenPGP ecosystem.
# OpenPGP for application developers
A book for application developers who want to integrate OpenPGP functionality into their software.
This book serves a standalone introduction to the concepts of OpenPGP. It also introduces readers to the [OpenPGP RFC](https://datatracker.ietf.org/doc/draft-ietf-openpgp-crypto-refresh/).
## Rendered versions of this text
### Stable
The *main* branch of this repository is continuously built and deployed to:
- html: <https://openpgp.dev/book>
- epub: <https://openpgp.dev/book/OpenPGP_for_application_developers.epub>
Note: This text is still under development. However, these links always present a stable view of our writing process.
### Snapshots of work in progress
The current state of pull requests is rendered to https://openpgp.codeberg.page/pr-preview/123456/ (you'll have to insert an actual pull request ID into the URL)

5
book/.codespellrc Normal file
View File

@ -0,0 +1,5 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
[codespell]
skip = ./build,./input,./assets/*/*,./source/examples/*

70
book/Makefile Normal file
View File

@ -0,0 +1,70 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
#
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
CODESPELL ?= codespell
EBOOK_VIEWER ?= ebook-viewer
EPUBCHECK ?= epubcheck
INKSCAPE ?= inkscape
SPHINXOPTS ?= -W
SPHINXBUILD ?= sphinx-build
LYCHEE ?= lychee
PRINTF ?= printf
RM ?= rm
WATCHEXEC ?= watchexec
ASSETSDIR = assets
SOURCEDIR = source
BUILDDIR = build
# clean build output and also preprocessed/ converted data
clean-all: clean
@$(RM) -rv $(SOURCEDIR)/plain_svg/
# convert all SVG to plain SVGs without metadata and paths instead of text
convert-svg:
for file in $(ASSETSDIR)/inkscape/*.svg $(ASSETSDIR)/drawio/*.svg; do if [[ ! -f $(SOURCEDIR)/plain_svg/$$(basename $$file) ]]; then $(INKSCAPE) --export-text-to-path --export-plain-svg --export-filename=$(SOURCEDIR)/plain_svg/$$(basename $$file) $$file; fi; done
epub: convert-svg
@$(SPHINXBUILD) -M epub "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
epub-check: clean epub
@$(EPUBCHECK) "$(BUILDDIR)/epub/"*.epub
# use watchexec to rebuild the EPUB whenever a markdown file changes
# this target kills *any* open instance of calibre's ebook-viewer, that is currently showing OpenPGPforapplicationdevelopers.epub
epub-watch:
@$(WATCHEXEC) --shell bash -e css,html,j2,md,py,svg 'make clean epub && ev_pid="$$(pgrep -af "^python3.*ebook-viewer.*OpenPGP_for_application_developers" | cut -f1 -d " ")" && if [[ -n "$$ev_pid" ]]; then kill -9 "$$ev_pid"; fi && $(EBOOK_VIEWER) $(BUILDDIR)/epub/OpenPGP_for_application_developers.epub &'
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
html: convert-svg
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
html-linkcheck: clean html
@$(LYCHEE) --exclude "https://openpgp.dev*" --exclude "https://codeberg.org/openpgp/notes" "$(BUILDDIR)/html/"*.html
# use watchexec to rebuild the HTML whenever a markdown file changes
html-watch:
@$(WATCHEXEC) --shell bash -e css,html,j2,md,py,svg 'make clean html'
# spell check all sources
# NOTE: diagrams are not yet spell checked, but we emit the required changes
codespell:
@$(PRINTF) "The following change suggestions are only warnings! (Please don't fix them)\n"
@$(CODESPELL) source/diag || true
@$(CODESPELL) input/ || true
@$(PRINTF) "The following change suggestions are errors!\n"
@$(CODESPELL) .
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

View File

@ -0,0 +1,57 @@
<mxfile host="app.diagrams.net" modified="2023-12-08T15:11:35.977Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="X9rFbrJLqJOCIqTxE24q" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="2261" dy="708" 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;Key-ID: 0xB0B" 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="&lt;div&gt;Cipher Algorithm&lt;/div&gt;&lt;div&gt;+&lt;/div&gt;&lt;div&gt;Session Key&lt;br&gt;&lt;/div&gt;" 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="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;" 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;PKESKv3&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="Key-ID: 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" />
</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="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,70 @@
<mxfile host="app.diagrams.net" modified="2023-11-27T22:14:00.127Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="mr7Q-uG6vTA41LXUmL4d" version="22.1.4" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1434" dy="759" 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="_W93K0Xoa3x0vg-rA2AI-12" value="" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="380" y="60" width="160" height="290" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-2" value="Session Key" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;dashed=1;" vertex="1" parent="1">
<mxGeometry x="220" y="130" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-3" value="&lt;div&gt;PKESK #1&lt;/div&gt;0xBBBB..." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-4" value="&lt;div&gt;PKESK #0&lt;/div&gt;0xAAAA..." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="100" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-5" value="&lt;div&gt;Alice&#39;&lt;/div&gt;&lt;div&gt;Encryption Key&lt;/div&gt;&lt;div&gt;0xAAAA...&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="100" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-6" value="&lt;pre class=&quot;code-block&quot;&gt;&lt;font face=&quot;Helvetica&quot;&gt;Bob&#39;s&lt;br&gt;Encryption Key&lt;br&gt;0xBBBB...&lt;br&gt;&lt;/font&gt;&lt;/pre&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-7" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;startArrow=box;startFill=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-2" target="_W93K0Xoa3x0vg-rA2AI-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="420" as="sourcePoint" />
<mxPoint x="320" y="370" as="targetPoint" />
<Array as="points">
<mxPoint x="190" y="160" />
<mxPoint x="190" y="90" />
<mxPoint x="280" y="90" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-8" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.75;exitDx=0;exitDy=0;startArrow=box;startFill=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-2" target="_W93K0Xoa3x0vg-rA2AI-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="420" as="sourcePoint" />
<mxPoint x="320" y="370" as="targetPoint" />
<Array as="points">
<mxPoint x="190" y="180" />
<mxPoint x="190" y="240" />
<mxPoint x="280" y="250" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-9" value="Plaintext" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;dashed=1;" vertex="1" parent="1">
<mxGeometry x="70" y="260" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-10" value="SEIPDv1" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="270" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-11" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=box;startFill=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-9" target="_W93K0Xoa3x0vg-rA2AI-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="330" as="sourcePoint" />
<mxPoint x="320" y="370" as="targetPoint" />
<Array as="points">
<mxPoint x="240" y="210" />
<mxPoint x="320" y="210" />
<mxPoint x="340" y="300" />
</Array>
</mxGeometry>
</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;" vertex="1" parent="1">
<mxGeometry x="400" y="60" width="120" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,447 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Do not edit this file with editors other than draw.io -->
<svg
style="background-color: rgb(255, 255, 255);"
version="1.1"
width="471px"
height="291px"
viewBox="-0.5 -0.5 471 291"
content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-12-07T23:14:25.771Z&quot; agent=&quot;Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0&quot; etag=&quot;xkhRRwXRJqu8caXvmUf5&quot; version=&quot;22.1.7&quot; type=&quot;device&quot;&gt;&lt;diagram name=&quot;Seite-1&quot; id=&quot;ocT50L08296YUH-PY7lG&quot;&gt;7VlJb6MwFP41UU+NAKdZjtm6KKoUKYfpnEYOuGDVwYxxCMyvHzvYAQzZRk2TSpNL/T4/24/vLTzcFhiv0icGo+CVeoi0HMtLW2DSchy7Azrij0SyHOl1rBzwGfaUUgEs8B+kQK22xh6KK4qcUsJxVAVdGobI5RUMMkY3VbV3SqqnRtBHNWDhQlJHf2CPBznad3oF/oywH+iT7e4gn1lBrayeJA6gRzclCExbYMwo5flolY4RkeRpXvJ1j3tmd4YxFPJTFvz6MQAz641CkFqJf8+GzvDl3nbybRJI1uqJlbU80xRsAszRIoKulDfCzS0wCviKCMkWw7odyrQEMY7SEqTsekJ0hTjLhIqaBX3FkQqSrhI3BeO2xoIS285AgVB52d9tXRAhBoqLM3ip07JAcYxpKMAZymocCedGchigFPpCC4wixLCwBbECnWtIUDE6wuo7TpFOByl7MA6Q93mU78JSUW6DBs6dBs77l6IcNERil3D57DgRQ18O57PpYtaSdgFbT4vTShpWOhK/drtd8xGj69Dbcmgd5/8TKO5YBsX9EynuXorizpkUW/soHorfTVJsXZvih1MoHhLsortmchvUp6HLsoiXqs+JC0uOyueWzNQ299jrUPtLHNq7NX929/ozYkj2HQTG+Znd32v5Kh+5oge6XxLqfhSYyfo7FQyJbiRnstB7RiRBHLuwvnREl3dx3Y/7YqPQKBXEA0GQW1SDtw95o7Fx9XLaO947uWuW7ChCoTeULakQt2GD3SpH1eopiGLZW1n4KYX2gxYnaXlykmkpxfytNM5XOQ9KLFZJQS+KOWRcG7ekqYYesaRkq7LXgzFdMxXHB5spsZ+P+PHXE/IqLXk9HkoOf2jwt8YYIpDjpNrINwWBOmFO8TYrdYdkxFvHMeIof261qtx4GxsBo9UCPWOjnJjaRsIdMCupRVIh3m+wPTASpGsdtMvUHxxWd/qH1MUgt7dIp53H/j3D+t8ow3rfIMPA/wz71Azrn5dhTue8FNNEXzTHBrUcmxMozEIpryXbt/vMNSKs8WbhS79y9b1W+WZh+jKfJHaN7Gt/TO3Iu1qDZds1sm6h/l+0lA9OLOU6kG6llhulC4Abr+W6Fu+i3T5cm027juob+wPrC2q5Xb9EUx+IIugd6xXFsbzvNnNoW+sriRJzRj/QmBIqC3tIQ7Qt1oQYECTYD2W2iTiX74CRLDfi+5UM1cQKe548prF+VdPxAiXs1HJvBusJFUyIxd197r/iPyBg+hc=&lt;/diagram&gt;&lt;/mxfile&gt;"
id="svg16"
sodipodi:docname="SEIPDv1-PKESK.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<sodipodi:namedview
id="namedview16"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="1.6539278"
inkscape:cx="235.19769"
inkscape:cy="145.41142"
inkscape:window-width="2396"
inkscape:window-height="1293"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg16" />
<defs
id="defs1" />
<g
id="g15">
<rect
x="310"
y="0"
width="160"
height="290"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect1" />
<path
d="M 170 70 L 250 70 L 270 110 L 250 150 L 170 150 L 150 110 Z"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
stroke-dasharray="3 3"
pointer-events="all"
id="path1" />
<g
transform="translate(-0.5 -0.5)"
id="g1">
<switch
id="switch1">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 110px; margin-left: 151px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Session Key</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="210"
y="114"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text1">Session Key</text>
</switch>
</g>
<rect
x="330"
y="120"
width="120"
height="60"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect2" />
<g
transform="translate(-0.5 -0.5)"
id="g2">
<switch
id="switch2">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 150px; margin-left: 331px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><xhtml:div>PKESK #1</xhtml:div>
0xBBBB...</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="154"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text2">PKESK #10xBBBB...</text>
</switch>
</g>
<rect
x="330"
y="40"
width="120"
height="60"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect3" />
<g
transform="translate(-0.5 -0.5)"
id="g3">
<switch
id="switch3">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 331px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><xhtml:div>PKESK #0</xhtml:div>
0xAAAA...</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="74"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text3">PKESK #00xAAAA...</text>
</switch>
</g>
<rect
x="0"
y="40"
width="120"
height="60"
rx="9"
ry="9"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect4" />
<g
transform="translate(-0.5 -0.5)"
id="g4">
<switch
id="switch4">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 1px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<xhtml:div>Alice'</xhtml:div>
<xhtml:div>Encryption Key</xhtml:div>
<xhtml:div>0xAAAA...<xhtml:br />
</xhtml:div>
</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="60"
y="74"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text4">Alice'...</text>
</switch>
</g>
<rect
x="0"
y="120"
width="120"
height="60"
rx="9"
ry="9"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect5" />
<g
transform="translate(-0.5 -0.5)"
id="g5">
<switch
id="switch5">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 150px; margin-left: 1px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<xhtml:div>Bob's</xhtml:div>
<xhtml:div>Encryption Key</xhtml:div>
<xhtml:div>0xBBBB...<xhtml:br /></xhtml:div>
</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="60"
y="154"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text5">Bob's...</text>
</switch>
</g>
<path
d="M 150.71 94.31 Q 120 100 120 65 Q 120 30 165 30 Q 210 30 323.96 67.99"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="stroke"
id="path5" />
<path
d="M 159.3 96.79 L 157.84 88.92 L 149.98 90.38 L 151.43 98.25 Z"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path6" />
<path
d="M 328.94 69.65 L 321.19 70.75 L 323.96 67.99 L 323.41 64.11 Z"
fill="rgb(0, 0, 0)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path7" />
<path
d="M 150.71 125.69 Q 120 120 120 150 Q 120 180 165 185 Q 210 190 323.96 152.01"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="stroke"
id="path8" />
<path
d="M 157.84 131.08 L 159.3 123.21 L 151.43 121.75 L 149.98 129.62 Z"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path9" />
<path
d="M 328.94 150.35 L 323.41 155.89 L 323.96 152.01 L 321.19 149.25 Z"
fill="rgb(0, 0, 0)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path10" />
<path
d="M 20 200 L 100 200 L 120 240 L 100 280 L 20 280 L 0 240 Z"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
stroke-dasharray="3 3"
pointer-events="all"
id="path11" />
<g
transform="translate(-0.5 -0.5)"
id="g11">
<switch
id="switch11">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 240px; margin-left: 1px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Plaintext</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="60"
y="244"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text11">Plaintext</text>
</switch>
</g>
<rect
x="330"
y="210"
width="120"
height="60"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect11" />
<g
transform="translate(-0.5 -0.5)"
id="g12">
<switch
id="switch12">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 240px; margin-left: 331px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SEIPDv1</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="244"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text12">SEIPDv1</text>
</switch>
</g>
<path
d="M 108.77 200.1 Q 170 150 210 150 Q 250 150 260 195 Q 270 240 323.63 240"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="stroke"
id="path12" />
<path
d="M 100.05 202.07 L 105.11 208.26 L 111.31 203.19 L 106.24 197 Z"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path13" />
<path
d="M 328.88 240 L 321.88 243.5 L 323.63 240 L 321.88 236.5 Z"
fill="rgb(0, 0, 0)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path14" />
<rect
x="330"
y="0"
width="120"
height="30"
fill="none"
stroke="none"
pointer-events="all"
id="rect14" />
<g
transform="translate(-0.5 -0.5)"
id="g14">
<switch
id="switch14">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 15px; margin-left: 331px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Encrypted Message</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="19"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text14">Encrypted Message</text>
</switch>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,71 @@
<mxfile host="app.diagrams.net" modified="2023-12-08T15:15:45.885Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="0rh3WBSMKd5gkOI3wmWW" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1434" dy="708" 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;" parent="1" source="DWDa1s29pt83LbMmWAcP-2" target="DWDa1s29pt83LbMmWAcP-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-14" value="key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="DWDa1s29pt83LbMmWAcP-9" vertex="1" connectable="0">
<mxGeometry x="-0.1333" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-2" value="&lt;div&gt;Message-Key&lt;/div&gt;(Session-Key)" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="370" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-7" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="420" y="410" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-4" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="DWDa1s29pt83LbMmWAcP-7" vertex="1">
<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;" parent="DWDa1s29pt83LbMmWAcP-7" vertex="1">
<mxGeometry x="30" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-6" value="Encrypted Data" style="rounded=0;whiteSpace=wrap;html=1;" parent="DWDa1s29pt83LbMmWAcP-7" vertex="1">
<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;" parent="1" source="DWDa1s29pt83LbMmWAcP-8" target="DWDa1s29pt83LbMmWAcP-17" edge="1">
<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;" parent="1" vertex="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;" parent="1" source="rx1i_YoEqIPPZ5oNqYbX-1" target="DWDa1s29pt83LbMmWAcP-8" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="155" y="440" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-13" value="algorithm" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="DWDa1s29pt83LbMmWAcP-12" vertex="1" connectable="0">
<mxGeometry x="0.3125" y="-2" relative="1" as="geometry">
<mxPoint x="13" y="-2" as="offset" />
</mxGeometry>
</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;" parent="1" source="DWDa1s29pt83LbMmWAcP-6" target="DWDa1s29pt83LbMmWAcP-8" edge="1">
<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=[];" parent="DWDa1s29pt83LbMmWAcP-15" vertex="1" connectable="0">
<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;" parent="1" vertex="1">
<mxGeometry x="250" y="585" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="rx1i_YoEqIPPZ5oNqYbX-1" value="Cipher Algorithm" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="110" y="370" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="q7OdNL4TeS-iSA0O0gJl-1" value="(obtained from PKESK / SKESK)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="140" y="340" width="200" 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,94 @@
<mxfile host="app.diagrams.net" modified="2023-11-27T22:36:40.933Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="u7uYV3Ns2F_J7Aq0dIny" version="22.1.4" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1434" dy="759" 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="_W93K0Xoa3x0vg-rA2AI-12" value="" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="380" y="60" width="160" height="400" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-2" value="Session Key" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;dashed=1;" vertex="1" parent="1">
<mxGeometry x="220" y="130" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-3" value="&lt;div&gt;PKESK #1&lt;/div&gt;0xBBBB..." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-4" value="&lt;div&gt;PKESK #0&lt;/div&gt;0xAAAA..." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="100" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-5" value="&lt;div&gt;Alice&#39;&lt;/div&gt;&lt;div&gt;Encryption Key&lt;/div&gt;&lt;div&gt;0xAAAA...&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="100" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-6" value="&lt;pre class=&quot;code-block&quot;&gt;&lt;font face=&quot;Helvetica&quot;&gt;Bob&#39;s&lt;br&gt;Encryption Key&lt;br&gt;0xBBBB...&lt;br&gt;&lt;/font&gt;&lt;/pre&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-7" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;startArrow=box;startFill=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-2" target="_W93K0Xoa3x0vg-rA2AI-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="420" as="sourcePoint" />
<mxPoint x="320" y="370" as="targetPoint" />
<Array as="points">
<mxPoint x="190" y="160" />
<mxPoint x="190" y="90" />
<mxPoint x="280" y="90" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-8" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.75;exitDx=0;exitDy=0;startArrow=box;startFill=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-2" target="_W93K0Xoa3x0vg-rA2AI-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="420" as="sourcePoint" />
<mxPoint x="320" y="370" as="targetPoint" />
<Array as="points">
<mxPoint x="190" y="180" />
<mxPoint x="190" y="240" />
<mxPoint x="280" y="250" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-9" value="Plaintext" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;dashed=1;" vertex="1" parent="1">
<mxGeometry x="70" y="260" width="120" height="80" 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;" vertex="1" parent="1">
<mxGeometry x="400" y="60" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-14" value="Message Key" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;dashed=1;" vertex="1" parent="1">
<mxGeometry x="220" y="270" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-17" value="" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="270" width="120" height="150" 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;" vertex="1" parent="1">
<mxGeometry x="430" y="270" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-19" value="Salt: 49f8edc3" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="410" y="300" width="100" height="25" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-19" target="_W93K0Xoa3x0vg-rA2AI-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="300" as="sourcePoint" />
<mxPoint x="320" y="370" as="targetPoint" />
<Array as="points">
<mxPoint x="320" y="210" />
<mxPoint x="240" y="210" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-20" value="Ciphertext" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="410" y="340" width="100" height="70" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-15" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-9" target="_W93K0Xoa3x0vg-rA2AI-20">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="420" as="sourcePoint" />
<mxPoint x="400" y="315" as="targetPoint" />
<Array as="points">
<mxPoint x="180" y="370" />
<mxPoint x="240" y="370" />
<mxPoint x="270" y="350" />
<mxPoint x="310" y="350" />
<mxPoint x="340" y="370" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,583 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Do not edit this file with editors other than draw.io -->
<svg
style="background-color: rgb(255, 255, 255);"
version="1.1"
width="471px"
height="401px"
viewBox="-0.5 -0.5 471 401"
content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-12-07T23:15:05.522Z&quot; agent=&quot;Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0&quot; etag=&quot;73-IXclfvoU1sW4mmZ2m&quot; version=&quot;22.1.7&quot; type=&quot;device&quot;&gt;&lt;diagram name=&quot;Seite-1&quot; id=&quot;ocT50L08296YUH-PY7lG&quot;&gt;7VpLk+IqFP411qy6KwnxtVTbeVTXVFnlYvqubtEJbajBkEtQ4/z6AQMmgSTGKW3tqetGOBzg5DuPfKA9MFtnXxhMou80RKTnOWHWA089z3N94IsvKdnnkqHv5IIVw6FSKgRL/AspoVbb4BClFUVOKeE4qQoDGsco4BUZZIzuqmpvlFR3TeAKWYJlAIkt/YFDHuXSkTcs5F8RXkV6Z3cwzkfWUCurJ0kjGNJdSQTmPTBjlPK8tc5miEjwNC75vM8No0fDGIp5lwn//hiDZ+eFQpA529UDm3iTbw+uly+zhWSjnlhZy/cagl2EOVomMJD9nXBzD0wjviai54qmbYcybYsYR1lJpOz6gugacbYXKmoUjBRGKkgGqrsrEHe1LCqh7TtKCJWXV8elCyBEQ2FxBi42LEuUppjGQviM9hZGwrmJbEYogyuhBaYJYljYglghXWiRgGJ6AtU3nCGdDrIfwjRC4eUgP4algtwFNZh7NZiPrgU5qInEAeHy2fFWNFeyuXieL5970i7g6mGxW0nDyabi8/j4aPmI0U0cHjB0TuN/AYiP0akhHnWEeHAtiP0zIXaaIJ6Iz11C7Nwa4n4XiCcEB+hTPbg16vM4YPuEl6pPx4klR+Vjr8zUNtdodKj7Lg4d3ps/B43+TBiSvIPANN9z8N9GvsqngeBAD6+EBj8LmYn6GxUICTaSI1nofUVkizgOoD11Sl8/pbYfm2Kj0CgVxJYgyC2yxIeHvNPYuHk5HZ7mTsGGbY8QoTicSEoquoewwUEVo2r1FECx/Uu584/sPPZ19ykrDz7tdS/D/KXUzmd5fdUtZsmOnpRyyLg27pVmWvQZS0gOKo0eTOmGqThuJVNivRXip19PKKxQcjseSg7v1/hbyxgikONtlcjXBYHaYUHxISs1QzLizfeMOMqfW80qE29jIWBQLTA0FsqBsRYS7oD7kloiFdJmg92xkSADp9UuU3/cru6N2tRFI7e3SKejx/48w0YfKMOGHyDDwP8ZdtEMG52XYZ5/XoppoK+aY2MrxxYECrNQxq1k+3DHXCPCam8W3vWU69rHXEXhxGN7zneUpvJGygT+4I0Kciln9CeaUUIl9DGN0QFOQgwRJHgVy3ooQJRemkrwBMMkEzWwxmEot6l1VbVgXsAh5omtq0PA1RxiH4qPTvg7r3qOSXG7JOjAnN//8qAzLm7/asDYhGc5/7Z42tr4/D0VAZx2Q93l7/Uqgv1GXEJ5IJ4IoT9+G6EwAJY/3v3qyzU4T91ViVODm9e/Fm51dyUXZOu1rLuddDfifJJR6yA4Sand+zq1mkUNmD+R3BunNvfRv/w1cmS/Vf86HFnbWArtGU6iQ7LaLPnmpcDvWApMl16uFNRdg9/+4P7n5aBrNdCBcifV4GInbKusuMZb5FIn7FF91elaDU7qG4CAfrs+MFPrlH67PedWJ9Et/iCQqxd/swDz3w==&lt;/diagram&gt;&lt;/mxfile&gt;"
id="svg19"
sodipodi:docname="SEIPDv2-PKESK.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<sodipodi:namedview
id="namedview19"
pagecolor="#505050"
bordercolor="#ffffff"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="1.6539278"
inkscape:cx="235.19769"
inkscape:cy="200.43196"
inkscape:window-width="2396"
inkscape:window-height="1293"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg19" />
<defs
id="defs1" />
<g
id="g18">
<rect
x="310"
y="0"
width="160"
height="400"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect1" />
<path
d="M 170 70 L 250 70 L 270 110 L 250 150 L 170 150 L 150 110 Z"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
stroke-dasharray="3 3"
pointer-events="all"
id="path1" />
<g
transform="translate(-0.5 -0.5)"
id="g1">
<switch
id="switch1">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 110px; margin-left: 151px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Session Key</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="210"
y="114"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text1">Session Key</text>
</switch>
</g>
<rect
x="330"
y="120"
width="120"
height="60"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect2" />
<g
transform="translate(-0.5 -0.5)"
id="g2">
<switch
id="switch2">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 150px; margin-left: 331px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><xhtml:div>PKESK #1</xhtml:div>
0xBBBB...</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="154"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text2">PKESK #10xBBBB...</text>
</switch>
</g>
<rect
x="330"
y="40"
width="120"
height="60"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect3" />
<g
transform="translate(-0.5 -0.5)"
id="g3">
<switch
id="switch3">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 331px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><xhtml:div>PKESK #0</xhtml:div>
0xAAAA...</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="74"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text3">PKESK #00xAAAA...</text>
</switch>
</g>
<rect
x="0"
y="40"
width="120"
height="60"
rx="9"
ry="9"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect4" />
<g
transform="translate(-0.5 -0.5)"
id="g4">
<switch
id="switch4">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 70px; margin-left: 1px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<xhtml:div>Alice'</xhtml:div>
<xhtml:div>Encryption Key</xhtml:div>
<xhtml:div>0xAAAA...<xhtml:br />
</xhtml:div>
</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="60"
y="74"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text4">Alice'...</text>
</switch>
</g>
<rect
x="0"
y="120"
width="120"
height="60"
rx="9"
ry="9"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect5" />
<g
transform="translate(-0.5 -0.5)"
id="g5">
<switch
id="switch5">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 150px; margin-left: 1px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<xhtml:div>Bob's</xhtml:div>
<xhtml:div>Encryption Key</xhtml:div>
<xhtml:div>0xBBBB...<xhtml:br />
</xhtml:div>
</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="60"
y="154"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text5">Bob's...</text>
</switch>
</g>
<path
d="M 150.71 94.31 Q 120 100 120 65 Q 120 30 165 30 Q 210 30 323.96 67.99"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="stroke"
id="path5" />
<path
d="M 159.3 96.79 L 157.84 88.92 L 149.98 90.38 L 151.43 98.25 Z"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path6" />
<path
d="M 328.94 69.65 L 321.19 70.75 L 323.96 67.99 L 323.41 64.11 Z"
fill="rgb(0, 0, 0)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path7" />
<path
d="M 150.71 125.69 Q 120 120 120 150 Q 120 180 165 185 Q 210 190 323.96 152.01"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="stroke"
id="path8" />
<path
d="M 157.84 131.08 L 159.3 123.21 L 151.43 121.75 L 149.98 129.62 Z"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path9" />
<path
d="M 328.94 150.35 L 323.41 155.89 L 323.96 152.01 L 321.19 149.25 Z"
fill="rgb(0, 0, 0)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path10" />
<path
d="M 20 200 L 100 200 L 120 240 L 100 280 L 20 280 L 0 240 Z"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
stroke-dasharray="3 3"
pointer-events="all"
id="path11" />
<g
transform="translate(-0.5 -0.5)"
id="g11">
<switch
id="switch11">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 240px; margin-left: 1px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Plaintext</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="60"
y="244"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text11">Plaintext</text>
</switch>
</g>
<rect
x="330"
y="0"
width="120"
height="30"
fill="none"
stroke="none"
pointer-events="all"
id="rect11" />
<g
transform="translate(-0.5 -0.5)"
id="g12">
<switch
id="switch12">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 15px; margin-left: 331px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Encrypted Message</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="19"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text12">Encrypted Message</text>
</switch>
</g>
<path
d="M 170 210 L 250 210 L 270 250 L 250 290 L 170 290 L 150 250 Z"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
stroke-dasharray="3 3"
pointer-events="all"
id="path12" />
<g
transform="translate(-0.5 -0.5)"
id="g13">
<switch
id="switch13">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 250px; margin-left: 151px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Message Key</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="210"
y="254"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text13">Message Key</text>
</switch>
</g>
<rect
x="330"
y="210"
width="120"
height="150"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect13" />
<rect
x="360"
y="210"
width="60"
height="30"
fill="none"
stroke="none"
pointer-events="all"
id="rect14" />
<g
transform="translate(-0.5 -0.5)"
id="g14">
<switch
id="switch14">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 225px; margin-left: 361px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SEIPDv2</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="229"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text14">SEIPDv2</text>
</switch>
</g>
<rect
x="340"
y="240"
width="100"
height="25"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect15" />
<g
transform="translate(-0.5 -0.5)"
id="g15">
<switch
id="switch15">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 253px; margin-left: 341px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Salt: 49f8edc3</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="256"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text15">Salt: 49f8edc3</text>
</switch>
</g>
<path
d="M 340 252.5 Q 250 150 210 150 Q 170 150 191.63 204.09"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="stroke"
id="path15" />
<path
d="M 193.58 208.96 L 187.74 203.76 L 191.63 204.09 L 194.23 201.16 Z"
fill="rgb(0, 0, 0)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path16" />
<rect
x="340"
y="280"
width="100"
height="70"
fill="rgb(255, 255, 255)"
stroke="rgb(0, 0, 0)"
pointer-events="all"
id="rect16" />
<g
transform="translate(-0.5 -0.5)"
id="g16">
<switch
id="switch16">
<foreignObject
style="overflow: visible; text-align: left;"
pointer-events="none"
width="100%"
height="100%"
requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<xhtml:div
style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 315px; margin-left: 341px;">
<xhtml:div
style="box-sizing: border-box; font-size: 0px; text-align: center;"
data-drawio-colors="color: rgb(0, 0, 0); ">
<xhtml:div
style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Ciphertext</xhtml:div>
</xhtml:div>
</xhtml:div>
</foreignObject>
<text
x="390"
y="319"
fill="rgb(0, 0, 0)"
font-family="Helvetica"
font-size="12px"
text-anchor="middle"
id="text16">Ciphertext</text>
</switch>
</g>
<path
d="M 88.57 280 Q 110 310 140 310 Q 170 310 185 300 Q 200 290 220 290 Q 240 290 255 300 Q 270 310 333.65 314.55"
fill="none"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="stroke"
id="path17" />
<path
d="M 338.88 314.92 L 331.65 317.91 L 333.65 314.55 L 332.15 310.93 Z"
fill="rgb(0, 0, 0)"
stroke="rgb(0, 0, 0)"
stroke-miterlimit="10"
pointer-events="all"
id="path18" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 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,122 @@
<mxfile host="app.diagrams.net" modified="2023-12-08T15:18:36.887Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="cC9xxnCaW8J_tLZsEINO" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1434" dy="708" 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;" parent="1" vertex="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;" parent="1" source="DWDa1s29pt83LbMmWAcP-19" target="DWDa1s29pt83LbMmWAcP-37" edge="1">
<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;" parent="1" vertex="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;" parent="1" vertex="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;" parent="1" source="DWDa1s29pt83LbMmWAcP-21" target="DWDa1s29pt83LbMmWAcP-37" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-21" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="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;" parent="1" source="DWDa1s29pt83LbMmWAcP-22" target="DWDa1s29pt83LbMmWAcP-37" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-22" value="AEAD Algo." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="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;" parent="1" source="DWDa1s29pt83LbMmWAcP-23" target="DWDa1s29pt83LbMmWAcP-37" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-23" value="Chunk Size" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="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;" parent="1" source="DWDa1s29pt83LbMmWAcP-24" target="DWDa1s29pt83LbMmWAcP-30" edge="1">
<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=[];" parent="DWDa1s29pt83LbMmWAcP-33" vertex="1" connectable="0">
<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;" parent="1" vertex="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;" parent="1" vertex="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;" parent="1" vertex="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;" parent="1" source="DWDa1s29pt83LbMmWAcP-27" target="DWDa1s29pt83LbMmWAcP-30" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-32" value="IKM" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="DWDa1s29pt83LbMmWAcP-31" vertex="1" connectable="0">
<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;" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="140" y="320" 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;" parent="1" source="DWDa1s29pt83LbMmWAcP-30" target="DWDa1s29pt83LbMmWAcP-36" edge="1">
<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;" parent="1" source="DWDa1s29pt83LbMmWAcP-30" target="DWDa1s29pt83LbMmWAcP-2" edge="1">
<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;" parent="1" vertex="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;" parent="1" vertex="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;" parent="1" source="DWDa1s29pt83LbMmWAcP-37" target="DWDa1s29pt83LbMmWAcP-30" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-44" value="info" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="DWDa1s29pt83LbMmWAcP-43" vertex="1" connectable="0">
<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;" parent="1" vertex="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;" parent="1" vertex="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;" parent="1" vertex="1">
<mxGeometry x="170" y="595" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="znGgIsfPMNBijG7bkKdR-1" value="(obtained from PKESK/SKESK)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="100" y="290" width="200" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,117 @@
<mxfile host="app.diagrams.net" modified="2023-12-08T15:08:55.023Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="8h5yljI5Bz3sTjKopsZ3" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="2261" dy="759" 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="Passphrase" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="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;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-14" target="h-jzOOFD72CvbkbpJgZJ-64" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-14" value="S2K Function" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="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;" parent="1" vertex="1">
<mxGeometry x="20" 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;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-64" target="h-jzOOFD72CvbkbpJgZJ-69" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-64" value="Symmetric Key" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="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;" parent="1" vertex="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;" 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" />
<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;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-5" target="h-jzOOFD72CvbkbpJgZJ-71" edge="1">
<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;" parent="1" vertex="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;" parent="1" vertex="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;" parent="1" vertex="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;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-9" target="h-jzOOFD72CvbkbpJgZJ-71" edge="1">
<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=[];" parent="h-jzOOFD72CvbkbpJgZJ-86" vertex="1" connectable="0">
<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;" parent="1" vertex="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;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-69" target="h-jzOOFD72CvbkbpJgZJ-71" edge="1">
<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=[];" parent="h-jzOOFD72CvbkbpJgZJ-72" vertex="1" connectable="0">
<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=[];" parent="h-jzOOFD72CvbkbpJgZJ-72" vertex="1" connectable="0">
<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;" parent="1" source="h-jzOOFD72CvbkbpJgZJ-69" target="h-jzOOFD72CvbkbpJgZJ-62" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="70" y="500" />
<mxPoint x="70" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-81" value="no" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="h-jzOOFD72CvbkbpJgZJ-74" vertex="1" connectable="0">
<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;" parent="1" vertex="1">
<mxGeometry x="30" y="390" width="140" height="70" as="geometry" />
</mxCell>
<mxCell id="qY92HcKmYEGILXAoNR_9-2" 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-71" target="qY92HcKmYEGILXAoNR_9-1">
<mxGeometry relative="1" as="geometry" />
</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;" parent="1" vertex="1">
<mxGeometry x="150" y="470" width="100" height="80" as="geometry" />
</mxCell>
<mxCell id="qY92HcKmYEGILXAoNR_9-1" value="&lt;div&gt;Cipher Algorithm&lt;/div&gt;&lt;div&gt;+&lt;/div&gt;&lt;div&gt;Session Key&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="140" 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: 20 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 Version" 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 Version" 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

View File

@ -0,0 +1,88 @@
<mxfile host="app.diagrams.net" modified="2023-11-10T12:55:04.959Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="68y6dkoQViWCf_BExrhc" version="22.1.0" type="device">
<diagram name="Page-1" id="2YBvvXClWsGukQMizWep">
<mxGraphModel dx="819" dy="434" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="240" y="70" width="340" height="380" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-3" value="&lt;div&gt;Primary Key&lt;/div&gt;&lt;div&gt;(0xAA)&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="260" y="120" width="140" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-4" value="&lt;div&gt;Signing Subkey #0&lt;br&gt;&lt;/div&gt;&lt;div&gt;(0xAB)&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="260" y="230" width="140" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-8" value="&lt;div&gt;Subkey Binding-Signature&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="270" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-5" value="&lt;div&gt;Direct-Key Signature&lt;br&gt;&lt;/div&gt;&lt;div&gt;Preferred Hash Algorithms: [SHA-512,SHA256]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="160" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-7" value="&lt;div&gt;Signing Subkey #1&lt;br&gt;&lt;/div&gt;&lt;div&gt;(0xAC)&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="260" y="340" width="140" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-6" value="&lt;div&gt;Subkey Binding-Signature&lt;br&gt;&lt;/div&gt;&lt;div&gt;Preferred Hash Algorithms: [SHA-384]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="380" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-11" value="" style="endArrow=block;dashed=1;html=1;rounded=0;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="290" as="sourcePoint" />
<mxPoint x="500" y="200" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-12" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.625;exitY=0.833;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-21" target="u9JMdRfH3SxJ6CQ8vYaj-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="364.71" as="sourcePoint" />
<mxPoint x="560" y="364.71" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-14" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.476;exitY=0.833;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-19" target="u9JMdRfH3SxJ6CQ8vYaj-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="255" as="sourcePoint" />
<mxPoint x="560" y="254.71" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-15" value="?" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="470" y="280" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-16" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=none;dashed=1;" vertex="1" parent="1">
<mxGeometry x="340" y="300" width="190" height="10" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-18" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="560" y="190" as="sourcePoint" />
<mxPoint x="730" y="230" as="targetPoint" />
<Array as="points">
<mxPoint x="730" y="190" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-19" value="Signing w/ 0xAB: SHA512/SHA256" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="580" y="230" width="210" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-20" value="&lt;div style=&quot;font-size: 7px;&quot;&gt;DK Signature&lt;/div&gt;&lt;div style=&quot;font-size: 7px;&quot;&gt;applies to whole certificate&lt;br style=&quot;font-size: 7px;&quot;&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=7;" vertex="1" parent="1">
<mxGeometry x="500" y="210" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-21" value="Signing w/ 0xAC: SHA384" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="580" y="340" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-22" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.817;entryY=1.019;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.889;exitY=0.6;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-6" target="u9JMdRfH3SxJ6CQ8vYaj-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="600" y="410" as="sourcePoint" />
<mxPoint x="740" y="400" as="targetPoint" />
<Array as="points">
<mxPoint x="710" y="410" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-23" value="SK Binding shadows DK Signature" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=7;" vertex="1" parent="1">
<mxGeometry x="590" y="400" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-24" value="Certificate 0xAA" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="370" y="80" width="110" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2023-11-09T18:37:31.908Z" agent="5.0 (X11)" etag="CHE7VbVeDg4v-laCrwRr" version="21.0.1" type="device"><diagram name="Page-1" id="2YBvvXClWsGukQMizWep">7ZtRc6I6FMc/jTO9D3YICSCPq213Z7x37p1x5u7uI4WoTCNxQ9za++lvIkGBREu3gKy2DxZP0JDf/yScc4gDOFltP7NgvfyLRpgMbCvaDuDdwLZHyBGv0vCSGRBEmWHB4igzgYNhFv+HldFS1k0c4bR0IqeU8HhdNoY0SXDIS7aAMfpcPm1OSbnXdbDAmmEWBkS3fo0jvlTDcqyD/QuOF8u8Z2CpllWQn6wM6TKI6HPBBO8HcMIo5dnRajvBRLLLuWSfezjSur8whhNe5wPf+Wj699SyLIfNsP/5+/Trty/DfBw/A7JRI1ZXy19yBIxukgjLb7EGcPy8jDmerYNQtj4LzYVtyVdEvAPiUH0dZhxvj14o2A9fuA2mK8zZizhFfQCpa1Ie46q3zwf83kjZlgX0KCcfKMkX+28+UBEHCsxbIL3OiMSJOBqnnNGnvaOIMY6jmAm3jGki3qd0I+0N4xqVcQFb5wUMuPaYG8fl9hqXbfWNl9drXtDuG69Rr3kh1Ddefq95OW7feIEa98QzAnN7t+ADoAHjloZMjJiXYWT0JpRQJiwJ3SGdx4RUTAGJF5JnKAhhYR9LfrGI0T6phlUcRbIbY3BSDl+a8FinzN/S+bsG/rA1/PY7/LVh36y4JtTReLaBDWiNDdRdE1yuawKvb76JdP66d14Mf9vvG389GOfwcvkj0Df+enDP0eXyd2Df+OvJAncul7/bt9jErRGbHCiA1+tLRQ0GNpyPQhyGmmCixdr9NYPVr4Q1yEDVN2B1W3NrU07nEr5LQH6W8Lo/NrLCOJ7ThA/TXX31kzgBWOvtDk7eLo4W8v/dVLTOMJkPZ8KDA75heCBDNukiWQ+P7F0d5F8jBr671rL1vZc/YTjI0i95Grfa7e1+u45Zob9hu91NsXTKaqcyoDX32uBE8/2HB9/XJlqE58GG5GNQ5Xsgp10UpMt9X93MQWBKe1ubg64e2raztC1YEMWC0l2htICDlJ9c9U7KQcU1xFySdBpaISEsy7PP6AryIKdLeWy9KNH6Egl+xyXS7naJlOlH92vksGVl2lhp83lfCTlrLwfH1+aOJny36zGs8VwgXQZreRhuGHkZsyB8wvx1gcpqkuARk39oGiv2BM95IfD/s9K8TwDyVIFlLI5nCoxy5bl3Q78puSqFIWhbtxBoihlrc60V52CNJxNXqxjye6gY0tO5fwWlSJPtYjJqUKkoQf/MGTXSw84LlwA6fZNA3xAyEQPMww58wVqg6n3k3Fp4pjD/4x6ilPCcW2iX4zTDdirTPUQoduvClkRzTVteWs7N7N8xN0NXUL76SM0aTs0cr5KajQxTvtPUDNUI9BdCmPXR0avtvcFjfrr1VioeArf2Lz4dcVoDU2Pv35u23xrDiqq3Ck9+UH+nnbbi/tlH6j9UOeELR2UaGnYzmeqGLWpSo47QvCavryBFMQ7rR2tCGLbuwE51yGfi9SQ6rqOFa2ePr92PqtqJ4gDsYY3G/aiqndigVa0l9EExT1/prqWeYFdn0LnXO0+vcN5U85Y/eqpHIZcYtSMPMjzl6VYefT/vTfbgVf2+LhVHTzu98CHPtC06z6oA1vVoVy2bIkNk3a12etk01w7n65yVUvGSyBdCkwVmJWGvS8BqrfX8AuqbiW+yytqJyXc9elU3X7aol3h7+OHwrq3w62t4/z8=</diagram></mxfile>

View File

@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2023-11-09T17:52:39.946Z" agent="5.0 (X11)" etag="sYTyf2mXicL_ydLRoJxl" version="21.0.1" type="device"><diagram name="Page-1" id="2YBvvXClWsGukQMizWep">5Vpdc6IwFP01PtohCR/yWLUfM92d3akzu9vHVKJmGo0TY9X99RskKBCs1IU2Q31wwoVAcs4Bzr2kgwbz7Z3Ay9l3HhHWgU607aBhB8IeCNV/HNglARe5SWAqaJSEwDEwon+JDjo6uqYRWeUOlJwzSZf54JgvFmQsczEsBN/kD5twlr/qEk+JERiNMTOjv2kkZ3pannOM3xM6naVXBo7eM8fpwTqwmuGIbzIhdNNBA8G5TFrz7YCwGLsUl6Tf7Ym9h4EJspBVOjzJ3sOPB8dxPDEi4d3Tw+8/9910Hq+YrfWM9WjlLoVA8PUiIvFZnA7qb2ZUktESj+O9G8W5is3knKktoJr6dERIsj05UHCYvpIN4XMixU4doju4ekxaMb7e3BzhD3o6NstADwMdxJry6eHMR1RUQwPzHpDOY8ToQrX6Kyn4y0Eoao79iAolS8oXanvF13G8Zrh6ebgANPECJXABvym4fKvhgo5teAVW44WgbXj1rMbLdW3DK7QaL8+3DS9Q4Z34iYD51j3wATAAk44BmZqxzIORoDfgjAsVWfA9pBPKWCGEGZ3GeI4VQkTF+zF+VHm0a71jTqMovkypOcnblzoU6+Xxd0z8/RL8UWPww//Qa83aLEgTmdAEsEybjWGDTGmC9koTBLZp0zXxN9XZGvxhaBv+phmXqL34u8A2/E1zL9324u8h2/A3kwXptRd/3zpvUpZ8+EzunfKrak7j5nBvmrsPJJ7KiLBJd6TQw3ItSCe2C/Hwkk7PIu2TRtSwMmcqOflAEJwY8mt1MulU7nizXVKR7Yqqj6IgsCPR4HwJLSszNfcwvL0NQ0OTEZngNZP16CYs+DbXlA3ySnTTWEqRmsS3dZMI5pG88nHCU91iAZeLBX6KWGKpNC2Wg1vfFbazCWhZBtqcWswE9JKnDKhPOO7Fwul+7kNmKnBElRAK77k0PMyUNwheyWaV5gXnn0uHd9eHKA2Z+YzBw2qGl3FzvBZs1xd4/ELkeULy7DH8TNhPvqIaa0YmMuMuvhV2H1xG6kdEgsVpOyK41KIbdsO6ss+C+4Ppdpausuy/sfQfVfgW8WXpKhayLKCrQmn/y9KFAuvoqvBl4cvS5Ya20eWWeepW0HXCtDToTPzAvUJB3pwE3pWPKnEMYe8qvZvrpxkaNP9S0EYG162peoBC1Q99dtXDNb86xEnqC2kxCRDZRoJp1Vt+HyDPNgrMlVP7dLfN94Eb2EaCmQM9ku7+VsCyzUz4yL+C58kAjveRbFTwzFMFxfIkAHqlK35OD3feC0zgFcoqFSV6uFT9qFRYA/euZailki3axH29NPm9XeIyiqzxz6ks0zeEcJKjbsmqnrIKfIOcVEjG6+fkfL0xS8Y7Pf0lRJQsYSmrOF7Cg9o8Lv/e78usoUc3/wA=</diagram></mxfile>

View File

@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2023-11-09T18:03:34.394Z" agent="5.0 (X11)" etag="TfwtBB18-_Ys4L9oGnGs" version="21.0.1" type="device"><diagram name="Page-1" id="2YBvvXClWsGukQMizWep">7Vtbj+I2GP01SN0HVnGcEPI4MDO70rTqqkjd7qMhBqwxGBkzMP31dRIHkthAoAnjDcsDcr5csM85sb+L6cDhYveFo9X8DxZh2nGdaNeBjx3X7YNQfseG99TgQS81zDiJUhM4GEbkX6yMjrJuSITXhQsFY1SQVdE4YcslnoiCDXHOtsXLpowWf3WFZlgzjCaI6tbvJBJzNSzfOdi/YjKbZ78MHHVmgbKLlWE9RxHb5kzwqQOHnDGRtha7IaYxdhku6X3PR87uO8bxUlS54Yfov/z54jiOz0c4/PLj5fs/X7vZON4Q3agRq96K9wwCzjbLCMdPcTpwsJ0TgUcrNInPbiXn0jYXCyqPgGyqx2Eu8O5oR8F++FI2mC2w4O/yEiWRnurTNod3BuI8h7UHlREpjmf7Rx1gkA2FxCWonAeFkqVsDdaCs9e9MuSgBhHhUoeELeXxmm1ie134ZO+UGraCC7g6XsAAFwRNwdWzGi7XsQ2vwGq8oGsbXn2r8fI82/AKrcbL79mGF6iwCH4gYD3rJnwANMCEo0EmRyyKYKToDRllXFqWLIF0SigtmRAlsxjPiUQIS/sgxo9Ip+xBnViQKIp/xuiNFP2VOhTrF/F3dPx7Jvwbg9/9H3qtWZslaUIdmsDkuzUnTahLE7RXmiCwTZuejr+uztbg74a24a874wK2F38P2Ia/7twLr734+9A2/PVgQfjtxb9nnW9iCj56VCSe8ptszuLmY+I0d19wPJQRptPuSKKHxIbjTuwuxN1Lbxrz7J7MIruVe5Lh4UOOUeqQP8iHCafyjU+7FeH5W2H1XpQEdiAanM+Z5WUmxx6Gz89hqGkywlO0oaIe3YQlv83TZQN9g256TekmcxJP6yYVzF/4jU1SnuoWC7heLO6HiCWWStNi2Xvr76XjfABqikCbU4segF4zy4D6hONdLxz/lnPKjKOISN5Ly1pmfsxlMzBai2aF5Qfnp6HbCgvq4YvGw3qOVnFzsuH0fcDR5BWL84QU2aNojOk3tiYKa4qnIudM/F46vXcqMveDp1gc9z44E0pjj92wrmCz5OzBfvgZBhpjxni/sYAfVqg+3C1j5dSVHYxVyOffLWMwsJGxChWFu2XMCy1kzHM1xv6WKEUaba2JhEEpE+T5nomGmwbDnp6MHsoxqhDmFbeYDhdaSIfu3I0249ckPEi88jYTAn0LCdE32qj3o/V0eIF9dPgVgp+PqSu6gR4YBtC0ojaGjT6Vp3NHd0CWEVnOLsgtHM8iwJ8ki9BgTsDzS9T3deqhifrGcgL+L+/3OF2BjTkBrwJjMwn+6igAajsxGmeXOxcD44HP7pXFGb8xYCpsPbxou69x9S3nGJM0dfo5nWrUctvxx6ms1BNaOEpT17CZylT4aJCTCumQ+jk5n/fNk3HhDH8NEYadQ6ZZvjkefD1kPr3Cnyg7NVKNdO+lGmla8o1iaG7JN/0DQGPoGycLlIwjKTFV5PU3Z/fw8OlqLu2IgJpJVhdXy1BXQd80IzQmAlNlQaMznhTk5CCvy3IJJhpj0gef7onM4isNDctseFMydc8nP52P467HHFlKUQ2MlIr4+zjrw7INv8pAJ/IfwMKwKpOHKZ3dTcoLSLQ5Z+eH9uXsepV2wpSzqj+171EDk8FNi0Xy8PA33+Rc7r/S8Ok/</diagram></mxfile>

View File

@ -0,0 +1,87 @@
<mxfile host="app.diagrams.net" modified="2023-11-10T14:01:23.025Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="HG5qMndMbQspdgsOQZGk" version="22.1.0" type="device">
<diagram name="Page-1" id="2YBvvXClWsGukQMizWep">
<mxGraphModel dx="478" dy="253" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="240" y="30" width="350" height="440" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-3" value="&lt;div&gt;Primary Key&lt;/div&gt;&lt;div&gt;(0xAA)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="260" y="70" width="150" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-32" value="&lt;div&gt;Subkey Binding-Signature #2&lt;/div&gt;&lt;div&gt;Signature Creation Time: t4&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="380" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-33" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="u9JMdRfH3SxJ6CQ8vYaj-31">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370" y="420" as="sourcePoint" />
<mxPoint x="190" y="280" as="targetPoint" />
<Array as="points">
<mxPoint x="340" y="420" />
<mxPoint x="340" y="170" />
<mxPoint x="425" y="170" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-4" value="&lt;div&gt;Signing Subkey #0&lt;/div&gt;&lt;div&gt;(0xAB)&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="260" y="180" width="150" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-8" value="&lt;div&gt;Subkey Binding-Signature #0&lt;/div&gt;&lt;div&gt;Signature Creation Time: t0&lt;br&gt;&lt;/div&gt;&lt;div&gt;Key-Flags: [S]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="220" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-24" value="Certificate 0xAA" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="370" y="40" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-25" value="&lt;div&gt;Subkey Binding-Signature #1&lt;/div&gt;&lt;div&gt;Signature Creation Time: t2&lt;br&gt;&lt;/div&gt;&lt;div&gt;Key-Flags: [ ]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="300" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-26" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.933;exitY=0.667;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-27" target="u9JMdRfH3SxJ6CQ8vYaj-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="630" y="290" as="sourcePoint" />
<mxPoint x="680" y="280" as="targetPoint" />
<Array as="points">
<mxPoint x="425" y="290" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-27" value="t0 &amp;amp; t1: Subkey can sign" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="425" y="270" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-28" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.975;exitY=0.667;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-29">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="630" y="370" as="sourcePoint" />
<mxPoint x="425" y="350" as="targetPoint" />
<Array as="points">
<mxPoint x="425" y="370" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-29" value="t2 &amp;amp; t3: Subkey cannot sign" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="430" y="350" width="155" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-31" value="Direct-Key Signature #0&lt;div&gt;Signature Creation Time: t0&lt;br&gt;&lt;/div&gt;&lt;div&gt;Key-Flags: [C,S]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="110" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-34" value="?" style="ellipse;whiteSpace=wrap;html=1;dashed=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="370" y="410" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-35" value="DK&#39;s Key-Flags apply" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=7;" vertex="1" parent="1">
<mxGeometry x="290" y="350" width="50" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-36" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.997;exitY=0.678;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-37" target="u9JMdRfH3SxJ6CQ8vYaj-34">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="440" as="sourcePoint" />
<mxPoint x="650" y="420" as="targetPoint" />
<Array as="points">
<mxPoint x="420" y="450" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-37" value="t4+: Subkey can sign" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="430" y="430" width="115" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,75 @@
<mxfile host="app.diagrams.net" modified="2023-12-13T11:36:11.493Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="_SoWvvZTPUnqDgXmTAwh" version="22.1.8" type="device">
<diagram name="Seite-1" id="bnFu_L0lHmKDT0MA8Cyi">
<mxGraphModel dx="819" dy="434" 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="CaaCqwmmIPOTDNdIYEV8-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="CaaCqwmmIPOTDNdIYEV8-1" target="CaaCqwmmIPOTDNdIYEV8-2">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="230" y="210" />
<mxPoint x="230" y="180" />
<mxPoint x="270" y="180" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="CaaCqwmmIPOTDNdIYEV8-1" target="CaaCqwmmIPOTDNdIYEV8-2">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="210" y="210" />
<mxPoint x="210" y="190" />
<mxPoint x="250" y="190" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-1" value="16 random bytes" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="80" y="210" width="160" height="100" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-2" value="quick check bytes" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="240" y="210" width="40" height="100" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-3" value="Plaintext" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="280" y="210" width="220" height="100" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-4" value="&lt;div&gt;0xD3&lt;/div&gt;&lt;div&gt;0x14&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="500" y="210" width="40" height="100" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-5" value="&lt;div&gt;SHA1&lt;/div&gt;&lt;div&gt;Checksum&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="540" y="210" width="270" height="100" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="CaaCqwmmIPOTDNdIYEV8-8" target="CaaCqwmmIPOTDNdIYEV8-5">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="310" y="340" />
<mxPoint x="675" y="340" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-8" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;rotation=-90;" vertex="1" parent="1">
<mxGeometry x="300" y="90" width="20" height="460" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-14" value="repeated 2 bytes" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="190" y="150" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-15" value="calculate / verify checksum" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="414" y="340" width="170" height="30" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-19" value="" style="shape=crossbar;whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="500" y="370" width="310" height="20" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-18" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="80" y="370" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-16" value="" style="shape=crossbar;whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="CaaCqwmmIPOTDNdIYEV8-18">
<mxGeometry width="200" height="20" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-17" value="quick check" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="CaaCqwmmIPOTDNdIYEV8-18">
<mxGeometry x="60" y="10" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="CaaCqwmmIPOTDNdIYEV8-21" value="modification detection code" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="572.5" y="380" width="165" 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,89 @@
<mxfile host="app.diagrams.net" modified="2023-11-10T15:20:22.634Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="RpGQWCBljR0OpVnwUbNJ" version="22.1.0" type="device">
<diagram name="Page-1" id="2YBvvXClWsGukQMizWep">
<mxGraphModel dx="989" dy="523" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="220" y="30" width="370" height="350" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-3" value="&lt;div&gt;Primary Key&lt;/div&gt;&lt;div&gt;(0xAA)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="260" y="70" width="150" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-24" value="Certificate 0xAA" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="370" y="40" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-31" value="&lt;div&gt;Direct-Key Signature #0&lt;/div&gt;&lt;div&gt;Key-Flags: [C]&lt;br&gt;&lt;/div&gt;&lt;div&gt;Pref. AEAD Cipher-Suites: [AES128-OCB]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="110" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-38" value="&lt;div&gt;Encryption Subkey&lt;br&gt;&lt;/div&gt;&lt;div&gt;(0xAB)&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="260" y="270" width="150" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-60" value="" style="endArrow=block;dashed=1;html=1;rounded=0;endFill=1;fillColor=#60a917;strokeColor=#000000;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="120" as="sourcePoint" />
<mxPoint x="280" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-39" value="Alice &amp;lt;alice@example.org&amp;gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
<mxGeometry x="260" y="170" width="180" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-40" value="&lt;div&gt;Positive Certification #0&lt;/div&gt;&lt;div&gt;Pref. AEAD Cipher-Suites: [AES256-OCB]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="210" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-41" value="&lt;div&gt;Subkey-Binding Signature #0&lt;/div&gt;&lt;div&gt;Key-Flags: [E]&lt;br&gt;&lt;/div&gt;&lt;div&gt;Pref. AEAD Cipher-Suites: [AES256-GCM]&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="290" y="310" width="270" height="50" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-44" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.958;exitY=0.833;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#0050ef;strokeColor=#001DBC;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-54" target="u9JMdRfH3SxJ6CQ8vYaj-39">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="195" as="sourcePoint" />
<mxPoint x="680" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-53" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#0050ef;strokeColor=#001DBC;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-40" target="u9JMdRfH3SxJ6CQ8vYaj-64">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="630" y="270" as="sourcePoint" />
<mxPoint x="720" y="235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-54" value="Encrypting to &quot;Alice &amp;lt;alice@example.org&amp;gt;&quot;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="600" y="170" width="240" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-55" value="&lt;div&gt;Preferences from&lt;/div&gt;&lt;div&gt;self-certification&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="610" y="200" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-56" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.895;exitY=0.833;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#60a917;strokeColor=#2D7600;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-57" target="u9JMdRfH3SxJ6CQ8vYaj-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="780" y="95" as="sourcePoint" />
<mxPoint x="730" y="100" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-57" value="Encrypting to certificate 0xAA" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="590" y="70" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-61" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#60a917;strokeColor=#2D7600;" edge="1" parent="1" source="u9JMdRfH3SxJ6CQ8vYaj-41" target="u9JMdRfH3SxJ6CQ8vYaj-63">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="650" y="370" as="sourcePoint" />
<mxPoint x="730" y="130" as="targetPoint" />
<Array as="points">
<mxPoint x="600" y="335" />
<mxPoint x="600" y="135" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-62" value="&lt;div&gt;Preferences from&lt;/div&gt;&lt;div&gt;encryption key binding&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="550" y="100" width="230" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-63" value="AES256-GCM" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="730" y="120" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-64" value="AES256-OCB" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="730" y="220" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="u9JMdRfH3SxJ6CQ8vYaj-65" value="Operation is delegated to subkey" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=7;" vertex="1" parent="1">
<mxGeometry x="230" y="230" width="40" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,779 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 659.80347 659.58271"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="659.80347"
height="659.5827"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect262"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,26.694762,0,1 @ F,0,0,1,0,26.694762,0,1 @ F,0,1,1,0,26.694762,0,1 @ F,0,1,1,0,26.694762,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90"
x="-0.019165826"
y="-0.028762213"
width="1.0414438"
height="1.0655139"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90" /><feFlood
id="feFlood90"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter><linearGradient
inkscape:collect="always"
xlink:href="#swatch251"
id="linearGradient251"
x1="1673.3951"
y1="324.73254"
x2="1675.3951"
y2="324.73254"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(122.54823,-590.91828)" /><marker
style="overflow:visible"
id="Triangle-3"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-3" /></marker><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect73-9"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,4.9328368,0,1 @ F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,9.8529047,0,1 @ F,0,0,1,0,9.8529047,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><linearGradient
inkscape:collect="always"
xlink:href="#swatch251"
id="linearGradient251-0"
x1="1673.3951"
y1="324.73254"
x2="1675.3951"
y2="324.73254"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(122.54818,-590.91828)" /><marker
style="overflow:visible"
id="Triangle-2"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-2" /></marker><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect73-9-9"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,4.9328368,0,1 @ F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,9.8529047,0,1 @ F,0,0,1,0,9.8529047,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-9-3"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-7-6"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-63-0"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-9-7-5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-08-0"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-5-2"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-7"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-7-0-68"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-63-4-9"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="0.35355339"
inkscape:cx="885.29769"
inkscape:cy="637.81032"
inkscape:window-width="2560"
inkscape:window-height="1371"
inkscape:window-x="0"
inkscape:window-y="314"
inkscape:window-maximized="1"
inkscape:current-layer="layer11"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="false"><inkscape:page
x="-2.8509785e-08"
y="-1.077108e-06"
width="659.80347"
height="659.5827"
id="page163"
margin="0"
bleed="0"
inkscape:export-filename="Subkeys.svg"
inkscape:export-xdpi="94.510002"
inkscape:export-ydpi="94.510002" /><sodipodi:guide
position="1641.7966,-1953.7124"
orientation="1,0"
id="guide358"
inkscape:locked="false" /><sodipodi:guide
position="1654.437,-1963.1154"
orientation="1,0"
id="guide359"
inkscape:locked="false" /><sodipodi:guide
position="1641.4494,-1906.2679"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="1485.1915,-1720.8727"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="2144.5482,-1720.8727"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="2144.5482,-2664.7527"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="1485.1915,-2664.7527"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="1485.1915,-1720.8727"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="2144.5482,-1720.8727"
orientation="943.88005,0"
id="guide366"
inkscape:locked="false" /><sodipodi:guide
position="2144.5482,-2664.7527"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="1485.1915,-2664.7527"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Chapter 4"
inkscape:highlight-color="#baa600"
transform="translate(-844.67284,299.84418)"><g
inkscape:groupmode="layer"
id="layer9"
inkscape:label="Subkeys"
transform="translate(2.606852,-33.150982)"
style="display:inline"><path
id="rect46-8"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.56284;stroke-linejoin:round;stroke-dasharray:none;paint-order:fill markers stroke;filter:url(#filter90)"
d="m 834.89306,66.044159 h 603.04784 a 26.694762,26.694762 45 0 1 26.6948,26.694762 V 888.50345 a 26.694762,26.694762 135 0 1 -26.6948,26.69476 l -603.04784,0 A 26.694762,26.694762 45 0 1 808.1983,888.50345 V 92.738921 a 26.694762,26.694762 135 0 1 26.69476,-26.694762 z"
transform="matrix(0.97362791,0,0,0.71970873,65.752571,-280.78203)"
inkscape:path-effect="#path-effect262"
inkscape:original-d="m 808.1983,66.044159 h 656.4374 V 915.19821 H 808.1983 Z" /><g
id="g11-2"
transform="matrix(0.86376245,0,0,0.86376245,101.64808,-389.89434)"
inkscape:label="Diagramm Header"><g
id="g4-0"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:1.93586;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-6"
width="234.44821"
height="50"
x="926.60065"
y="116.44772" /><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:1.93368;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-6"
width="233.92274"
height="50"
x="917.30688"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="927.86316"
y="159.57611"
id="text1-64"><tspan
sodipodi:role="line"
id="tspan1-6"
x="927.86316"
y="159.57611">Binding Subkeys</tspan></text></g></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.3153px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.84081;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="877.56696"
y="31.60088"
id="text11-60-0-9"><tspan
sodipodi:role="line"
x="877.56696"
y="31.60088"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3153px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start;stroke-width:2.84081"
id="tspan163-9">OpenPGP subkeys</tspan></text><path
style="opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient251);stroke-width:2.475;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle-3);paint-order:fill markers stroke"
d="M 1286.5912,-48.820392 V 93.705272 H 1184.846"
id="path251"
sodipodi:nodetypes="ccc" /><path
style="fill:none;fill-opacity:1;stroke:url(#linearGradient251-0);stroke-width:2.475;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle-2);paint-order:fill markers stroke"
d="M 1370.0686,-50.077339 V 268.44832 h -185.7452"
id="path251-5"
sodipodi:nodetypes="ccc" /><g
id="g48-33"
transform="matrix(0.40795905,0,0,0.40795905,1082.4529,-449.37017)"><g
id="g47-3"
inkscape:label="Signature Tag Vers2"><path
id="rect72-8"
d="m 465.54003,1054.3166 25.38484,-19.1223 a 6.2319955,6.2319955 1.372191 0 1 7.73342,0.1853 l 22.40305,18.6225 a 17.856072,17.856072 64.867503 0 1 6.4418,13.7314 v 58.4004 a 9.8529047,9.8529047 135 0 1 -9.8529,9.8529 h -48.9481 a 9.8529047,9.8529047 45 0 1 -9.8529,-9.8529 v -58.4004 a 16.797717,16.797717 116.50469 0 1 6.69079,-13.4169 z"
style="fill:#ffffff;fill-opacity:1;stroke:#baa600;stroke-width:10;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
sodipodi:nodetypes="cccccc"
inkscape:path-effect="#path-effect73-9"
inkscape:original-d="m 458.84924,1059.3568 36.01565,-27.1305 32.63825,27.1305 v 76.63 h -68.6539 z"
transform="matrix(0.44075795,-0.76341516,0.76341516,0.44075795,-557.60908,1109.4717)" /><g
id="g44-6"
transform="rotate(30.10635,504.1885,1346.6982)"
style="fill:#c83737"><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1236.656 26.84972,-0.038 v 0"
id="path43-0" /><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1249.1118 26.84972,-0.038 v 0"
id="path43-3-48" /><g
id="g73-88"
transform="matrix(0.31111753,0.56338248,-0.56338248,0.31111753,965.42419,500.4011)"
inkscape:label="Signature Tag"><g
id="g10-8-97"
transform="rotate(-30,1140.748,355.65631)"
inkscape:label="Signature vers2"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-7"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-6"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-4"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-3"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-03"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-0"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g></g></g></g></g><g
id="g48-33-8"
transform="matrix(0.40795905,0,0,0.40795905,1168.0489,-328.58988)"><g
id="g47-3-3"
inkscape:label="Signature Tag Vers2"><path
id="rect72-8-8"
d="m 465.54003,1054.3166 25.38484,-19.1223 a 6.2319955,6.2319955 1.372191 0 1 7.73342,0.1853 l 22.40305,18.6225 a 17.856072,17.856072 64.867503 0 1 6.4418,13.7314 v 58.4004 a 9.8529047,9.8529047 135 0 1 -9.8529,9.8529 h -48.9481 a 9.8529047,9.8529047 45 0 1 -9.8529,-9.8529 v -58.4004 a 16.797717,16.797717 116.50469 0 1 6.69079,-13.4169 z"
style="fill:#ffffff;fill-opacity:1;stroke:#baa600;stroke-width:10;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
sodipodi:nodetypes="cccccc"
inkscape:path-effect="#path-effect73-9-9"
inkscape:original-d="m 458.84924,1059.3568 36.01565,-27.1305 32.63825,27.1305 v 76.63 h -68.6539 z"
transform="matrix(0.44075795,-0.76341516,0.76341516,0.44075795,-557.60908,1109.4717)" /><g
id="g44-6-0"
transform="rotate(30.10635,504.1885,1346.6982)"
style="fill:#c83737"><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1236.656 26.84972,-0.038 v 0"
id="path43-0-4" /><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1249.1118 26.84972,-0.038 v 0"
id="path43-3-48-0" /><g
id="g73-88-9"
transform="matrix(0.31111753,0.56338248,-0.56338248,0.31111753,965.42419,500.4011)"
inkscape:label="Signature Tag"><g
id="g10-8-97-1"
transform="rotate(-30,1140.748,355.65631)"
inkscape:label="Signature vers2"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-7-9"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-6-6"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-4-2"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-3-5"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-03-4"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-0-4"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g></g></g></g></g><g
id="g42-3"
inkscape:label="Subkey sign"
transform="matrix(0.76010035,0,0,0.76010035,228.35503,-176.95668)"
style="display:inline"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="866.87903"
y="545.59027"
id="text11-2-8-9-5"><tspan
sodipodi:role="line"
id="tspan11-9-0-9-1"
x="866.87903"
y="545.59027"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Component Key</tspan></text><path
id="rect11-2-0-7"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;opacity:1;fill:none;fill-opacity:0.1;stroke:#195962;stroke-width:4.39384;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:path-effect="#path-effect35-9-7-5"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
transform="matrix(0.92016709,0,0,0.69628804,54.126466,381.06173)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:17.9px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="562.8924"
y="408.97891"
id="text11-3-4-9-4"
transform="matrix(0.95580583,0,0,0.95580583,310.08279,258.88933)"
inkscape:label="fingerprint sk sign"><tspan
x="562.8924"
y="408.97891"
id="tspan3"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan1">D07B 24EC 91A1 4DD2 40AC 2D53 E6C8 A9E0</tspan> </tspan><tspan
x="562.8924"
y="428.39824"
id="tspan5"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan4">5494 9A41 222E A738 576E D19C AEA3 DC99</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="525.47937"
y="-1229.8292"
id="text11-2-8-0-1-6"
transform="rotate(90.68856)"><tspan
sodipodi:role="line"
id="tspan11-9-0-2-7-9"
x="525.47937"
y="-1229.8292"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start">signing</tspan></text><path
id="path2-3-2-6-4"
style="display:inline;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.30653975,0,0,-0.30611547,1090.8703,818.6395)"
inkscape:path-effect="#path-effect32-0-3-1-08-0"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.6804px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.08626;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="870.6701"
y="602.2995"
id="text11-9-5-2"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-9-2"
x="870.6701"
y="602.2995"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:20.6804px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:4.08626">- key creation time</tspan></text><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-9-6"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect71-5-2"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
transform="matrix(0.97006368,0,0,0.968721,29.914517,373.42373)" /></g><g
id="g41-4"
style="display:inline"
inkscape:label="Subkey encr"
transform="matrix(0.76010035,0,0,0.76010035,226.28061,-189.63155)"><path
id="rect11-2-1"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;fill:none;fill-opacity:0.1;stroke:#195962;stroke-width:4.39384;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:path-effect="#path-effect35-9-3"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
transform="matrix(0.92016709,0,0,0.69628804,56.855601,194.47989)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="870.22443"
y="359.37485"
id="text11-2-8-28"><tspan
sodipodi:role="line"
id="tspan11-9-0-8"
x="870.22443"
y="359.37485"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Component Key</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="338.83902"
y="-1225.12"
id="text11-2-8-0-9"
transform="rotate(90)"><tspan
sodipodi:role="line"
id="tspan11-9-0-2-2"
x="338.83902"
y="-1225.12"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start">encryption</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:17.9px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="562.8764"
y="408.97891"
id="text11-3-4-8"
transform="matrix(0.95580583,0,0,0.95580583,329.05744,76.348676)"
inkscape:label="fingerprint sk encr"><tspan
x="562.8764"
y="408.97891"
id="tspan9"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan6">C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D</tspan> </tspan><tspan
x="562.8764"
y="428.39824"
id="tspan11"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan10">BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94</tspan></tspan></text><path
id="path2-3-2-5-83"
style="display:inline;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.30474777,0,0,-0.30432596,1091.2486,632.13837)"
inkscape:path-effect="#path-effect32-0-3-1-7-6"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.5595px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.06237;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="872.33105"
y="416.93719"
id="text11-9-0-83"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-33"
x="872.33105"
y="416.93719"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:20.5595px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:4.06237">- key creation time</tspan></text><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-5-8"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect71-63-0"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
transform="matrix(0.96439285,0,0,0.96305804,36.49511,189.52526)" /></g><g
id="g40-87"
style="display:inline"
inkscape:label="Primary"
transform="matrix(0.76089047,0,0,0.76089047,536.69576,-277.7856)"><path
id="rect11-9"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;fill:#195962;fill-opacity:0.1;stroke:#195962;stroke-width:4.39384;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:path-effect="#path-effect35-7"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
transform="matrix(0.92016709,0,0,0.69628804,50.430978,-3.7263769)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="861.96753"
y="161.23524"
id="text11-2-0"><tspan
sodipodi:role="line"
id="tspan11-9-3"
x="861.96753"
y="161.23524"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Component Key (primary)</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:17.9px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="559.75104"
y="408.97891"
id="text11-3-3"
transform="matrix(0.95580583,0,0,0.95580583,312.44807,-124.51895)"
inkscape:label="fingerprint primary"><tspan
x="559.75104"
y="408.97891"
id="tspan13"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan12">AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6</tspan> </tspan><tspan
x="559.75104"
y="428.39824"
id="tspan15"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan14">7F33 00F9 FB0E C457 378C D29F 1026 98B3</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="149.70236"
y="-1324.163"
id="text11-2-8-0-4-6"
transform="rotate(90,-46.430008,-58.327962)"><tspan
sodipodi:role="line"
id="tspan11-9-0-2-76-52"
x="149.70236"
y="-1324.163"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start">certification</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.7631px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.70741;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="965.3064"
y="226.99016"
id="text11-9-0-0-6"
transform="matrix(1.0578135,0,0,1.0563493,-151.50452,-19.946044)"><tspan
sodipodi:role="line"
id="tspan11-3-6-3-58"
x="965.3064"
y="226.99016"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:18.7631px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.70741">- key creation time</tspan></text><path
id="path2-3-2-5-8-7"
style="display:inline;opacity:1;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.29399503,0,0,-0.29358811,1080.2197,427.72131)"
inkscape:path-effect="#path-effect32-0-3-1-7-0-68"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><path
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-5-7-96"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect71-63-4-9"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
transform="matrix(0.93036515,0,0,0.92907745,62.682252,0.72538386)" /></g></g></g></svg>

After

Width:  |  Height:  |  Size: 59 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 41 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 187 KiB

View File

@ -0,0 +1,350 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 661.46704 354.82163"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="661.46704"
height="354.82162"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><marker
style="overflow:visible"
id="Square"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path18" /></marker><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-9-9"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90"
x="-0.019165826"
y="-0.028762213"
width="1.0414438"
height="1.0655139"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90" /><feFlood
id="feFlood90"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-8"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-0"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="0.70710678"
inkscape:cx="1034.4972"
inkscape:cy="5528.8679"
inkscape:window-width="2560"
inkscape:window-height="1371"
inkscape:window-x="0"
inkscape:window-y="314"
inkscape:window-maximized="1"
inkscape:current-layer="layer21"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="true"><inkscape:page
x="1.1453871e-07"
y="-5.1278498e-06"
width="661.46704"
height="354.82162"
id="page66"
margin="0"
bleed="0"
inkscape:export-filename="Fingerprint.png"
inkscape:export-xdpi="94.510002"
inkscape:export-ydpi="94.510002" /><sodipodi:guide
position="1645.0677,-2404.6281"
orientation="1,0"
id="guide358"
inkscape:locked="false" /><sodipodi:guide
position="1657.7081,-2414.0311"
orientation="1,0"
id="guide359"
inkscape:locked="false" /><sodipodi:guide
position="1644.7205,-2357.1836"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="1488.4626,-2171.7884"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="2147.8193,-2171.7884"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="2147.8193,-3115.6684"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="1488.4626,-3115.6684"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="1488.4626,-2171.7884"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="2147.8193,-2171.7884"
orientation="943.88005,0"
id="guide366"
inkscape:locked="false" /><sodipodi:guide
position="2147.8193,-3115.6684"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="1488.4626,-3115.6684"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Chapter 4"
inkscape:highlight-color="#baa600"
transform="translate(-841.40178,750.75983)"><g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Component Key with fingerprints"
transform="translate(11.236271,-4.7700578)"
style="display:inline"><path
id="rect65-3"
transform="matrix(0.90039676,0,0,1.2175633,126.76717,-1775.9627)"
d="m 851.7972,875.02576 h 590.4649 c 14.4536,0 26.0895,8.60482 26.0895,19.29332 v 211.74182 c 0,10.6885 -11.6359,19.2933 -26.0895,19.2933 H 851.7972 c -14.45355,0 -26.08944,-8.6048 -26.08944,-19.2933 V 894.31908 c 0,-10.6885 11.63589,-19.29332 26.08944,-19.29332 z"
style="opacity:1;mix-blend-mode:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.312;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90)" /><g
id="g11-8-3"
transform="matrix(0.86376245,0,0,0.86376245,139.09758,-874.08504)"
inkscape:label="Diagramm Header"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.471;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8"
width="329.94476"
height="57.886284"
x="914.89185"
y="156.37508" /><g
id="g4-7-0"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.47329;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5"
width="330.55685"
height="57.886284"
x="917.30688"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:345.106;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6"
transform="matrix(0.85813569,0,0,0.85813569,117.98976,13.088921)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">Fingerprint of an OpenPGP &#10;</tspan><tspan
x="954.24536"
y="188.38867"
id="tspan2">component key </tspan></text></g></g><g
id="g41-8"
style="display:inline"
inkscape:label="Subkey encr"
transform="translate(174.24064,-969.11494)"><path
id="rect11-2-2"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;fill:none;fill-opacity:0.1;stroke:#195962;stroke-width:4.39384;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:path-effect="#path-effect35-9-9"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
transform="matrix(0.94985532,0,0,0.73417064,31.221087,187.24009)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.2565px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.65147;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="880.12274"
y="357.29468"
id="text11-2-8-02"
transform="scale(0.98944428,1.0106683)"><tspan
sodipodi:role="line"
id="tspan11-9-0-7"
x="880.12274"
y="357.29468"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:22.2565px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.65147">Component Key</tspan></text></g><path
id="path2-3-2-1"
style="display:inline;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.30880813,0,0,-0.3083807,1278.5158,-329.75398)"
inkscape:path-effect="#path-effect32-0-3-1-0"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.8334px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.11649;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1046.5688"
y="-548.49475"
id="text11-9-3"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-59"
x="1046.5688"
y="-548.49475"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:20.8334px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:4.11649">- key creation time</tspan></text><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-3"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect71-8"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
transform="matrix(0.97724208,0,0,0.97588952,199.70912,-778.26433)" /><g
id="g67"
transform="translate(172.01582,-966.26504)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"><rect
style="fill:#baa600;fill-opacity:0.25;stroke:#baa600;stroke-width:1.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.8, 2.8;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect66"
width="378.45499"
height="52.826336"
x="855.52289"
y="454.69138" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:17.9px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7786;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="562.8764"
y="408.97891"
id="text11-3-4-3"
transform="matrix(0.95580583,0,0,0.95580583,326.86618,86.500043)"
inkscape:label="fingerprint sk encr"><tspan
x="562.8764"
y="408.97891"
id="tspan4"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan3">C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D</tspan> </tspan><tspan
x="562.8764"
y="428.39824"
id="tspan6"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan5">BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="740.55432"
y="476.66418"
id="text11-2-8-02-9"
transform="scale(0.98944431,1.0106683)"><tspan
sodipodi:role="line"
id="tspan11-9-0-7-1"
x="740.55432"
y="476.66418"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:18.6667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:1.7;stroke-dasharray:none">Fingerprint</tspan></text><path
style="opacity:1;fill:none;fill-opacity:1;stroke:#baa600;stroke-width:1.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.8, 2.8;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Square);paint-order:fill markers stroke"
d="m 853.59098,505.62944 -78.85694,0.0298 -0.27607,-16.40163"
id="path252"
sodipodi:nodetypes="ccc" /></g></g></g></svg>

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,711 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 652.41364 1111.1544"
version="1.1"
id="svg1"
width="652.41364"
height="1111.1544"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><marker
style="overflow:visible"
id="Triangle-7-4"
refX="0"
refY="0"
orient="auto-start-reverse"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-4-4" /></marker><filter
style="color-interpolation-filters:sRGB"
id="filter90-4-61-8-4"
x="-0.022628327"
y="-0.0092798643"
width="1.048931"
height="1.0211375"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-0-2-4" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-4-6-3" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-2-0-9" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-2-6-7" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-20-6-2" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-5-4-5" /><feFlood
id="feFlood90-1-5-6-8"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-2-2-9"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-9-8-0"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-02-9-2"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-83-6-4"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer24"
style="display:inline"
transform="translate(-790.81018,-3551.5676)"><g
id="layer30"
transform="translate(-84.458865,16.809754)"
style="display:inline"><g
id="layer21-3"
style="display:inline"
transform="matrix(0.96230885,0,0,0.96230885,83.822422,-1196.6786)"><g
id="g449-5-2-9"
transform="matrix(0.9303245,0,0,1.7457096,-695.61804,1397.1525)"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.6956;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:42;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-4-61-8-4)"
id="rect218"
width="633.05139"
height="1069.1263"
x="843.85529"
y="4963.8242"
ry="26.536877"
transform="matrix(1.0948618,0,0,0.5804358,724.49196,-838.01945)"
rx="26.39868" /><rect
style="fill:#c7b731;fill-opacity:1;stroke:none;stroke-width:1.32781;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.65566, 2.65566;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-2-2-8"
width="443.51514"
height="408.20288"
x="1686.531"
y="2240.1597" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.2248;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.44963, 2.44963;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-7-0-6-8"
width="414.74948"
height="371.41376"
x="1690.8833"
y="2242.9712" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:423.948;display:inline;fill:#ffffff;fill-opacity:1;stroke-width:4.32669;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;paint-order:markers fill stroke"
x="1372.377"
y="158.38867"
id="text1-6-6-8-7-4-2-7"
transform="matrix(0.62301601,0,0,0.623016,322.40424,5886.1233)"><tspan
x="1372.377"
y="158.38867"
id="tspan2"><tspan
style="font-weight:bold;font-size:31.1353px;-inkscape-font-specification:'Montserrat Bold'"
id="tspan1">Signature packet</tspan>&#10;</tspan><tspan
x="1372.377"
y="194.39583"
id="tspan4"><tspan
style="font-weight:500;font-size:25.1835px;-inkscape-font-specification:'Montserrat Medium'"
id="tspan3">Direct Key Signature&#10;</tspan></tspan></text><g
id="g53-7-9-7-0-8-5"
transform="translate(-852.92476,3316.8118)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-3-1-9-4-8"
transform="translate(0,17.161432)"><g
id="g192-4"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-6-8-3"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-3-1-7"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Cryptographic Signature</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:240.29;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2599.4785"
id="text11-9-0-8-9-4-9-7-1-6-8-8-1"
transform="scale(1.0006928,0.99930768)"><tspan
x="1752.1871"
y="2599.4785"
id="tspan6"><tspan
style="font-weight:300;font-family:Montserrat;-inkscape-font-specification:'Montserrat Light'"
id="tspan5">by the primary key over primary key, </tspan></tspan><tspan
x="1752.1871"
y="2615.4287"
id="tspan8"><tspan
style="font-weight:300;font-family:Montserrat;-inkscape-font-specification:'Montserrat Light'"
id="tspan7">subkey and signature metadata </tspan></tspan></text></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-7-9-8-0-9"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-4-7-5-3-3"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g><g
id="g73-85-9-2"
transform="matrix(0.31242621,0.56824219,-0.56824219,0.31242621,2570.3943,1885.8446)"
style="fill:#c83737"><g
id="g10-8-7-6-4"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-41-4-3"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-8-3-7"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-59-3-1"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-7-3-2" /><path
id="path4-4-5-8-2"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-38-6-0"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g><path
style="fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.07833;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:4.15667, 4.15667;stroke-dashoffset:43.6451;stroke-opacity:1;marker-end:url(#Triangle-7-4);paint-order:fill markers stroke"
d="m 2201.2514,1817.471 101.2251,-4e-4 v 793.5461 h -206.6867"
id="path217" /><path
style="fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.09539;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:4.1908, 4.1908;stroke-dashoffset:44.0032;stroke-opacity:1;paint-order:fill markers stroke"
d="m 2201.2687,2255.9982 99.5628,-4e-4"
id="path218" /></g><g
id="g1-7"
transform="matrix(1.0391674,0,0,1.0391674,-1354.7521,6375.0216)"
style="display:inline"><g
id="g81-9-1-4"
transform="matrix(0.6743091,0,0,0.67326717,882.19905,-216.1981)"
style="display:inline;stroke-width:1.48415"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:1.3;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:219.48;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="1840.4709"
y="784.19983"
id="text11-2-8-02-9-0-0-2-5"
transform="matrix(1.4673453,0,0,1.50114,-212.07776,-1509.1933)"><tspan
x="1840.4709"
y="784.19983"
id="tspan10"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan9">Signature is created.</tspan></tspan></text></g></g><g
id="g53-7-9-7-0-2"
transform="translate(-850.51226,3260.4131)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-3-1-9-1"
transform="translate(0,17.161432)"><path
id="rect15-7"
style="display:inline;fill:#ededed;fill-opacity:1;stroke:none;stroke-width:2.091;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1751.7675,2557.4277 v 27.8613 h 0.039 v 19.5098 h 10.1543 v -19.5098 h 352.0293 v -27.8613 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1759.4644"
y="2579.7502"
id="text11-9-0-8-9-4-9-7-1-6-5"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-3-17"
x="1759.4644"
y="2579.7502"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Unhashed area</tspan></text><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.26091;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.78272, 3.78272;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6407,2605.1054 h 363.1232"
id="path449-2-1-7-6-4" /></g></g><g
id="g193-1"
transform="translate(-3087.1788,3070.5991)"><path
id="rect193-6-2-7"
style="display:inline;fill:#c7b731;fill-opacity:0.25;stroke-width:0.175389;stroke-dasharray:0.350781, 0.350781;paint-order:fill markers stroke"
transform="rotate(90)"
d="m 2419.8521,-4351.8291 h 26.8986 v 363.1854 l -26.8986,-0.5055 z m 0,363.1853 v -10.3158 h 330.2054 v 10.3158 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="-2497.6013"
y="1914.6544"
id="text11-9-0-8-9-4-9-7-1-6-1-1"
transform="matrix(1.0006928,0,0,0.99930768,6497.5571,525.64591)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-3-10-1"
x="-2497.6013"
y="1914.6544"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Hashed area</tspan></text><g
id="g53-7-9-7-3-9-1"
transform="translate(2255.956,93.220758)"
style="display:inline;fill:#61a78d;fill-opacity:1"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-3-6-7"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161431)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-0-8-04"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Features</tspan></text><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2610.2612 h 341.155"
id="path449-2-1-7-5-1-0" /></g><g
id="g53-7-9-7-3-9-7-8"
transform="translate(2255.956,139.79926)"
style="display:inline;fill:#61a78d;fill-opacity:1"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-3-6-4-5"
transform="matrix(1.0006928,0,0,0.99930768,0,17.16143)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-0-8-0-1"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Issuer Fingerprint</tspan></text><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.238;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.714, 3.714;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1732.9724,2610.2582 h 360.7651"
id="path449-2-1-7-5-1-9-6" /></g><g
id="g53-7-0-9-6-4-0-6"
transform="translate(2255.956,49.299868)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2607.6066 h 341.155"
id="path449-9-3-5-1-2" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8-6-9-1-1"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161432)"><tspan
id="tspan11-3-6-9-0-1-2-2-8-5-4-0-9"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Key Flags</tspan></text></g><g
id="g53-7-0-6-4-9-2-0-6"
transform="translate(2255.956,8.4342498)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2604.5541 h 341.1549"
id="path449-4-3-4-2-6-4" /><g
id="g52-5-6-5-7-8-4-4-8"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1-7-6-0"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2-7-2-8"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Preferred Hash Algorithms</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9-5-5-1"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3-4-8-0"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-9-7-3-2"
transform="translate(2255.956,-38.380307)"
style="display:inline;fill:#61a78d;fill-opacity:1"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-3-2"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161432)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-0-9"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Preferred Symmetric Ciphers for v1 SEIPD</tspan></text><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2610.2696 h 341.155"
id="path449-2-1-7-5-7" /></g><g
id="g53-7-0-9-6-4-5"
transform="translate(2255.956,-82.301197)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2607.615 h 341.155"
id="path449-9-3-5-6" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8-6-9-4"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161432)"><tspan
id="tspan11-3-6-9-0-1-2-2-8-5-4-6"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Key Expiration Time</tspan></text></g><g
id="g53-7-0-6-4-9-2-3"
transform="translate(2255.956,-123.16681)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2604.5625 h 341.1549"
id="path449-4-3-4-2-7" /><g
id="g52-5-6-5-7-8-4-9"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1-7-7"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2-7-4"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Signature Creation Time</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9-5-9"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3-4-1"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g></g><g
id="g53-7-9-7-7"
transform="translate(-850.51226,2865.8499)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-3-1-0"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-60"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-8"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Hash Algorithm</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-7-9-5"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-4-7-3"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2593.0841 h 361.7751"
id="path449-2-1-7-9" /></g></g><g
id="g53-7-0-9-6-41"
transform="translate(-850.51226,2824.459)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-6-0-7-5"
transform="translate(0,17.161432)"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2590.4484 h 361.7751"
id="path449-9-3-4" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8-6-1"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-8-5-5"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Public-Key Algorithm</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-5-6-5"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-8-3-4"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-0-6-4-9-9"
transform="translate(-850.51226,2786.1029)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2604.5751 h 361.7751"
id="path449-4-3-4-8" /><g
id="g52-5-6-5-7-8-3"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1-8"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2-52"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Signature type</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9-2"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3-2"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-0-6-4-9-0-7"
transform="translate(-850.51226,2747.7467)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2604.5751 h 361.7751"
id="path449-4-3-4-9-0" /><g
id="g52-5-6-5-7-8-9-3"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1-4-4"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2-5-6"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Version</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9-1-3"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3-0-6"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g></g><g
id="layer15-1-1"
transform="matrix(0.96230885,0,0,0.96230885,16.308414,-394.25633)"
style="display:inline"><g
id="g449-5-8"
transform="matrix(1.0747484,0,0,0.5522872,-869.035,2961.7374)"><rect
style="fill:#006961;fill-opacity:1;stroke:none;stroke-width:1.27336;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.54674, 2.54674;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-2-7"
width="383.91589"
height="433.68771"
x="1686.531"
y="2240.1597" /><rect
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.09224;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.1845, 2.1845;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-7-0-63"
width="359.01575"
height="341.22061"
x="1690.2985"
y="2247.4851" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.1315px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.93888;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1153.472"
y="4421.9697"
id="text369-0"><tspan
id="tspan369-30"
x="1153.472"
y="4421.9697"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.1315px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:2.93888">Public-Key packet</tspan></text><g
id="g51-8-0-5"
transform="translate(-783.22144,1752.728)"><g
id="g50-4-7-0"
transform="translate(0,-0.36273925)"><g
id="g49-5-5-8"
transform="translate(0,-6.9324974)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1411.9558"
y="2599.9993"
id="text11-9-0-8-9-56-1-1-9-0"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-5-7-7-4"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1411.9558"
y="2623.9102"
id="text11-9-0-8-9-56-1-7-5-8-1"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-5-4-7-5-1"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1411.9558"
y="2647.821"
id="text11-9-0-8-9-56-1-4-1-3-3"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-5-3-6-3-5"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g><path
id="path2-1-4-5-3-8-9"
style="display:inline;fill:none;fill-opacity:1;stroke:#006961;stroke-width:10.4431;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
transform="matrix(0.27658227,0,0,-0.27658227,1969.5724,2810.7705)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#006962;fill-opacity:1;stroke:none;stroke-width:3.112;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="1755.1436"
y="2614.4453"
id="text11-9-0-8-9-6-3-3"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-3-7-4"
x="1755.1436"
y="2614.4453"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;fill:#006962;fill-opacity:1;stroke-width:3.112;stroke-dasharray:none">Public Key Material</tspan></text></g></g><g
id="g53-7-9-1"
transform="translate(-780.26939,1718.0976)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-3-5"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-0"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-8-8"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Public-Key Algorithm</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-7-3"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-4-5"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><path
style="fill:#ffffff;fill-opacity:1;stroke:#006961;stroke-width:1.198;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.594, 3.594;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1715.2763,2371.2093 h 327.7954"
id="path449-2-1-6"
transform="translate(37.299862,221.89606)" /></g></g><g
id="g53-7-0-9-5"
transform="translate(-780.26939,1677.45)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-6-0-9"
transform="translate(0,17.161432)"><path
style="fill:#ffffff;fill-opacity:1;stroke:#006961;stroke-width:1.198;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.594, 3.594;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1715.2763,2327.9041 h 327.7954"
id="path449-9-9"
transform="translate(37.299862,262.54365)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8-0"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-8-7"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Creation Time</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-5-63"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-8-7"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-0-6-4-6"
transform="translate(-780.26939,1637.2002)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#006961;stroke-width:1.198;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.594, 3.594;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1715.2763,2284.599 h 327.7954"
id="path449-4-3-1"
transform="translate(37.299862,319.95491)" /><g
id="g52-5-6-5-7-5"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-0"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-6"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Version</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-5"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-0"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g></g><g
id="g217"
transform="matrix(0.79866242,0,0,0.85989276,268.11403,574.23522)"><path
d="m 3472.5784,346.95832 c -0.401,-0.14517 -0.4485,-0.25 -0.4485,-0.86667 v -8.53889 c 0,-1.16667 0.012,-1.50826 -1.1384,-1.50826 h -0.4166 v 0.13404 h 0.5333 c 0.9,0 0.8037,0.47212 0.8037,1.35545 v 8.53889 c 0,0.61667 0.1264,0.90211 0.4933,1.05211 -0.3666,0.15 -0.4933,0.39789 -0.4933,1.01456 v 8.35706 c 0,0.88333 0.096,1.4021 -0.8037,1.4021 h -0.5333 v 0.12493 h 0.4166 c 1.15,0 1.1384,-0.34159 1.1384,-1.50826 v -8.35706 c 0,-0.61667 0.037,-0.75729 0.4485,-0.88333 l 0.5115,-0.12822 a 0.03192943,0.03192943 89.909643 0 0 -10e-5,-0.062 z"
id="text223-2-0"
style="font-weight:100;font-size:16.6667px;line-height:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Thin';letter-spacing:3.34px;white-space:pre;inline-size:29.94;display:inline;fill:#195962;fill-opacity:1;stroke-width:0.0104108;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke"
transform="matrix(21.696813,0,0,25.587041,-73973.363,-4705.8363)"
aria-label="}" /></g><path
d="m 3473.4915,343.48611 c -0.401,-0.14517 -0.75,-0.25 -0.75,-0.86667 v -5.06668 c 0,-1.16667 -0.6,-1.7 -1.75,-1.7 h -0.4166 v 0.31667 h 0.5333 c 0.9,0 1.3,0.5 1.3,1.38333 v 5.06668 c 0,0.61667 0.1667,0.88334 0.5333,1.03334 -0.3666,0.15 -0.5333,0.41666 -0.5333,1.03333 v 5.06668 c 0,0.88333 -0.4,1.38333 -1.3,1.38333 h -0.5333 v 0.31667 h 0.4166 c 1.15,0 1.75,-0.53333 1.75,-1.7 v -5.06668 c 0,-0.61667 0.338,-0.75729 0.75,-0.88333 l 0.5115,-0.12822 a 0.03192943,0.03192943 89.909643 0 0 -1e-4,-0.062 z"
id="text223-2-1-4"
style="font-weight:100;font-size:16.6667px;line-height:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Thin';letter-spacing:3.34px;white-space:pre;inline-size:29.94;display:inline;fill:#195962;fill-opacity:1;stroke-width:2.091;stroke-linecap:round;paint-order:fill markers stroke"
transform="matrix(12.482461,0,0,10.89588,-41992.429,-0.26181058)"
aria-label="}" /><g
id="g11-8-3-1-6-4-5"
transform="matrix(0.86376244,0,0,0.86376243,144.98666,3416.7596)"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:3.31996;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-4-2-0"
width="411.26721"
height="59.990265"
x="921.8681"
y="155.65892" /><g
id="g4-7-0-4-6-2-3"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:3.2868;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-3-6-6"
width="414.64102"
height="57.886292"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:469.908;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-8-7-4-1"
transform="matrix(0.85813569,0,0,0.85813569,114.63394,28.656092)"><tspan
x="954.24536"
y="158.38867"
id="tspan11">A minimal OpenPGP certificate</tspan></text></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 220 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -0,0 +1,288 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 661.15528 284.26419"
version="1.1"
id="svg1"
width="661.15527"
height="284.26419"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><marker
style="overflow:visible"
id="marker98"
refX="0"
refY="0"
orient="auto"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path98" /></marker><marker
style="overflow:visible"
id="Square"
refX="0"
refY="0"
orient="auto"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path18" /></marker><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
id="filter90-2-0-5"
x="-0.035144769"
y="-0.028762207"
width="1.0759963"
height="1.0655139"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-3-6-2" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-7-8-5" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-5-9-4" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-9-2-7" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-2-6-4" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-2-6-4" /><feFlood
id="feFlood90-8-4-3"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-9-9-0"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-7-5-7"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-3-0-8"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-6-4-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter><marker
style="overflow:visible"
id="ColoredDot-5"
refX="-3"
refY="0"
orient="auto-start-reverse"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.45)"
style="fill:context-fill;fill-rule:evenodd;stroke:context-stroke;stroke-width:2"
d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z"
id="path14-1" /></marker><marker
style="overflow:visible"
id="SemiCircleFilled-0"
refX="0"
refY="0"
orient="auto"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
preserveAspectRatio="xMidYMid"><path
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.6pt"
d="m -0.22470421,-0.02741555 c 0,1.65599995 1.34400001,2.99999995 3.00000001,2.99999995 v -6 c -1.656,0 -3.00000001,1.344 -3.00000001,3.00000005 z"
id="path25-8" /></marker></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer18"
style="display:inline"
transform="translate(-2440.9629,1807.8019)"><g
id="layer31"
style="display:inline"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.901674;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke;filter:url(#filter90-2-0-5)"
id="rect95"
width="645.67273"
height="301.46606"
x="2448.6626"
y="-1785.858"
ry="22.716982"
transform="matrix(0.86542851,0,0,0.79486971,371.41188,-369.08179)"
rx="22.716982" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#195962;stroke-width:1.24981;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.49963, 2.49963;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect66-2-9-0-4"
width="247.22639"
height="131.96223"
x="2610.8149"
y="-1697.3578"
ry="0" /><g
id="g5-7"
transform="matrix(0.84442591,0,0,0.64445629,2171.0475,-2173.5915)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"><path
id="rect2-5-2"
style="display:inline;fill:#ede8c0;fill-opacity:0.6;stroke:none;stroke-width:1.475;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.95, 2.95;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 829.6162,807.10742 h 176.8247 a 13.134939,13.134939 45 0 1 13.1349,13.13494 v 81.2156 a 13.134939,13.134939 135 0 1 -13.1349,13.13494 H 829.6162 a 30.342731,30.342731 23.407104 0 1 -22.12405,-9.57719 l -32.4645,-34.58836 a 13.994242,13.994242 90 0 1 0,-19.15438 l 32.4645,-34.58836 a 30.342731,30.342731 156.5929 0 1 22.12405,-9.57719 z"
transform="matrix(0.97234154,0,0,1.1146056,-210.63496,-91.148873)" /><path
id="rect2-5-2-5"
style="display:inline;fill:none;fill-opacity:0.6;stroke:#c7b730;stroke-width:1.74615;stroke-linecap:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 991.2383,807.10742 h 15.2026 c 7.2542,0 13.1349,5.88071 13.1349,13.13494 v 81.2156 c 0,7.25423 -5.8807,13.13494 -13.1349,13.13494 H 829.6162 c -8.38085,0 -16.38848,-3.46639 -22.12405,-9.57719 l -32.4645,-34.58836 c -5.054,-5.38465 -5.054,-13.76973 0,-19.15438 l 32.4645,-34.58836 c 2.76755,-2.94861 6.06411,-5.28152 9.67633,-6.90639"
transform="matrix(0.97234154,0,0,1.1146056,-210.63707,-91.148873)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-2"
transform="matrix(1.1850569,0,0,1.5506213,-446.49347,-31.289502)"><tspan
x="876.12891"
y="573.06091"
id="tspan2">- signature type</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-8-5"
transform="matrix(1.1850569,0,0,1.5506213,-445.46666,-0.49048871)"><tspan
x="876.12891"
y="573.06091"
id="tspan3">- additional metadata</tspan></text></g><g
id="g10-8-7-3-0"
transform="matrix(0.36466383,0.22082643,-0.22082643,0.36466383,2930.9828,-2001.868)"
style="display:inline;fill:#c83737;stroke-width:1.7;stroke-dasharray:none"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-6-7-4"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9-0-8"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-1-6-0"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-9-4" /><path
id="path4-4-9-2-29"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-0-1-61"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5-9-1-5"
transform="matrix(1.0006928,0,0,0.99930768,1791.0981,-2221.7734)"><tspan
x="876.12891"
y="573.06091"
id="tspan4">Signature metadata</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:181.983;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2305.3945"
y="-262.66516"
id="text11-2-8-02-9-7-4"
transform="matrix(0.98944431,0,0,1.0106683,332.00968,-1477.0418)"><tspan
x="2305.3945"
y="-262.66516"
id="tspan6"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan5">OpenPGP </tspan></tspan><tspan
x="2305.3945"
y="-239.15969"
id="tspan9"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan7">signature </tspan><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan8">packet</tspan></tspan></text><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Square);paint-order:fill markers stroke"
d="m 2841.7159,-1632.5872 h 45.4049 l 0.5056,16.8377"
id="path252-2-0" /><path
style="display:inline;fill:none;fill-opacity:1;stroke:#baa600;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker98);paint-order:fill markers stroke"
d="m 2658.3196,-1712.0501 -0.1799,61.7927"
id="path252-2-0-1" /><g
id="g74-3"
transform="translate(1964.2617,-2235.6361)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-0-9"
transform="matrix(1.0006928,0,0,0.99930768,23.660794,59.513799)"><tspan
x="876.12891"
y="573.06091"
id="tspan10">Cryptographic signature</tspan></text></g><g
id="g48-6-7-7-3-3"
transform="matrix(0.29173574,-0.16572582,0.16572582,0.29173574,2175.6764,-1890.5361)"
style="display:inline"><g
id="g47-1-3-6-9-0"><path
id="rect72-5-1-1-4-4"
d="m 465.54003,1054.3166 25.38484,-19.1223 a 6.2319955,6.2319955 1.372191 0 1 7.73342,0.1853 l 22.40305,18.6225 a 17.856072,17.856072 64.867503 0 1 6.4418,13.7314 v 58.4004 a 9.8529047,9.8529047 135 0 1 -9.8529,9.8529 h -48.9481 a 9.8529047,9.8529047 45 0 1 -9.8529,-9.8529 v -58.4004 a 16.797717,16.797717 116.50469 0 1 6.69079,-13.4169 z"
style="fill:#ffffff;fill-opacity:1;stroke:#baa600;stroke-width:10;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
transform="matrix(0.44075795,-0.76341516,0.76341516,0.44075795,-557.60908,1109.4717)" /><g
id="g44-9-1-5-8-4"
transform="rotate(30.10635,504.1885,1346.6982)"
style="fill:#c83737"><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1236.656 26.84972,-0.038 v 0"
id="path43-4-9-0-1-4" /><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1249.1118 26.84972,-0.038 v 0"
id="path43-3-9-0-6-2-4" /><g
id="g73-0-5-5-9-7"
transform="matrix(0.31111753,0.56338248,-0.56338248,0.31111753,965.42419,500.4011)"><g
id="g10-8-9-6-0-3-6"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-1-7-8-9-3"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-7-7-1-0-1"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-7-4-2-8-7"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-0-2-8-5" /><path
id="path4-4-1-6-6-5-9"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-5-4-9-0-6"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g></g></g></g><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.49681;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:2.99361, 2.99361;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#ColoredDot-5);marker-end:url(#SemiCircleFilled-0);paint-order:fill markers stroke"
d="m 2537.6816,-1608.9588 68.4746,-0.029"
id="path252-2-3" /></g></g></svg>

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -0,0 +1,210 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 658.42688 323.06079"
version="1.1"
id="svg1"
width="658.42688"
height="323.06079"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
id="filter90-2-0-5-0"
x="-0.019782829"
y="-0.027737869"
width="1.042778"
height="1.0631807"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-3-6-2-4" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-7-8-5-0" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-5-9-4-8" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-9-2-7-5" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-2-6-4-1" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-2-6-4-6" /><feFlood
id="feFlood90-8-4-3-6"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-9-9-0-2"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-7-5-7-1"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-3-0-8-9"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-6-4-6-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer18"
style="display:inline"
transform="translate(-2438.4,1395.0202)"><g
id="layer32"
style="display:inline"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.478;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-2-0-5-0)"
id="rect99"
width="622.60052"
height="259.57294"
x="2459.1152"
y="-1351.6664"
rx="30.798866"
ry="24.603634"
transform="matrix(0.88680169,0,0,0.93912168,310.30933,-83.327534)" /><g
id="g11-8-3-1-1-3"
transform="matrix(0.81520336,0,0,0.81520336,1774.5633,-1506.5959)"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.61827;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-5-1"
width="357.45355"
height="59.990269"
x="920.04065"
y="155.65892" /><g
id="g4-7-0-4-5-9"
transform="matrix(1.018001,0,0,1,-27.722608,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.55521;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-4-4"
width="352.81458"
height="57.886284"
x="920.89868"
y="126.45267" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:438.074;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-8-06-5"
transform="matrix(0.85813569,0,0,0.85813569,101.95642,67.179281)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">OpenPGP signature packet&#10;</tspan></text></g><g
id="g5-7-9"
transform="matrix(0.75811721,0,0,0.62777915,2261.2825,-1727.103)"
style="display:inline;fill:#61a78d;fill-opacity:1;stroke-width:1.7;stroke-dasharray:none"><path
id="rect2-5-2-7"
style="display:inline;fill:#ede8c0;fill-opacity:0.6;stroke:none;stroke-width:1.475;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.95, 2.95;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 829.6162,807.10742 h 176.8247 a 13.134939,13.134939 45 0 1 13.1349,13.13494 v 81.2156 a 13.134939,13.134939 135 0 1 -13.1349,13.13494 H 829.6162 a 30.342731,30.342731 23.407104 0 1 -22.12405,-9.57719 l -32.4645,-34.58836 a 13.994242,13.994242 90 0 1 0,-19.15438 l 32.4645,-34.58836 a 30.342731,30.342731 156.5929 0 1 22.12405,-9.57719 z"
transform="matrix(1.0913493,0,0,1.1390201,-312.00721,-105.97179)" /><path
id="rect2-5-2-5-5"
style="display:inline;fill:none;fill-opacity:0.6;stroke:#c7b730;stroke-width:1.94683;stroke-linecap:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 769.77761,813.33976 h 16.59134 c 7.91687,0 14.33476,6.69825 14.33476,14.96096 v 92.5062 c 0,8.26272 -6.41789,14.96097 -14.33476,14.96097 h -192.9775 c -9.14644,0 -17.88556,-3.94829 -24.14507,-10.90862 l -35.4301,-39.39683 c -5.51568,-6.13323 -5.51568,-15.684 0,-21.81723 l 35.4301,-39.39683 c 3.02037,-3.35852 6.61807,-6.01576 10.56026,-7.86652" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-2-6"
transform="matrix(1.1850569,0,0,1.5506213,-446.49347,-28.103668)"><tspan
x="876.12891"
y="573.06091"
id="tspan3">- signature type</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-8-5-4"
transform="matrix(1.1850569,0,0,1.5506213,-445.46666,5.8811787)"><tspan
x="876.12891"
y="573.06091"
id="tspan4">- additional metadata</tspan></text></g><g
id="g10-8-7-3-0-2"
transform="matrix(0.36466383,0.22082643,-0.22082643,0.36466383,2968.2623,-1568.247)"
style="display:inline;fill:#c83737;stroke-width:1.7;stroke-dasharray:none"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-6-7-4-7"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9-0-8-0"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-1-6-0-3"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-9-4-4" /><path
id="path4-4-9-2-29-6"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-0-1-61-3"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g><rect
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.28313;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.56625, 2.56625;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect66-2-9-0-2"
width="226.51097"
height="151.81158"
x="2657.8003"
y="-1278.835"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5-9-1-5-6"
transform="matrix(1.0006928,0,0,0.99930768,1826.1146,-1784.4127)"><tspan
x="876.12891"
y="573.06091"
id="tspan5">Signature metadata</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.8271;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2702.6885"
y="-1251.6135"
id="text11-2-8-96-5-4-9-7"><tspan
id="tspan11-9-0-0-9-9-1-9"
x="2702.6885"
y="-1251.6135"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke-width:2.8271">Signature over:</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-81-4-7"
transform="matrix(1.0006928,0,0,0.99930768,1825.3807,-1804.6308)"><tspan
x="876.12891"
y="573.06091"
id="tspan6">Input data</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.4356px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:215.51;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.69647;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="834.39349"
y="430.00592"
id="text11-2-8-96-6-2-9"
transform="matrix(0.99242225,0,0,0.99242225,1829.3358,-1711.8868)"><tspan
x="834.39349"
y="430.00592"
id="tspan8"><tspan
style="font-style:italic;font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium Italic'"
id="tspan7">Signature</tspan></tspan></text></g></g></svg>

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,433 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 669.54462 399.87433"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="669.54462"
height="399.87433"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><marker
style="overflow:visible"
id="marker72"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path72" /></marker><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><marker
style="overflow:visible"
id="Triangle-7"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="0.5"
markerHeight="0.5"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-4" /></marker><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-6-4-1"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-4"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect73-6-4"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,4.9328368,0,1 @ F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,9.8529047,0,1 @ F,0,0,1,0,9.8529047,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90-4-4"
x="-0.019165826"
y="-0.028762213"
width="1.0414438"
height="1.0655139"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-6" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-2" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-89" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-60" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-7" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-01" /><feFlood
id="feFlood90-1-0"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-1"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-37"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-7"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-2"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="0.35355339"
inkscape:cx="885.29769"
inkscape:cy="637.81032"
inkscape:window-width="2560"
inkscape:window-height="1371"
inkscape:window-x="0"
inkscape:window-y="314"
inkscape:window-maximized="1"
inkscape:current-layer="layer11"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="false"><sodipodi:guide
position="1651.8664,-702.4329"
orientation="1,0"
id="guide358"
inkscape:locked="false" /><sodipodi:guide
position="1664.5068,-711.8359"
orientation="1,0"
id="guide359"
inkscape:locked="false" /><sodipodi:guide
position="1651.5192,-654.9884"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="1495.2613,-469.5932"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="2154.618,-469.5932"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="2154.618,-1413.4732"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="1495.2613,-1413.4732"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="1495.2613,-469.5932"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="2154.618,-469.5932"
orientation="943.88005,0"
id="guide366"
inkscape:locked="false" /><sodipodi:guide
position="2154.618,-1413.4732"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="1495.2613,-1413.4732"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /><inkscape:page
x="-1.8189391e-08"
y="2.0452917e-05"
width="669.54462"
height="399.87433"
id="page14"
margin="0"
bleed="0" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Chapter 4"
inkscape:highlight-color="#baa600"
transform="translate(-834.60301,-951.43534)"><g
inkscape:groupmode="layer"
id="layer27"
inkscape:label="Primary key metadata"
transform="translate(-7.8200073,-1.581665)"><path
id="rect65-3-8-5"
transform="matrix(0.97875728,0,0,1.3190511,51.767368,-158.80098)"
d="m 851.7972,875.02576 h 590.4649 c 14.4536,0 26.0895,8.60482 26.0895,19.29332 v 211.74182 c 0,10.6885 -11.6359,19.2933 -26.0895,19.2933 H 851.7972 c -14.45355,0 -26.08944,-8.6048 -26.08944,-19.2933 V 894.31908 c 0,-10.6885 11.63589,-19.29332 26.08944,-19.29332 z"
style="display:inline;mix-blend-mode:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.312;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-4-4)" /><g
id="g11-2-9-1"
transform="matrix(0.86376245,0,0,0.86376245,129.89481,832.36448)"
inkscape:label="Diagramm Header"><g
id="g4-0-8-9"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.24344;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-6-4-6"
width="305.90616"
height="51.46468"
x="926.60065"
y="114.98305" /><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.20455;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-6-8-2"
width="304.04672"
height="50"
x="917.30688"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="932.19019"
y="158.38867"
id="text1-64-1-1"><tspan
sodipodi:role="line"
id="tspan1-6-0-2"
x="932.19019"
y="158.38867">Primary key metadata</tspan></text></g></g><g
id="g15"
transform="translate(-85.138855,64.590699)"><g
id="g40-8-4"
style="display:inline;stroke-width:1.20436"
inkscape:label="Primary"
transform="matrix(0.86571664,0,0,0.86451839,273.40301,970.82396)"><path
id="rect11-1-5"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;fill:#195962;fill-opacity:0.1;stroke:#195962;stroke-width:5.29178;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:path-effect="#path-effect35-6-4-1"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
transform="matrix(0.92016709,0,0,0.69628804,50.430978,-3.7263769)" /><path
id="path2-3-2-9"
style="display:inline;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.31599962,0,0,-0.31599962,1093.4198,442.23668)"
inkscape:path-effect="#path-effect32-0-3-1-5"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.21527;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="867.04596"
y="218.48082"
id="text11-9-35"><tspan
sodipodi:role="line"
id="tspan11-3-7"
x="867.04596"
y="218.48082"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:4.21527">- key creation time</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.21527;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="861.96753"
y="161.23524"
id="text11-2-9-0"><tspan
sodipodi:role="line"
id="tspan11-9-08-81"
x="861.96753"
y="161.23524"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:4.21527">Component Key (primary)</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:17.9px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.21527;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="559.75104"
y="408.97891"
id="text11-3-8-9"
transform="matrix(0.95580583,0,0,0.95580583,312.44807,-124.51895)"
inkscape:label="fingerprint primary"><tspan
x="559.75104"
y="408.97891"
id="tspan2"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan1">AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6</tspan> </tspan><tspan
x="559.75104"
y="428.39824"
id="tspan4"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan3">7F33 00F9 FB0E C457 378C D29F 1026 98B3</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.21527;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="134.45857"
y="-1217.4016"
id="text11-2-8-0-4-8-9"
transform="rotate(90)"><tspan
sodipodi:role="line"
id="tspan11-9-0-2-76-5-02"
x="134.45857"
y="-1217.4016"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start;stroke-width:4.21527">certification</tspan></text><path
style="fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-0"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect71-4"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
transform="translate(-0.27721931,-17.354643)" /></g><path
id="path15"
style="fill:none;stroke:#195962;stroke-width:3.75449;stroke-linecap:round;stroke-dasharray:none;marker-start:url(#Triangle-7);paint-order:fill markers stroke"
d="m 1306.9211,1073.2303 c 5.3163,-10.8855 14.844,-18.5865 27.0421,-16.3082 10.0549,1.878 20.7617,14.3197 18.4502,26.8209 -1.5563,8.4176 -5.5504,13.5049 -12.1776,16.7969"
sodipodi:nodetypes="cssc" /><g
id="g48-6-7"
transform="matrix(0.33060328,-0.18780524,0.18780524,0.33060328,951.55372,757.64208)"><g
id="g47-1-3"
inkscape:label="Signature Tag Vers2"><path
id="rect72-5-1"
d="m 465.54003,1054.3166 25.38484,-19.1223 a 6.2319955,6.2319955 1.372191 0 1 7.73342,0.1853 l 22.40305,18.6225 a 17.856072,17.856072 64.867503 0 1 6.4418,13.7314 v 58.4004 a 9.8529047,9.8529047 135 0 1 -9.8529,9.8529 h -48.9481 a 9.8529047,9.8529047 45 0 1 -9.8529,-9.8529 v -58.4004 a 16.797717,16.797717 116.50469 0 1 6.69079,-13.4169 z"
style="fill:#ffffff;fill-opacity:1;stroke:#baa600;stroke-width:10;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
sodipodi:nodetypes="cccccc"
inkscape:path-effect="#path-effect73-6-4"
inkscape:original-d="m 458.84924,1059.3568 36.01565,-27.1305 32.63825,27.1305 v 76.63 h -68.6539 z"
transform="matrix(0.44075795,-0.76341516,0.76341516,0.44075795,-557.60908,1109.4717)" /><g
id="g44-9-1"
transform="rotate(30.10635,504.1885,1346.6982)"
style="fill:#c83737"><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1236.656 26.84972,-0.038 v 0"
id="path43-4-9" /><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1249.1118 26.84972,-0.038 v 0"
id="path43-3-9-0" /><g
id="g73-0-5"
transform="matrix(0.31111753,0.56338248,-0.56338248,0.31111753,965.42419,500.4011)"
inkscape:label="Signature Tag"><g
id="g10-8-9-6"
transform="rotate(-30,1140.748,355.65631)"
inkscape:label="Signature vers2"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-1-7"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-7-7"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-7-4"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-0"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-1-6"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-5-4"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g></g></g></g></g></g><g
id="g67-7"
transform="translate(920.90313,829.17395)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="337.26321"
y="232.01677"
id="text11-2-8-02-9-5"
transform="scale(0.98944431,1.0106683)"><tspan
sodipodi:role="line"
id="tspan11-9-0-7-1-1"
x="337.26321"
y="232.01677"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:18.6667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:1.7;stroke-dasharray:none">Direct key signature</tspan></text><path
style="opacity:1;fill:none;fill-opacity:1;stroke:#baa600;stroke-width:1.8;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:3.6, 3.6;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker72);paint-order:fill markers stroke"
d="m 416.11178,241.52549 0.03,78.85694 -62.4016,0.27607"
id="path252-0"
sodipodi:nodetypes="ccc" /></g></g></g></svg>

After

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1,825 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 663.78955 680.21296"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="663.78955"
height="680.21295"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect83"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,1.2204827,0,1 @ F,0,0,1,0,1.2204827,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,1.2204827,0,1 @ F,0,0,1,0,1.2204827,0,1 @ F,0,0,1,0,1.2204827,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><marker
style="overflow:visible"
id="Square"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path18" /></marker><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><marker
style="overflow:visible"
id="Triangle-7-0"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-4-2" /></marker><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90-4-61-89-1"
x="-0.019564407"
y="-0.011061264"
width="1.0423057"
height="1.0251951"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-0-26-0" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-4-64-6" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-2-9-3" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-2-5-2" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-20-0-0" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-5-48-6" /><feFlood
id="feFlood90-1-5-7-1"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-2-1-5"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-9-7-5"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-02-2-4"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-83-7-7"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-9-1-1-6"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-63-9-0-5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-08-9-6-6-6"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect224-3-5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.1282343,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect224-3-4-2"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0.1282343,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect79-4-6-5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,0,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect4-5-5-5-1-4"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect79-4-0"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,0,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><marker
style="overflow:visible"
id="Triangle-7-0-8"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-4-2-9" /></marker><marker
style="overflow:visible"
id="marker72-37-76"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path72-3-4" /></marker><marker
style="overflow:visible"
id="Triangle-3-2-3-6-3"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-3-94-7-1-0" /></marker><marker
style="overflow:visible"
id="marker72-30"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path72-9" /></marker></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="8"
inkscape:cx="4229.0625"
inkscape:cy="590.6875"
inkscape:window-width="1677"
inkscape:window-height="1243"
inkscape:window-x="270"
inkscape:window-y="404"
inkscape:window-maximized="0"
inkscape:current-layer="layer26"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="false"><sodipodi:guide
position="-1346.899,-1626.4734"
orientation="1,0"
id="guide358"
inkscape:locked="false" /><sodipodi:guide
position="-1334.2586,-1635.8764"
orientation="1,0"
id="guide359"
inkscape:locked="false" /><sodipodi:guide
position="-1347.2462,-1579.0288"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="-1503.5041,-1393.6336"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="-844.1474,-1393.6336"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="-844.1474,-2337.5137"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="-1503.5041,-2337.5137"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="-1503.5041,-1393.6336"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="-844.1474,-1393.6336"
orientation="943.88005,0"
id="guide366"
inkscape:locked="false" /><sodipodi:guide
position="-844.1474,-2337.5137"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="-1503.5041,-2337.5137"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /><inkscape:page
x="1.4851338e-05"
y="3.4517864e-09"
width="663.78955"
height="680.21295"
id="page224"
margin="0"
bleed="0"
inkscape:export-filename="./Signature_Verification.png"
inkscape:export-xdpi="94.510002"
inkscape:export-ydpi="94.510002" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer18"
inkscape:label="Chapter 6"
style="display:inline"
transform="translate(-3829.034,-27.394844)"><g
inkscape:groupmode="layer"
id="layer26"
inkscape:label="Signature verification"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.221;stroke-linecap:butt;stroke-dasharray:2.442, 1.221;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-4-61-89-1)"
id="rect91-8"
width="629.55139"
height="650.92017"
x="3079.1414"
y="112.52307"
rx="10.627121"
ry="11.163321"
transform="matrix(1,0,0,0.9519678,764.21457,-35.276832)" /><g
id="g11-8-3-1-10-8"
transform="matrix(0.86376245,0,0,0.86376245,3095.2731,-92.728429)"
inkscape:label="Diagramm Header"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.36567;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-6-4"
width="291.81003"
height="59.990269"
x="920.04065"
y="155.65892" /><g
id="g4-7-0-4-3-3"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.32538;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-2-1"
width="292.20065"
height="57.886284"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:383.857;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-8-06-4"
transform="matrix(0.85813569,0,0,0.85813569,117.0538,26.328688)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">Signature verification</tspan></text></g></g><g
id="g6-4"
transform="matrix(0.74358354,0,0,0.74358354,1669.5153,-2.6827089)"
inkscape:label="component key"
style="display:inline"><g
id="g41-5-0-9"
style="display:inline"
inkscape:label="Component key"
transform="matrix(0.91153027,0,0,0.91153027,2600.8759,-135.235)"><path
id="rect11-2-96-6-5"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;fill:#ffffff;fill-opacity:1;stroke:#195962;stroke-width:4.39384;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
transform="matrix(0.92016709,0,0,0.69628804,56.855601,194.47989)"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
inkscape:path-effect="#path-effect35-9-1-1-6" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="870.22443"
y="359.37485"
id="text11-2-8-2-1-0"><tspan
sodipodi:role="line"
id="tspan11-9-0-1-5-4"
x="870.22443"
y="359.37485"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Component Key</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1025.9941"
y="312.84375"
id="text11-2-8-2-1-1-8"><tspan
sodipodi:role="line"
id="tspan11-9-0-1-5-0-7"
x="1025.9941"
y="312.84375"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Signer public key</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.5595px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.06237;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="872.33105"
y="416.93719"
id="text11-9-0-7-4-1"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-5-5-7"
x="872.33105"
y="416.93719"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:20.5595px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:4.06237">- key creation time</tspan></text><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-5-3-2-2"
sodipodi:nodetypes="ccc"
transform="matrix(0.96439285,0,0,0.96305804,36.49511,189.52526)"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
inkscape:path-effect="#path-effect71-63-9-0-5" /><path
id="path2-3-2-6-6-21-54-7"
style="display:inline;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.26930483,0,0,-0.2689321,1105.9745,596.9577)"
inkscape:path-effect="#path-effect32-0-3-1-08-9-6-6-6"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /></g></g><g
id="g228-2"
style="display:inline"
inkscape:label="arrow sign dotted"
transform="translate(708.82911,-12.217026)"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.13346;stroke-dasharray:1.13346, 2.26694;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect87-4-0"
width="194.85252"
height="48.880363"
x="3553.0486"
y="452.55536"
rx="10.627121"
ry="10.627121" /><path
d="m 3473.4915,343.48611 c -0.401,-0.14517 -0.75,-0.25 -0.75,-0.86667 v -5.06668 c 0,-1.16667 -0.6,-1.7 -1.75,-1.7 h -0.4166 v 0.31667 h 0.5333 c 0.9,0 1.3,0.5 1.3,1.38333 v 5.06668 c 0,0.61667 0.1667,0.88334 0.5333,1.03334 -0.3666,0.15 -0.5333,0.41666 -0.5333,1.03333 v 5.06668 c 0,0.88333 -0.4,1.38333 -1.3,1.38333 h -0.5333 v 0.31667 h 0.4166 c 1.15,0 1.75,-0.53333 1.75,-1.7 v -5.06668 c 0,-0.61667 0.338,-0.75729 0.75,-0.88333 l 0.5115,-0.12822 a 0.03192943,0.03192943 89.909643 0 0 -1e-4,-0.062 z"
id="text223-2-6"
style="font-weight:100;font-size:16.6667px;line-height:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Thin';letter-spacing:3.34px;white-space:pre;inline-size:29.94;display:inline;fill:#195962;fill-opacity:1;stroke-width:2.091;stroke-linecap:round;paint-order:fill markers stroke"
transform="matrix(4.7724794,0,0,5.6281828,-13200.527,-1410.1445)"
aria-label="}"
sodipodi:nodetypes="csssccssscsssccsssccc"
inkscape:original-d="m 3473.4915,343.48611 c -0.401,-0.14517 -0.75,-0.25 -0.75,-0.86667 v -5.06668 c 0,-1.16667 -0.6,-1.7 -1.75,-1.7 h -0.4166 v 0.31667 h 0.5333 c 0.9,0 1.3,0.5 1.3,1.38333 v 5.06668 c 0,0.61667 0.1667,0.88334 0.5333,1.03334 -0.3666,0.15 -0.5333,0.41666 -0.5333,1.03333 v 5.06668 c 0,0.88333 -0.4,1.38333 -1.3,1.38333 h -0.5333 v 0.31667 h 0.4166 c 1.15,0 1.75,-0.53333 1.75,-1.7 v -5.06668 c 0,-0.61667 0.338,-0.75729 0.75,-0.88333 l 0.6359,-0.1594 z"
inkscape:path-effect="#path-effect224-3-5" /><path
d="m 3473.4915,343.48611 c -0.401,-0.14517 -0.75,-0.25 -0.75,-0.86667 v -5.06668 c 0,-1.16667 -0.6,-1.7 -1.75,-1.7 h -0.4166 v 0.31667 h 0.5333 c 0.9,0 1.3,0.5 1.3,1.38333 v 5.06668 c 0,0.61667 0.1667,0.88334 0.5333,1.03334 -0.3666,0.15 -0.5333,0.41666 -0.5333,1.03333 v 5.06668 c 0,0.88333 -0.4,1.38333 -1.3,1.38333 h -0.5333 v 0.31667 h 0.4166 c 1.15,0 1.75,-0.53333 1.75,-1.7 v -5.06668 c 0,-0.61667 0.338,-0.75729 0.75,-0.88333 l 0.5115,-0.12822 a 0.03192943,0.03192943 89.909643 0 0 -1e-4,-0.062 z"
id="text223-2-1-1"
style="font-weight:100;font-size:16.6667px;line-height:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Thin';letter-spacing:3.34px;white-space:pre;inline-size:29.94;display:inline;fill:#195962;fill-opacity:1;stroke-width:2.091;stroke-linecap:round;paint-order:fill markers stroke"
transform="matrix(5.7510274,0,0,5.0200438,-16600.029,-1416.6058)"
aria-label="}"
sodipodi:nodetypes="csssccssscsssccsssccc"
inkscape:original-d="m 3473.4915,343.48611 c -0.401,-0.14517 -0.75,-0.25 -0.75,-0.86667 v -5.06668 c 0,-1.16667 -0.6,-1.7 -1.75,-1.7 h -0.4166 v 0.31667 h 0.5333 c 0.9,0 1.3,0.5 1.3,1.38333 v 5.06668 c 0,0.61667 0.1667,0.88334 0.5333,1.03334 -0.3666,0.15 -0.5333,0.41666 -0.5333,1.03333 v 5.06668 c 0,0.88333 -0.4,1.38333 -1.3,1.38333 h -0.5333 v 0.31667 h 0.4166 c 1.15,0 1.75,-0.53333 1.75,-1.7 v -5.06668 c 0,-0.61667 0.338,-0.75729 0.75,-0.88333 l 0.6359,-0.1594 z"
inkscape:path-effect="#path-effect224-3-4-2" /></g><path
id="rect58-0-2-5"
style="display:inline;fill:#61a78d;fill-opacity:0.33;fill-rule:nonzero;stroke:#61a78d;stroke-width:2.85607;stroke-linecap:butt;stroke-miterlimit:0;stroke-dasharray:8.5682, 2.85607;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 2531.3329,-320.12472 h 291.9322 a 5.1440615,5.1440615 135 0 0 5.1441,-5.14406 v -22.84921 a 1.1396031,1.1396031 167.50858 0 1 2.1726,-0.48131 l 63.6931,136.69723 a 11.040104,11.040104 90 0 1 0,9.3255 l -63.6931,136.69722 a 1.1396031,1.1396031 12.491423 0 1 -2.1726,-0.481308 v -27.381167 a 5.1440615,5.1440615 45 0 0 -5.1441,-5.144061 h -291.9322 a 5.1440615,5.1440615 45 0 1 -5.1441,-5.144064 v -210.95071 a 5.1440615,5.1440615 135 0 1 5.1441,-5.14406 z"
sodipodi:nodetypes="cccscccc"
inkscape:path-effect="#path-effect79-4-6-5"
inkscape:original-d="m 2526.1888,-320.12472 h 302.2204 v -33.13733 l 68.0383,146.02273 -68.0383,146.022724 v -37.66929 h -302.2204 z"
transform="matrix(0,0.41410665,-0.33511663,0,4299.0927,-591.79462)" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.3446;stroke-dasharray:1.3446, 2.68923;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect87-9"
width="196.87085"
height="48.495239"
x="4257.3403"
y="502.84811"
rx="10.627121"
ry="10.627121" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.3333px;line-height:1.3;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:218.136;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="1840.4709"
y="784.19983"
id="text11-2-8-02-9-0-0-4-4"
transform="matrix(0.98944429,0,0,1.0106683,2453.717,-277.50253)"><tspan
x="1840.4709"
y="784.19983"
id="tspan3"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan2">The cryptographic signature is </tspan></tspan><tspan
x="1840.4709"
y="799.03759"
id="tspan5"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan4">verified against the hash digest, </tspan></tspan><tspan
x="1840.4709"
y="813.87535"
id="tspan7"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan6">using the public key of the signer.</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.4807px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:center;text-anchor:middle;white-space:pre;inline-size:118.757;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="919.50494"
y="161.23524"
id="text11-2-0-1-6-3-6-1"
transform="matrix(0.73661377,0,0,0.73661377,3691.1961,352.43123)"><tspan
x="919.50494"
y="161.23524"
id="tspan9"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan8">Signature</tspan><tspan
y="161.23524"
id="tspan10"> </tspan></tspan><tspan
x="919.50494"
y="179.46961"
id="tspan13"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan12">verification</tspan><tspan
y="179.46961"
id="tspan14"> </tspan></tspan><tspan
x="919.50494"
y="197.70397"
id="tspan16"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan15">mechanism</tspan></tspan></text><g
id="g227-6"
transform="translate(751.0601,-208.97518)"
inkscape:label="hash digest"
style="display:inline"><rect
style="font-variation-settings:'wght' 700;fill:#ffffff;fill-opacity:1;stroke:#195962;stroke-width:1.391;stroke-linecap:butt;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect227-7"
width="110.64162"
height="27.719458"
x="3523.3538"
y="503.7854" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.6658px;line-height:16.5008px;font-family:FreeMono;-inkscape-font-specification:'FreeMono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="559.75104"
y="408.97891"
id="text11-3-0-6-3"
transform="matrix(0.74579689,0,0,0.74579689,3113.2385,216.73147)"
inkscape:label="hash_digest"><tspan
x="559.75104"
y="408.97891"
id="tspan17">hash digest</tspan></text></g><g
id="g81-9-5"
inkscape:label="hashmechanism"
transform="matrix(0.6743091,0,0,0.67326717,2354.7796,446.13762)"
style="display:inline;stroke-width:1.48415"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:236.398;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="1840.4709"
y="784.19983"
id="text11-2-8-02-9-0-0-6"
transform="matrix(1.4673453,0,0,1.50114,-86.362661,-1462.0222)"><tspan
x="1840.4709"
y="784.19983"
id="tspan20"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan19">A hash digest is calculated from the </tspan></tspan><tspan
x="1840.4709"
y="798.47093"
id="tspan22"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan21">input data packets and the signature </tspan></tspan><tspan
x="1840.4709"
y="812.74205"
id="tspan24"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan23">metadata.</tspan></tspan></text></g><g
id="g225-2"
inkscape:label="Signature"
style="display:inline"
transform="translate(729.89719,-30.065835)"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#195962;stroke-width:1.17663;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.35327, 2.35327;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect66-2-9-0-9"
width="208.58572"
height="138.62863"
x="3130.1169"
y="447.30862"
ry="0" /><g
id="g5-7-3-3"
inkscape:label="tag"
transform="matrix(0.80767454,0,0,0.61640806,2701.2241,8.6087735)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"><path
id="rect2-5-2-8-9"
style="display:inline;fill:#ede8c0;fill-opacity:0.6;stroke:none;stroke-width:1.475;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.95, 2.95;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 829.6162,807.10742 h 176.8247 a 13.134939,13.134939 45 0 1 13.1349,13.13494 v 81.2156 a 13.134939,13.134939 135 0 1 -13.1349,13.13494 H 829.6162 a 30.342731,30.342731 23.407104 0 1 -22.12405,-9.57719 l -32.4645,-34.58836 a 13.994242,13.994242 90 0 1 0,-19.15438 l 32.4645,-34.58836 a 30.342731,30.342731 156.5929 0 1 22.12405,-9.57719 z"
sodipodi:nodetypes="cccccc"
inkscape:path-effect="#path-effect4-5-5-5-1-4"
inkscape:original-d="M 816.48126,807.10742 H 1019.5758 V 914.5929 H 816.48126 l -50.44272,-53.74274 z"
transform="matrix(0.97234154,0,0,1.1146056,-211.25935,-91.423526)"
inkscape:label="tag fill" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.4356px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:215.51;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.69647;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="834.39349"
y="430.00592"
id="text11-2-8-96-6-2-5-0"
transform="matrix(0.99242225,0,0,0.99242225,2303.2489,14.306034)"><tspan
x="834.39349"
y="430.00592"
id="tspan26"><tspan
style="font-style:italic;font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium Italic'"
id="tspan25">Signature type</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.8271;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="3148.0894"
y="469.64334"
id="text11-2-8-96-5-4-9-8-5"><tspan
sodipodi:role="line"
id="tspan11-9-0-0-9-9-1-7-0"
x="3148.0894"
y="469.64334"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke-width:2.8271">Signature over:</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-81-4-6-9"
transform="matrix(1.0006928,0,0,0.99930768,2270.7818,-81.662026)"><tspan
x="876.12891"
y="573.06091"
id="tspan27">Input data packets</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5-9-1-5-0-3"
transform="matrix(1.0006928,0,0,0.99930768,2271.5157,-61.464726)"><tspan
x="876.12891"
y="573.06091"
id="tspan28">Signature metadata</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-2-4-5"
transform="matrix(1.0006928,0,0,0.99930768,2303.9344,-35.58375)"><tspan
x="876.12891"
y="573.06091"
id="tspan29">- ...</tspan></text><g
id="g10-8-7-3-4-0-2"
transform="matrix(0.412288,0.24966579,-0.24966579,0.412288,3429.511,72.177589)"
inkscape:label="Signature vers2"
style="display:inline;fill:#c83737;stroke-width:1.7;stroke-dasharray:none"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-6-7-30-6-1"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9-0-7-8-7"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-1-6-8-9-8"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-9-6-2-5"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-9-2-8-6-7"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-0-1-8-6-4"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g></g><g
id="g369-8-2-0"
transform="matrix(0.80831517,0,0,0.63361776,1899.4324,-1195.1161)"
inkscape:label="Data packet"
style="display:inline;stroke-width:1.27995;stroke-dasharray:none"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#3e4349;stroke-width:2.98351;stroke-linecap:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="rect369-7-6-3"
width="257.73691"
height="110.39465"
x="2423.5447"
y="2296.6211"
rx="16.772133"
ry="16.772133" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.27995;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2765.1301"
y="2105.4155"
id="text11-2-8-9-7-8-4-2-5-2-0"
transform="scale(0.88536695,1.1294752)"><tspan
sodipodi:role="line"
id="tspan11-9-0-9-4-8-3-8-3-6-4"
x="2765.1301"
y="2105.4155"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Montserrat;-inkscape-font-specification:Montserrat;text-align:start;text-anchor:start;stroke-width:1.27995;stroke-dasharray:none">One or more packets</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.27995;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2762.8857"
y="2074.387"
id="text369-9-8-4"
transform="scale(0.88536694,1.1294752)"><tspan
sodipodi:role="line"
id="tspan369-3-9-4"
x="2762.8857"
y="2074.387"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:1.27995;stroke-dasharray:none">Input Data packets</tspan></text></g><g
id="g81-3-4"
inkscape:label="hash mechanism"
transform="matrix(0.62698582,0,0,0.62698582,2505.448,451.92362)"
style="display:inline;stroke:none;stroke-width:1.00002;stroke-dasharray:none"><path
id="rect58-0-7"
style="opacity:1;fill:#61a78d;fill-opacity:0.33;fill-rule:nonzero;stroke:#61a78d;stroke-width:2.85607;stroke-linecap:butt;stroke-miterlimit:0;stroke-dasharray:8.5682, 2.85607;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 2660.9776,-248.5318 h 162.2875 a 5.1440615,5.1440615 135 0 0 5.1441,-5.14406 v -22.84921 a 1.9968654,1.9968654 158.78436 0 1 3.4707,-1.34729 l 61.0969,66.83627 a 5.6272937,5.6272937 90.000002 0 1 0,7.59354 l -61.0969,66.83626 a 1.9968656,1.9968656 21.21564 0 1 -3.4707,-1.34729 v -27.38117 a 5.1440615,5.1440615 45 0 0 -5.1441,-5.14406 h -162.2875 a 5.1440615,5.1440615 45 0 1 -5.1441,-5.14406 l 0,-67.76487 a 5.1440615,5.1440615 135 0 1 5.1441,-5.14406 z"
sodipodi:nodetypes="cccscccc"
inkscape:path-effect="#path-effect79-4-0"
inkscape:original-d="m 2655.8335,-248.5318 h 172.5757 v -33.13733 l 68.0383,74.42981 -68.0383,74.4298 v -37.66929 h -172.5757 z"
transform="matrix(0.66208609,0,0,0.53430051,899.10229,-116.29125)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25.91px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:316.601;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.71395;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="861.96753"
y="161.23524"
id="text11-2-0-1-6-3-0-6"
transform="matrix(0.58346236,0,0,0.58346236,2161.736,-317.41988)"><tspan
x="861.96753"
y="161.23524"
id="tspan31"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan30">Hash mechanism</tspan></tspan></text></g><path
id="path226-6-3"
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.46145;stroke-linecap:butt;stroke-dasharray:2.92289, 1.46145;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Square);marker-end:url(#Triangle-7-0);paint-order:fill markers stroke"
d="m 4057.9648,460.79331 h 266.5147"
sodipodi:nodetypes="cc" /><path
d="M 4338.6108,316.95052 V 450.25136"
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.221;stroke-linecap:butt;stroke-dasharray:2.442, 1.221;stroke-dashoffset:0;stroke-opacity:1;marker-mid:url(#marker72-37-76);marker-end:url(#Triangle-3-2-3-6-3);paint-order:fill markers stroke"
id="path1-04-0" /><path
d="m 4089.4772,516.71507 h 86.5751 V 329.10101"
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.47258;stroke-linecap:butt;stroke-dasharray:2.94516, 1.47258;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle-7-0-8);paint-order:fill markers stroke"
id="path1-3-5"
sodipodi:nodetypes="ccc" /><path
id="path226-4"
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.47258;stroke-linecap:butt;stroke-dasharray:2.94516, 1.47258;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle-7-0-8);paint-order:fill markers stroke"
d="m 4089.4772,301.255 h 74.5751"
sodipodi:nodetypes="cc" /><path
id="path226-3-6"
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.221;stroke-linecap:butt;stroke-dasharray:2.442, 1.221;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker72-30);marker-mid:url(#marker72-37-76);marker-end:url(#Triangle-3-2-3-6-3);paint-order:fill markers stroke"
d="M 4399.5224,174.11567 V 449.41651"
sodipodi:nodetypes="cc" /><path
id="rect10-7-2"
style="display:inline;fill:#ee5937;fill-opacity:1;stroke-width:0.942875;stroke-dasharray:1.88575, 0.942875;paint-order:fill markers stroke"
d="m 4415.8901,621.79757 1.3246,1.31092 c 0.4116,0.40734 0.4116,1.06324 0,1.47056 l -27.3423,27.0587 c -0.4116,0.40736 -1.0744,0.40733 -1.486,0 l -1.3246,-1.31091 c -0.4116,-0.40735 -0.4116,-1.06321 0,-1.47057 l 27.3424,-27.05869 c 0.4115,-0.40732 1.0743,-0.40735 1.4859,-1e-5 z m -28.8282,1.31084 1.3246,-1.3109 c 0.4116,-0.40738 1.0744,-0.40735 1.486,0 l 27.3424,27.05868 c 0.4114,0.40736 0.4114,1.0632 0,1.47059 l -1.3247,1.31089 c -0.4115,0.40733 -1.0743,0.40735 -1.486,0 l -27.3423,-27.05869 c -0.4117,-0.40734 -0.4116,-1.06324 0,-1.47057 z" /><path
id="rect12"
style="fill:#61a78d;fill-opacity:1;stroke-width:1.35654;stroke-dasharray:2.71307, 1.35654;paint-order:fill markers stroke"
d="m 4295.3607,635.68507 0.9535,-0.91392 a 1.2466932,1.2466932 0.60863927 0 1 1.7442,0.0185 l 8.7883,8.78828 -2.6518,2.52751 -8.8462,-8.71917 a 1.1862137,1.1862137 90.401528 0 1 0.012,-1.70123 z m 29.9829,-8.88548 0.8941,0.92626 a 1.2368971,1.2368971 90.630328 0 1 -0.019,1.7374 l -18.5899,18.42985 a 1.2070415,1.2070415 0.56486236 0 1 -1.7163,-0.0169 l -1.7208,-1.77459 19.4387,-19.31976 a 1.2027792,1.2027792 0.59446264 0 1 1.7133,0.0178 z"
sodipodi:nodetypes="cccccccccc"
inkscape:path-effect="#path-effect83"
inkscape:original-d="m 4294.4795,636.52955 2.7159,-2.60288 9.6513,9.65129 -2.6518,2.52751 z m 30.0165,-10.60809 2.5893,2.68252 -20.3233,20.14839 -2.5704,-2.65079 z"
transform="matrix(1.2212962,0,0,1.2212962,-928.15127,-141.87383)" /><rect
style="fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.323;stroke-dasharray:2.646, 1.323;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect88"
width="47.922016"
height="2.3379211"
x="1626.0255"
y="4094.2585"
rx="1.0006391"
ry="1.1689606"
transform="matrix(0.50352606,-0.86398004,0.86396317,0.50355501,0,0)" /></g></g></svg>

After

Width:  |  Height:  |  Size: 57 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 94 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,603 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 658.46546 993.13795"
version="1.1"
id="svg1"
width="658.46545"
height="993.13794"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
id="filter90-4-61"
x="-0.02225768"
y="-0.013992302"
width="1.0481296"
height="1.0318714"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-0" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-4" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-2" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-2" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-20" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-5" /><feFlood
id="feFlood90-1-5"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-2"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-9"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-02"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-83"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer24"
style="display:inline"
transform="translate(-786.27984,-2503.7674)"><g
id="layer16"
transform="translate(-4.3343954)"><rect
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.412;stroke-linecap:round;stroke-miterlimit:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-4-61)"
id="rect446"
width="553.37305"
height="1021.0912"
x="2386.7319"
y="2180.8867"
rx="38.101555"
ry="38.101555"
transform="matrix(0.84832194,0,0,0.9163034,-1140.8832,545.01088)" /><g
id="g11-8-3-1-6-4"
transform="matrix(0.86376244,0,0,0.86376243,130.63747,2380.0116)"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.76566;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-4-2"
width="285.40222"
height="59.990265"
x="921.8681"
y="155.65892" /><g
id="g4-7-0-4-6-2"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.73667;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-3-6"
width="287.45547"
height="57.886292"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:383.857;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-8-7-4"
transform="matrix(0.85813569,0,0,0.85813569,114.63394,28.656092)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">Certificate packet list</tspan></text></g></g><g
id="g443"
transform="translate(-1488.9425,266.00395)"><g
id="g79-7-8-6"
transform="matrix(0.80831517,0,0,0.63361776,529.12328,1661.558)"><rect
style="fill:#c7b731;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect79-7-1-0"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect78-6-9-7"
width="283.02707"
height="92.102776"
x="2423.2341"
y="2296.4753"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.552"
y="2069.7559"
id="text11-2-8-9-7-8-4-97-0"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-82-1"
x="2750.552"
y="2069.7559"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Signature packet</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2752.4365"
y="2096.2305"
id="text11-2-8-9-7-8-4-2-5-0"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-8-3-1"
x="2752.4365"
y="2096.2305"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Montserrat;-inkscape-font-specification:Montserrat;text-align:start;text-anchor:start;stroke-width:3.75261">Subkey binding signature</tspan></text><g
id="g73-6-9-4-3"
transform="matrix(0.19150066,0.44433412,-0.34830225,0.24430011,2996.4519,1796.4682)"
style="display:inline;fill:#c83737"><g
id="g10-8-2-0-9-7"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-9-6-02-7"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-90-8-0-2"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-8-7-19-6"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-13-9-6-45" /><path
id="path4-4-11-0-2-2"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-03-3-1-0"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g></g><g
id="g369-4-2"
transform="matrix(0.80831517,0,0,0.63361776,529.4319,1585.8138)"><rect
style="fill:#006961;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect368-7-9"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect369-9-0"
width="283.02707"
height="92.102776"
x="2423.4714"
y="2296.5498"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.1816"
y="2069.4631"
id="text369-3-9"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan369-9-9"
x="2750.1816"
y="2069.4631"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Public-Subkey packet</tspan></text><path
id="path369-2-4"
style="display:inline;fill:none;stroke:#006961;stroke-width:14.27;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
transform="matrix(0.13903626,0,0,-0.17712508,2649.4318,2491.7193)" /></g></g><g
id="g444"
transform="translate(-1488.8182,272.73325)"><g
id="g79-7-8-1"
transform="matrix(0.80831517,0,0,0.63361776,528.99894,1480.4427)"><rect
style="fill:#c7b731;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect79-7-1-9"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect78-6-9-0"
width="283.02707"
height="92.102776"
x="2423.2341"
y="2296.4753"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.552"
y="2069.7559"
id="text11-2-8-9-7-8-4-97-5"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-82-6"
x="2750.552"
y="2069.7559"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Signature packet</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2752.4365"
y="2096.2305"
id="text11-2-8-9-7-8-4-2-5-7"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-8-3-7"
x="2752.4365"
y="2096.2305"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Montserrat;-inkscape-font-specification:Montserrat;text-align:start;text-anchor:start;stroke-width:3.75261">Subkey binding signature</tspan></text><g
id="g73-6-9-4-4"
transform="matrix(0.19150066,0.44433412,-0.34830225,0.24430011,2996.4519,1796.4682)"
style="display:inline;fill:#c83737"><g
id="g10-8-2-0-9-0"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-9-6-02-6"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-90-8-0-4"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-8-7-19-7"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-13-9-6-4" /><path
id="path4-4-11-0-2-8"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-03-3-1-5"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g></g><g
id="g369-4-8"
transform="matrix(0.80831517,0,0,0.63361776,529.30756,1404.6985)"><rect
style="fill:#006961;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect368-7-2"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect369-9-6"
width="283.02707"
height="92.102776"
x="2423.4714"
y="2296.5498"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.1816"
y="2069.4631"
id="text369-3-0"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan369-9-6"
x="2750.1816"
y="2069.4631"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Public-Subkey packet</tspan></text><path
id="path369-2-6"
style="display:inline;fill:none;stroke:#006961;stroke-width:14.27;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
transform="matrix(0.13903626,0,0,-0.17712508,2649.4318,2491.7193)" /></g></g><g
id="g442"
transform="translate(-1488.997,273.21615)"><g
id="g79-7-8"
transform="matrix(0.80831517,0,0,0.63361776,529.17772,1305.5739)"><rect
style="fill:#c7b731;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect79-7-1"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect78-6-9"
width="283.02707"
height="92.102776"
x="2423.2341"
y="2296.4753"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.552"
y="2069.7559"
id="text11-2-8-9-7-8-4-97"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-82"
x="2750.552"
y="2069.7559"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Signature packet</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2752.4365"
y="2096.2305"
id="text11-2-8-9-7-8-4-2-5"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-8-3"
x="2752.4365"
y="2096.2305"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Montserrat;-inkscape-font-specification:Montserrat;text-align:start;text-anchor:start;stroke-width:3.75261">Subkey binding signature</tspan></text><g
id="g73-6-9-4"
transform="matrix(0.19150066,0.44433412,-0.34830225,0.24430011,2996.4519,1796.4682)"
style="display:inline;fill:#c83737"><g
id="g10-8-2-0-9"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-9-6-02"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-90-8-0"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-8-7-19"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-13-9-6" /><path
id="path4-4-11-0-2"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-03-3-1"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g></g><g
id="g369-4"
transform="matrix(0.80831517,0,0,0.63361776,529.48634,1229.8297)"><rect
style="fill:#006961;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect368-7"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect369-9"
width="283.02707"
height="92.102776"
x="2423.4714"
y="2296.5498"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.1816"
y="2069.4631"
id="text369-3"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan369-9"
x="2750.1816"
y="2069.4631"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Public-Subkey packet</tspan></text><path
id="path369-2"
style="display:inline;fill:none;stroke:#006961;stroke-width:14.27;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
transform="matrix(0.13903626,0,0,-0.17712508,2649.4318,2491.7193)" /></g></g><g
id="g445"
transform="translate(-1597.723,98.430545)"><g
id="g79-7-4"
transform="matrix(0.80831517,0,0,0.63361776,623.30495,1229.9197)"><rect
style="fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect79-7-0"
width="301.79688"
height="101.84401"
x="2439.5144"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect78-6-5"
width="283.02707"
height="92.102776"
x="2441.6182"
y="2296.9167"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2771.1719"
y="2069.2051"
id="text11-2-8-9-7-8-4-9"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-4"
x="2771.1719"
y="2069.2051"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">User ID packet </tspan></text><path
id="path1-28-9-6-4-2-6"
style="fill:#3e4349;stroke-width:2.00626;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 2694.3444,2365.1206 h 15.9963 c 0.7715,0 1.3969,0.8033 1.3969,1.7942 v 0.4342 c 0,0.9909 -0.6254,1.7942 -1.3969,1.7942 h -15.9963 c -0.7715,0 -1.3968,-0.8033 -1.3968,-1.7942 v -0.4342 c 0,-0.9909 0.6253,-1.7942 1.3968,-1.7942 z m 0,-7.1946 h 15.9963 c 0.7715,0 1.3969,0.8033 1.3969,1.7942 v 0.4343 c 0,0.9908 -0.6254,1.7942 -1.3969,1.7942 h -15.9963 c -0.7715,0 -1.3968,-0.8033 -1.3968,-1.7942 v -0.4343 c 0,-0.9909 0.6253,-1.7942 1.3968,-1.7942 z m 0,-7.1943 h 15.9963 c 0.7715,0 1.3969,0.8032 1.3969,1.794 v 0.4343 c 0,0.9908 -0.6254,1.7941 -1.3969,1.7941 h -15.9963 c -0.7715,0 -1.3968,-0.8033 -1.3968,-1.7941 v -0.4343 c 0,-0.9908 0.6253,-1.794 1.3968,-1.794 z m -5.6436,21.2369 c -17.8435,0 0.5145,0.076 -18.7401,0 0,-5.4957 3.6705,-9.9508 9.37,-9.9508 5.6997,0 9.3701,4.455 9.3701,9.9508 z m -3.6979,-18.9498 c 0,3.9964 -2.5395,7.2361 -5.6722,7.2361 -3.1326,0 -5.6721,-3.2398 -5.6721,-7.2361 0,-3.9964 2.5395,-7.2361 5.6721,-7.2361 3.1327,0 5.6722,3.2397 5.6722,7.2361 z" /></g><g
id="g79-7-2"
transform="matrix(0.80831517,0,0,0.63361776,638.00758,1305.9735)"><rect
style="fill:#c7b731;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect79-7-6"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect78-6-52"
width="283.02707"
height="92.102776"
x="2423.2341"
y="2296.4753"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.552"
y="2069.7559"
id="text11-2-8-9-7-8-4-6"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-5"
x="2750.552"
y="2069.7559"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Signature packet</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.9732px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:248.942;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2749.6418"
y="2096.2305"
id="text11-2-8-9-7-8-4-2-8"
transform="scale(0.88536694,1.1294752)"><tspan
x="2749.6418"
y="2096.2305"
id="tspan3"><tspan
style="font-family:Montserrat;-inkscape-font-specification:Montserrat"
id="tspan2">Certifying self-signature for User ID</tspan></tspan></text><g
id="g73-6-9-9"
transform="matrix(0.19150066,0.44433412,-0.34830225,0.24430011,2996.4519,1796.4682)"
style="display:inline;fill:#c83737"><g
id="g10-8-2-0-6"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-9-6-0"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-90-8-4"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-8-7-1"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-13-9-0" /><path
id="path4-4-11-0-4"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-03-3-8"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g></g></g><g
id="g446"
transform="translate(-1702.822,103.67594)"><g
id="g79-7"
transform="matrix(0.80831517,0,0,0.63361776,743.30584,1126.0325)"><rect
style="fill:#c7b731;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect79-7"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect78-6"
width="283.02707"
height="92.102776"
x="2423.2341"
y="2296.4753"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.552"
y="2069.7559"
id="text11-2-8-9-7-8-4"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3"
x="2750.552"
y="2069.7559"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Signature packet</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2749.6418"
y="2096.2305"
id="text11-2-8-9-7-8-4-2"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan11-9-0-9-4-8-3-8"
x="2749.6418"
y="2096.2305"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.7678px;font-family:Montserrat;-inkscape-font-specification:Montserrat;text-align:start;text-anchor:start;stroke-width:3.75261">Direct Key Signature</tspan></text><g
id="g73-6-9"
transform="matrix(0.19150066,0.44433412,-0.34830225,0.24430011,2996.4519,1796.4682)"
style="display:inline;fill:#c83737"><g
id="g10-8-2-0"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-9-6"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-90-8"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-8-7"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-13-9" /><path
id="path4-4-11-0"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-03-3"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g></g><g
id="g369"
transform="matrix(0.80831517,0,0,0.63361776,743.00836,1050.5824)"><rect
style="fill:#006961;fill-opacity:1;stroke:none;stroke-width:1.06648;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect368"
width="301.79688"
height="101.84401"
x="2421.2002"
y="2293.9956"
rx="0"
ry="0" /><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.73276;stroke-linecap:round;stroke-miterlimit:0;paint-order:fill markers stroke"
id="rect369"
width="283.02707"
height="92.102776"
x="2423.4714"
y="2296.5498"
rx="0"
ry="0" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.4286px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.75261;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="2750.1816"
y="2069.4631"
id="text369"
transform="scale(0.88536694,1.1294752)"><tspan
id="tspan369"
x="2750.1816"
y="2069.4631"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:24.4286px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.75261">Public-Key packet</tspan></text><path
id="path369"
style="display:inline;fill:none;stroke:#006961;stroke-width:14.27;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
transform="matrix(0.13903626,0,0,-0.17712508,2649.4318,2488.5628)" /></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 67 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 657.02161 189.17072"
version="1.1"
id="svg1"
width="657.02161"
height="189.17072"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><marker
style="overflow:visible"
id="Square-4"
refX="0"
refY="0"
orient="auto"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path18-3" /></marker><filter
style="color-interpolation-filters:sRGB"
id="filter90-2-0-5"
x="-0.035144769"
y="-0.028762207"
width="1.0759963"
height="1.0655139"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-3-6-2" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-7-8-5" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-5-9-4" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-9-2-7" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-2-6-4" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-2-6-4" /><feFlood
id="feFlood90-8-4-3"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-9-9-0"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-7-5-7"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-3-0-8"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-6-4-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer18"
style="display:inline"
transform="translate(-2435.5118,2102.3859)"><g
id="layer25"><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.31168;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-2-0-5)"
id="rect65-7-3"
width="642.6438"
height="250.32849"
x="825.70776"
y="875.02576"
transform="matrix(0.67681622,0,0,0.57271382,1980.6417,-2579.5677)"
d="m 860.41563,875.02576 h 573.22807 c 19.2282,0 34.7079,18.29346 34.7079,41.01672 v 168.29502 c 0,22.7233 -15.4797,41.0167 -34.7079,41.0167 H 860.41563 c -19.22816,0 -34.70787,-18.2934 -34.70787,-41.0167 V 916.04248 c 0,-22.72326 15.47971,-41.01672 34.70787,-41.01672 z"
ry="41.016724"
rx="34.707863" /><g
id="g10-8-7-3-0-9"
transform="matrix(0.55050909,0.33336718,-0.33336718,0.55050909,2745.1539,-2546.3344)"
style="display:inline;fill:#c83737;stroke-width:1.7;stroke-dasharray:none"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-6-7-4-9"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9-0-8-3"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-1-6-0-6"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-9-4-0" /><path
id="path4-4-9-2-29-5"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-0-1-61-0"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.8, 2.8;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Square-4);paint-order:fill markers stroke"
d="m 2615.6864,-2004.3631 110.2489,0.03"
id="path252-3" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2754.6633"
y="-1978.2242"
id="text11-2-8-02-9-7"
transform="scale(0.98944431,1.0106683)"><tspan
id="tspan11-9-0-7-1-4"
x="2754.6633"
y="-1978.2242"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:18.6667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:1.7;stroke-dasharray:none">Cryptographic signature</tspan></text></g></g></svg>

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 416 KiB

View File

@ -0,0 +1,486 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 658.0929 841.66761"
version="1.1"
id="svg1"
width="658.0929"
height="841.6676"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
id="filter90-4-61-8-4"
x="-0.022628327"
y="-0.0092798643"
width="1.048931"
height="1.0211375"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-0-2-4" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-4-6-3" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-2-0-9" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-2-6-7" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-20-6-2" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-5-4-5" /><feFlood
id="feFlood90-1-5-6-8"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-2-2-9"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-9-8-0"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-02-9-2"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-83-6-4"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer24"
style="display:inline"
transform="translate(-790.0426,-5192.8601)"><g
id="layer21"
style="display:inline"
transform="translate(48.461312)"><g
id="g11-8-3-1-6-4-0"
transform="matrix(0.86398596,0,0,0.84775765,84.236519,5075.8992)"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:3.6, 3.6;paint-order:fill markers stroke;filter:url(#filter90-4-61-8-4)"
id="rect13"
width="544.3089"
height="775.87341"
x="806.52002"
y="5246.1982"
ry="32.555527"
transform="matrix(1.1577257,0,0,1.1577257,-97.82093,-5873.3218)"
rx="31.944035" /><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:3.12637;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-4-2-6"
width="364.70453"
height="59.990265"
x="921.8681"
y="155.65892" /><g
id="g4-7-0-4-6-2-8"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:3.40051;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-3-6-9"
width="367.41397"
height="69.925293"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:423.948;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-8-7-4-2"
transform="matrix(0.85813569,0,0,0.85813569,116.0554,17.705353)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">Signature packet&#10;</tspan><tspan
x="954.24536"
y="193.34742"
id="tspan3"><tspan
style="font-weight:500;font-size:25.1835px;-inkscape-font-specification:'Montserrat Medium'"
id="tspan2">Direct Key Signature &#10;</tspan></tspan></text></g></g><g
id="g449-5-2"
transform="matrix(0.93032345,0,0,1.7457076,-695.61626,1389.1565)"><rect
style="fill:#c7b731;fill-opacity:1;stroke:none;stroke-width:1.30011;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.60024, 2.60024;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-2-2"
width="443.51514"
height="391.34512"
x="1686.531"
y="2240.1597" /><rect
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.2248;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.44963, 2.44963;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-7-0-6"
width="414.74948"
height="371.41376"
x="1690.8833"
y="2242.9712" /></g><g
id="g53-7-9-7-0-8"
transform="translate(-852.92476,3308.8114)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-3-1-9-4"
transform="translate(0,17.161432)"><g
id="g192"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-6-8"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-3-1"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Cryptographic Signature</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:240.29;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2599.4785"
id="text11-9-0-8-9-4-9-7-1-6-8-8"
transform="scale(1.0006928,0.99930768)"><tspan
x="1752.1871"
y="2599.4785"
id="tspan5"><tspan
style="font-weight:300;font-family:Montserrat;-inkscape-font-specification:'Montserrat Light'"
id="tspan4">by the primary key over primary key, </tspan></tspan><tspan
x="1752.1871"
y="2615.4287"
id="tspan7"><tspan
style="font-weight:300;font-family:Montserrat;-inkscape-font-specification:'Montserrat Light'"
id="tspan6">subkey and signature metadata </tspan></tspan></text></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-7-9-8-0"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-4-7-5-3"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g><g
id="g73-85-9"
transform="matrix(0.24635599,0.44807337,-0.44807337,0.24635599,2443.118,2042.2723)"
style="fill:#c83737"><g
id="g10-8-7-6"
transform="rotate(-30,1140.748,355.65631)"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-41-4"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-8-3"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-59-3"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-7-3" /><path
id="path4-4-5-8"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107" /><path
id="path4-6-7-38-6"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518" /></g></g></g></g><g
id="g53-7-9-7-0"
transform="translate(-850.51226,3252.4127)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-3-1-9"
transform="translate(0,17.161432)"><path
id="rect15"
style="display:inline;fill:#ededed;fill-opacity:1;stroke:none;stroke-width:2.091;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1751.7675,2557.4277 v 27.8613 h 0.039 v 19.5098 h 10.1543 v -19.5098 h 352.0293 v -27.8613 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1759.4644"
y="2579.7502"
id="text11-9-0-8-9-4-9-7-1-6"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-3"
x="1759.4644"
y="2579.7502"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Unhashed area</tspan></text><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.26091;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.78272, 3.78272;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6407,2605.1054 h 363.1232"
id="path449-2-1-7-6" /></g></g><g
id="g193"
transform="translate(-3087.1788,3062.5987)"><path
id="rect193-6-2"
style="display:inline;fill:#c7b731;fill-opacity:0.25;stroke-width:0.175389;stroke-dasharray:0.350781, 0.350781;paint-order:fill markers stroke"
transform="rotate(90)"
d="m 2419.8521,-4351.8291 h 26.8986 v 363.1854 l -26.8986,-0.5055 z m 0,363.1853 v -10.3158 h 330.2054 v 10.3158 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="-2497.6013"
y="1914.6544"
id="text11-9-0-8-9-4-9-7-1-6-1"
transform="matrix(1.0006928,0,0,0.99930768,6497.5571,525.64591)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-3-10"
x="-2497.6013"
y="1914.6544"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Hashed area</tspan></text><g
id="g53-7-9-7-3-9"
transform="translate(2255.956,93.220758)"
style="display:inline;fill:#61a78d;fill-opacity:1"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-3-6"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161431)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-0-8"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Features</tspan></text><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2610.2612 h 341.155"
id="path449-2-1-7-5-1" /></g><g
id="g53-7-9-7-3-9-7"
transform="translate(2255.956,139.79926)"
style="display:inline;fill:#61a78d;fill-opacity:1"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-3-6-4"
transform="matrix(1.0006928,0,0,0.99930768,0,17.16143)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-0-8-0"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Issuer Fingerprint</tspan></text><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.238;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.714, 3.714;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1732.9724,2610.2582 h 360.7651"
id="path449-2-1-7-5-1-9" /></g><g
id="g53-7-0-9-6-4-0"
transform="translate(2255.956,49.299868)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2607.6066 h 341.155"
id="path449-9-3-5-1" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8-6-9-1"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161432)"><tspan
id="tspan11-3-6-9-0-1-2-2-8-5-4-0"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Key Flags</tspan></text></g><g
id="g53-7-0-6-4-9-2-0"
transform="translate(2255.956,8.4342498)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2604.5541 h 341.1549"
id="path449-4-3-4-2-6" /><g
id="g52-5-6-5-7-8-4-4"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1-7-6"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2-7-2"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Preferred Hash Algorithms</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9-5-5"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3-4-8"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-9-7-3"
transform="translate(2255.956,-38.380307)"
style="display:inline;fill:#61a78d;fill-opacity:1"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1-3"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161432)"><tspan
id="tspan11-3-6-9-0-1-2-8-5-0"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Preferred Symmetric Ciphers for v1 SEIPD</tspan></text><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2610.2696 h 341.155"
id="path449-2-1-7-5" /></g><g
id="g53-7-0-9-6-4"
transform="translate(2255.956,-82.301197)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2607.615 h 341.155"
id="path449-9-3-5" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8-6-9"
transform="matrix(1.0006928,0,0,0.99930768,0,17.161432)"><tspan
id="tspan11-3-6-9-0-1-2-2-8-5-4"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Key Expiration Time</tspan></text></g><g
id="g53-7-0-6-4-9-2"
transform="translate(2255.956,-123.16681)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.22213;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.66639, 3.66639;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.5937,2604.5625 h 341.1549"
id="path449-4-3-4-2" /><g
id="g52-5-6-5-7-8-4"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1-7"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2-7"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Signature Creation Time</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9-5"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3-4"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g></g><g
id="g53-7-9-7"
transform="translate(-850.51226,2857.8495)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-3-1"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7-1"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-8-5"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Hash Algorithm</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-7-9"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-4-7"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2593.0841 h 361.7751"
id="path449-2-1-7" /></g></g><g
id="g53-7-0-9-6"
transform="translate(-850.51226,2816.4586)"
style="display:inline;fill:#61a78d;fill-opacity:1"><g
id="g52-5-6-0-7"
transform="translate(0,17.161432)"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2590.4484 h 361.7751"
id="path449-9-3" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8-6"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-8-5"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Public-Key Algorithm</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-5-6"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-8-3"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-0-6-4-9"
transform="translate(-850.51226,2778.1025)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2604.5751 h 361.7751"
id="path449-4-3-4" /><g
id="g52-5-6-5-7-8"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Signature Type</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-0-6-4-9-0"
transform="translate(-850.51226,2739.7463)"
style="display:inline;fill:#61a78d;fill-opacity:1"><path
style="fill:#ffffff;fill-opacity:1;stroke:#c7b731;stroke-width:1.25827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.7748, 3.7748;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1752.6157,2604.5751 h 361.7751"
id="path449-4-3-4-9" /><g
id="g52-5-6-5-7-8-9"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1-1-4"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-1-2-2-9-3-2-5"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Version</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8-9-1"
transform="scale(1.0006928,0.99930768)"><tspan
id="tspan11-3-6-9-0-59-2-8-6-7-0-3-0"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="137.65607mm"
height="68.157036mm"
viewBox="0 0 137.65607 68.157036"
version="1.1"
id="svg9634"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="id_card.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview9636"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
showguides="true"
inkscape:zoom="1.0666314"
inkscape:cx="273.29029"
inkscape:cy="143.91101"
inkscape:window-width="1920"
inkscape:window-height="974"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
<sodipodi:guide
position="41.561047,-20.163827"
orientation="1,0"
id="guide10269"
inkscape:locked="false" />
<sodipodi:guide
position="29.216248,44.375702"
orientation="0,-1"
id="guide10997"
inkscape:locked="false" />
<sodipodi:guide
position="30.208468,29.368372"
orientation="0,-1"
id="guide10999"
inkscape:locked="false" />
<sodipodi:guide
position="34.301376,14.237013"
orientation="0,-1"
id="guide11001"
inkscape:locked="false" />
</sodipodi:namedview>
<defs
id="defs9631" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-62.440102,-96.153297)">
<g
id="g11871">
<ellipse
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.243201;stroke-opacity:0.3512"
id="path9757"
cx="84.206947"
cy="117.79834"
rx="10.803358"
ry="11.21476" />
<path
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.139965;stroke-opacity:0.3512"
id="path9759"
sodipodi:type="arc"
sodipodi:cx="84.169518"
sodipodi:cy="-157.47643"
sodipodi:rx="17.407534"
sodipodi:ry="26.700191"
sodipodi:start="0.01016064"
sodipodi:end="3.1394051"
sodipodi:arc-type="slice"
d="m 101.57615,-157.20514 a 17.407534,26.700191 0 0 1 -17.476028,26.42869 17.407534,26.700191 0 0 1 -17.338096,-26.64157 l 17.407492,-0.0584 z"
transform="scale(1,-1)" />
<path
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
d="m 104.01106,119.93492 h 87.07965"
id="path10178" />
<path
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
d="m 103.90737,134.8412 h 87.07966"
id="path10178-0" />
<path
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
d="m 103.96034,150.02655 h 87.07965"
id="path10178-6" />
<rect
style="fill:none;fill-opacity:0.432801;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
id="rect11055"
width="136.65607"
height="67.157036"
x="62.940102"
y="96.653297" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,466 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 659.82385 509.29352"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="659.82385"
height="509.29352"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect4-5-5-5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><marker
style="overflow:visible"
id="Square-4"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path18-3" /></marker><marker
style="overflow:visible"
id="marker72-9"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path72-06" /></marker><marker
style="overflow:visible"
id="marker72-9-0"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path72-06-4" /></marker><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90-4-61-8-7-1"
x="-0.020108045"
y="-0.016332301"
width="1.0434812"
height="1.0372014"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-0-2-8-9" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-4-6-9-4" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-2-0-1-7" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-2-6-5-8" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-20-6-4-4" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-5-4-9-5" /><feFlood
id="feFlood90-1-5-6-2-0"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-2-2-5-3"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-9-8-7-6"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-02-9-4-1"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-83-6-9-0"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="8"
inkscape:cx="4229.0625"
inkscape:cy="590.6875"
inkscape:window-width="1677"
inkscape:window-height="1243"
inkscape:window-x="270"
inkscape:window-y="404"
inkscape:window-maximized="0"
inkscape:current-layer="layer26"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="false"><sodipodi:guide
position="114.88848,-1618.6446"
orientation="1,0"
id="guide358"
inkscape:locked="false" /><sodipodi:guide
position="127.52888,-1628.0476"
orientation="1,0"
id="guide359"
inkscape:locked="false" /><sodipodi:guide
position="114.54128,-1571.2"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="-41.716617,-1385.8049"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="617.64008,-1385.8049"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="617.64008,-2329.6849"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="-41.716617,-2329.6849"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="-41.716617,-1385.8049"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="617.64008,-1385.8049"
orientation="943.88005,0"
id="guide366"
inkscape:locked="false" /><sodipodi:guide
position="617.64008,-2329.6849"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="-41.716617,-2329.6849"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /><inkscape:page
x="1.1896548e-05"
y="3.931774e-08"
width="659.82385"
height="509.29352"
id="page194"
margin="0"
bleed="0"
inkscape:export-filename="meaning_of_signatures.png"
inkscape:export-xdpi="94.510002"
inkscape:export-ydpi="94.510002" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer18"
inkscape:label="Chapter 6"
style="display:inline"
transform="translate(-2367.2466,-35.223633)"><g
inkscape:groupmode="layer"
id="layer25"
inkscape:label="Signature meanings"><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.986;stroke-dasharray:1.97201, 1.97201;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-4-61-8-7-1)"
id="rect195"
width="612.53094"
height="440.84418"
x="2391.3457"
y="82.593277"
rx="24.555983"
ry="24.555983" /><g
id="g5-7"
inkscape:label="tag"
transform="matrix(0.80767454,0,0,0.61640806,2001.9672,-105.88928)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"><path
id="rect2-5-2"
style="display:inline;fill:#ede8c0;fill-opacity:0.6;stroke:none;stroke-width:1.475;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.95, 2.95;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 829.6162,807.10742 h 176.8247 a 13.134939,13.134939 45 0 1 13.1349,13.13494 v 81.2156 a 13.134939,13.134939 135 0 1 -13.1349,13.13494 H 829.6162 a 30.342731,30.342731 23.407104 0 1 -22.12405,-9.57719 l -32.4645,-34.58836 a 13.994242,13.994242 90 0 1 0,-19.15438 l 32.4645,-34.58836 a 30.342731,30.342731 156.5929 0 1 22.12405,-9.57719 z"
sodipodi:nodetypes="cccccc"
inkscape:path-effect="#path-effect4-5-5-5"
inkscape:original-d="M 816.48126,807.10742 H 1019.5758 V 914.5929 H 816.48126 l -50.44272,-53.74274 z"
transform="matrix(0.97234154,0,0,1.1146056,-211.25935,-91.423526)"
inkscape:label="tag fill" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.4356px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:215.51;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.69647;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="834.39349"
y="430.00592"
id="text11-2-8-96-6-2"
transform="matrix(0.99242225,0,0,0.99242225,1603.992,-100.19202)"><tspan
x="834.39349"
y="430.00592"
id="tspan2"><tspan
style="font-style:italic;font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium Italic'"
id="tspan1">Signature type</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.8271;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2448.8325"
y="355.14526"
id="text11-2-8-96-5-4-9"><tspan
sodipodi:role="line"
id="tspan11-9-0-0-9-9-1"
x="2448.8325"
y="355.14526"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke-width:2.8271">Signature over:</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-81-4"
transform="matrix(1.0006928,0,0,0.99930768,1571.5249,-196.16008)"><tspan
x="876.12891"
y="573.06091"
id="tspan3">Signature data</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5-9-1-5"
transform="matrix(1.0006928,0,0,0.99930768,1572.2588,-175.96278)"><tspan
x="876.12891"
y="573.06091"
id="tspan4">Signature metadata</tspan></text><g
id="g10-8-7-3-0"
transform="matrix(0.45219859,0.27383412,-0.27383412,0.45219859,2736.2785,-18.081942)"
inkscape:label="Signature vers2"
style="display:inline;fill:#c83737;stroke-width:1.7;stroke-dasharray:none"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-6-7-4"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9-0-8"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-1-6-0"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-9-4"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-9-2-29"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-0-1-61"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g><g
id="g194"
inkscape:label="Raw signature"
transform="translate(-29.638436,-11.836961)"><g
id="g10-8-7-3-0-9"
transform="matrix(0.55050909,0.33336718,-0.33336718,0.55050909,2646.6898,-345.2442)"
inkscape:label="Signature vers2"
style="display:inline;fill:#c83737;stroke-width:1.7;stroke-dasharray:none"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-6-7-4-9"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9-0-8-3"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-1-6-0-6"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-9-4-0"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-9-2-29-5"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-0-1-61-0"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g><path
style="display:inline;fill:none;fill-opacity:1;stroke:#3e4349;stroke-width:1.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.8, 2.8;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Square-4);paint-order:fill markers stroke"
d="m 2517.2223,196.72704 252.2489,0.0298"
id="path252-3"
sodipodi:nodetypes="cc" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2803.2246"
y="198.198"
id="text11-2-8-02-9-7"
transform="scale(0.98944431,1.0106683)"><tspan
sodipodi:role="line"
id="tspan11-9-0-7-1-4"
x="2803.2246"
y="198.198"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:18.6667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:1.7;stroke-dasharray:none">Cryptographic signature</tspan></text></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:181.983;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2305.3945"
y="-262.66516"
id="text11-2-8-02-9-7-4"
transform="matrix(0.98944431,0,0,1.0106683,466.83615,603.21554)"><tspan
x="2305.3945"
y="-262.66516"
id="tspan6"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan5">OpenPGP </tspan></tspan><tspan
x="2305.3945"
y="-239.15969"
id="tspan9"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan7">signature </tspan><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan8">packet</tspan></tspan></text><rect
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.20533;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.41066, 2.41066;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect66-2-9"
width="218.92958"
height="138.59993"
x="2430.8745"
y="332.82492"
ry="0" /><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker72-9);paint-order:fill markers stroke"
d="m 2648.9099,333.40247 93.3263,-1.51583"
id="path252-2-0"
sodipodi:nodetypes="cc" /><path
style="display:inline;fill:none;fill-opacity:1;stroke:#3e4349;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker72-9-0);paint-order:fill markers stroke"
d="m 2611.3382,448.0394 -0.019,33.73434 h 166.7729 l -0.093,-11.69927"
id="path252-2-0-0"
sodipodi:nodetypes="cccc" /><g
id="g74-3"
transform="translate(1874.9391,-186.0807)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-2"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,9.4067807)"><tspan
x="876.12891"
y="573.06091"
id="tspan10">- signature type</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:213.271;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5-2"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,33.106816)"><tspan
x="876.12891"
y="573.06091"
id="tspan11">- signature over input data</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-8-5"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,56.806852)"><tspan
x="876.12891"
y="573.06091"
id="tspan12">- additional metadata</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-0-9"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,80.506887)"><tspan
x="876.12891"
y="573.06091"
id="tspan13">- cryptographic signature</tspan></text></g><g
id="g11-8-3-1-1-3"
transform="matrix(0.86376245,0,0,0.86376245,1668.0918,-75.71626)"
inkscape:label="Diagramm Header"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.5987;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-5-1"
width="352.12985"
height="59.990269"
x="920.04065"
y="155.65892" /><g
id="g4-7-0-4-5-9"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.55521;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-4-4"
width="352.81458"
height="57.886284"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:375.925;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-3-7"
transform="matrix(0.85813569,0,0,0.85813569,124.25758,13.145897)"><tspan
x="954.24536"
y="158.38867"
id="tspan15">Meanings of <tspan
style="font-style:italic;-inkscape-font-specification:'Montserrat Semi-Bold Italic'"
id="tspan14">signature</tspan> in </tspan><tspan
x="954.24536"
y="188.38867"
id="tspan16">OpenPGP</tspan></text></g></g><path
style="fill:none;stroke:#cfcfcf;stroke-width:1.3;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 2429.2607,250.31193 h 535.7955"
id="path11" /></g></g></svg>

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,328 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 659.70258 331.13059"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="659.70258"
height="331.13058"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect79"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,0,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1 @ F,0,1,1,0,5.1440615,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90-4-61-8"
x="-0.020294819"
y="-0.023358992"
width="1.0438851"
height="1.0532066"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-0-2" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-4-6" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-2-0" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-2-6" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-20-6" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-5-4" /><feFlood
id="feFlood90-1-5-6"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-2-2"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-9-8"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-02-9"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-83-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter><marker
style="overflow:visible"
id="Square-1"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Square"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M -5,-5 V 5 H 5 V -5 Z"
id="path18-6" /></marker><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect62-07-9"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="1.0894768"
inkscape:cx="2682.9392"
inkscape:cy="356.59318"
inkscape:window-width="2560"
inkscape:window-height="1371"
inkscape:window-x="0"
inkscape:window-y="305"
inkscape:window-maximized="1"
inkscape:current-layer="layer25"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="false"><sodipodi:guide
position="122.52618,-2094.6633"
orientation="1,0"
id="guide358"
inkscape:locked="false" /><sodipodi:guide
position="135.16658,-2104.0663"
orientation="1,0"
id="guide359"
inkscape:locked="false" /><sodipodi:guide
position="122.17898,-2047.2187"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="-34.078921,-1861.8236"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="625.27778,-1861.8236"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="625.27778,-2805.7036"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="-34.078921,-2805.7036"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="-34.078921,-1861.8236"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="625.27778,-1861.8236"
orientation="943.88005,0"
id="guide366"
inkscape:locked="false" /><sodipodi:guide
position="625.27778,-2805.7036"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="-34.078921,-2805.7036"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /><inkscape:page
x="-4.4209196e-06"
y="2.5592633e-06"
width="659.70258"
height="331.13058"
id="page55"
margin="0"
bleed="0"
inkscape:export-filename="passphrase_using_S2K.svg"
inkscape:export-xdpi="94.510002"
inkscape:export-ydpi="94.510002" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer19"
inkscape:label="Chapter 5"
inkscape:highlight-color="#88ca0c"
style="display:inline"
transform="translate(-2359.6089,440.79508)"><g
inkscape:groupmode="layer"
id="layer20"
inkscape:label="Protecting secret key material"
transform="translate(22.493125,-25.8473)"
style="display:inline"><rect
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke-width:0.986;stroke-dasharray:1.97201, 1.97201;stroke-dashoffset:0;paint-order:fill markers stroke;filter:url(#filter90-4-61-8)"
id="rect81"
width="629.31445"
height="308.23248"
x="2378.7219"
y="-367.28116"
ry="28.196222"
rx="26.536793"
transform="matrix(0.92535609,0,0,0.87089619,184.14854,-53.633558)" /><g
id="g11-8-3-1-1-7"
transform="matrix(0.86376245,0,0,0.86376245,1642.2321,-531.68174)"
inkscape:label="Diagramm Header"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.44985;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-5-4"
width="312.94656"
height="59.990269"
x="920.04065"
y="155.65892" /><g
id="g4-7-0-4-5-0"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.40363;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-4-6"
width="312.19806"
height="57.886284"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:349.039;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-3-4"
transform="matrix(0.85813569,0,0,0.85813569,124.25758,13.145897)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">Converting a passphrase </tspan><tspan
x="954.24536"
y="188.38867"
id="tspan2">into a symmetric key</tspan></text></g></g><g
id="g81"
inkscape:label="s2k"
transform="translate(-12.364378,-33.578166)"><path
id="rect58"
style="opacity:1;fill:#61a78d;fill-opacity:0.33;fill-rule:nonzero;stroke:#61a78d;stroke-width:1.22217;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.44435, 2.44435;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 2660.9776,-261.25397 h 162.2875 a 5.1440615,5.1440615 135 0 0 5.1441,-5.14406 v -22.84921 a 1.7701703,1.7701703 161.01068 0 1 3.1655,-1.0893 l 61.7073,79.04246 a 6.5891582,6.5891582 90.000002 0 1 0,8.10952 l -61.7073,79.04245 a 1.7701705,1.7701705 18.989325 0 1 -3.1655,-1.0893 v -27.38117 a 5.1440615,5.1440615 45 0 0 -5.1441,-5.14406 h -162.2875 a 5.1440615,5.1440615 45 0 1 -5.1441,-5.14406 v -93.20921 a 5.1440615,5.1440615 135 0 1 5.1441,-5.14406 z"
sodipodi:nodetypes="cccscccc"
inkscape:path-effect="#path-effect79"
inkscape:original-d="m 2655.8335,-261.25397 h 172.5757 v -33.13733 l 68.0383,87.15198 -68.0383,87.15197 v -37.66929 h -172.5757 z"
transform="matrix(0.8652824,0,0,0.75219829,370.84993,-55.494362)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.4943px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:316.601;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="861.96753"
y="161.23524"
id="text11-2-0-1-6"
transform="matrix(0.82075467,0,0,0.82075467,1976.4147,-327.55157)"><tspan
x="861.96753"
y="161.23524"
id="tspan4"><tspan
style="font-family:Montserrat;-inkscape-font-specification:Montserrat"
id="tspan3">(string-to-key) </tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.4943px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:316.601;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="861.96753"
y="161.23524"
id="text11-2-0-1-6-3"
transform="matrix(0.82075467,0,0,0.82075467,1977.4227,-352.90197)"><tspan
x="861.96753"
y="161.23524"
id="tspan6"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan5">S2K mechanism</tspan></tspan></text></g><g
id="g58"
transform="translate(19.317884,-39.444866)"
inkscape:label="passphrase"><g
id="g57"
inkscape:label="passphrase"><rect
style="display:inline;fill:#baa600;fill-opacity:0.25;stroke:#baa600;stroke-width:1.222;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.44401, 2.44401;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect66-1"
width="240.85733"
height="35.979061"
x="2381.3313"
y="-222.48239" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.4943px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:316.601;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="861.96753"
y="161.23524"
id="text11-2-0-1"
transform="matrix(0.82075467,0,0,0.82075467,1680.0686,-332.08239)"><tspan
x="861.96753"
y="161.23524"
id="tspan8"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan7">correct horse battery staple</tspan></tspan></text></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.6667px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="2468.1658"
y="-122.37745"
id="text11-2-8-02-9-9"
transform="scale(0.98944431,1.0106683)"><tspan
sodipodi:role="line"
id="tspan11-9-0-7-1-6"
x="2468.1658"
y="-122.37745"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:18.6667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:1.7;stroke-dasharray:none">Passphrase</tspan></text><path
style="display:inline;fill:none;fill-opacity:1;stroke:#baa600;stroke-width:1.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:2.8, 2.8;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Square-1);paint-order:fill markers stroke"
d="m 2412.1498,-185.83489 -0.03,56.857 28.4016,0.276"
id="path252-4"
sodipodi:nodetypes="ccc" /></g><path
id="path1-19"
style="color:#000000;fill:#baa600;fill-opacity:1;stroke:#baa600;stroke-width:1.579;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 51.039502,477.193 c -7.204445,0 -13.087357,5.88404 -13.087358,13.08848 v 52.2623 c 1e-6,7.20445 5.882913,13.08736 13.087358,13.08736 h 35.760795 c 7.204443,0 13.087357,-5.88291 13.087357,-13.08736 v -10.4133 h 89.613036 c 2.70413,0 4.93846,-2.23546 4.93846,-4.93959 V 505.8856 c 0,-2.70412 -2.23433,-4.93958 -4.93846,-4.93959 h -23.09553 c -22.1765,0 -44.34846,0.0361 -66.517506,0 v -10.66453 c 0,-7.20444 -5.882914,-13.08848 -13.087357,-13.08848 z m 0,4.00033 h 35.760795 c 5.042684,0 9.087026,4.04547 9.087026,9.08815 v 10.66453 c -0.05354,-1.1e-4 -0.107136,1.2e-4 -0.16069,0 h -0.0023 -2.886799 c -1.10426,2.2e-4 -1.999382,0.89535 -1.999598,1.99961 -3.97e-4,1.10469 0.894904,2.0005 1.999598,2.00072 h 2.88454 c 0.722102,0.002 1.443852,-0.001 2.165948,0 22.842678,0.0422 45.682308,0 68.517098,0 h 23.09554 c 0.54237,0 0.93813,0.39689 0.93813,0.93926 v 21.30529 c 0,0.54237 -0.39576,0.93926 -0.93813,0.93926 h -93.778586 -2.88454 c -1.104256,2.2e-4 -1.999377,0.89534 -1.999598,1.9996 -4.03e-4,1.1047 0.8949,2.00051 1.999598,2.00073 h 2.88454 0.165215 v 10.4133 c 0,5.04269 -4.044342,9.08703 -9.087026,9.08703 H 51.039502 c -5.042687,0 -9.088159,-4.04434 -9.08816,-9.08703 v -52.2623 c 1e-6,-5.04268 4.045473,-9.08815 9.08816,-9.08815 z m 7.201725,22.3894 -3.793241,0.0588 c -3.771996,0.0586 -6.839599,3.17466 -6.839601,6.9471 v 11.85728 c 2e-6,3.76993 3.132358,6.85399 6.901841,6.79546 l 3.793241,-0.0588 c 3.771997,-0.0586 6.839601,-3.17352 6.839601,-6.94598 v -11.8584 c 0,-3.76994 -3.132355,-6.85399 -6.901841,-6.79546 z m 0.06224,3.99919 c 1.586041,-0.0246 2.839272,1.21004 2.839271,2.79627 v 11.8584 c 10e-7,1.63266 -1.269056,2.92143 -2.901511,2.94678 l -3.793241,0.0589 c -1.58604,0.0246 -2.839271,-1.21005 -2.839272,-2.79627 v -11.85728 c 10e-7,-1.63264 1.269058,-2.92256 2.901512,-2.9479 z m 55.819583,12.338 c -0.9398,-6.5e-4 -1.70182,0.76137 -1.70117,1.70117 4.3e-4,0.93904 0.76213,1.69987 1.70117,1.69922 h 66.95703 l 0.0117,0.0117 0.30664,-0.0117 0.0605,-0.002 c 2.20129,-0.10155 2.14301,-3.3753 -0.0605,-3.39844 z m -5.8e-4,1.70046 h 67.27526 l -0.36681,0.0131 m 2.05861,-12.78027 c 0,1.08537 -0.87987,1.96525 -1.96524,1.96525 -1.08537,0 -1.96524,-0.87988 -1.96524,-1.96525 -1e-5,-1.08538 0.87986,-1.96526 1.96524,-1.96526 1.08538,0 1.96525,0.87988 1.96524,1.96526 z m -5.63244,-0.20402 c 1e-5,1.08538 -0.87986,1.96526 -1.96524,1.96526 -1.08538,0 -1.96526,-0.87988 -1.96525,-1.96526 0,-1.08538 0.87987,-1.96525 1.96525,-1.96525 1.08537,0 1.96524,0.87988 1.96524,1.96525 z m -9.4709,0.31604 c 0,1.08537 -0.87987,1.96525 -1.96524,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 0,-1.08537 0.87988,-1.96524 1.96525,-1.96524 1.08537,0 1.96524,0.87987 1.96524,1.96524 z m -14.46839,-0.11202 c 0,1.08538 -0.87988,1.96526 -1.96526,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 -1e-5,-1.08538 0.87987,-1.96526 1.96525,-1.96526 1.08539,-10e-6 1.96527,0.87987 1.96526,1.96526 z m -5.47797,0.0873 c 0,1.08538 -0.87987,1.96525 -1.96525,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 0,-1.08538 0.87987,-1.96525 1.96525,-1.96525 1.08538,0 1.96525,0.87987 1.96525,1.96525 z"
inkscape:label="Secretkey (Sym)"
transform="matrix(0,0.7343272,-0.7343272,0,3291.4737,-331.03784)"
inkscape:path-effect="#path-effect62-07-9"
inkscape:original-d="m 51.039502,477.193 c -7.204445,0 -13.087357,5.88404 -13.087358,13.08848 v 52.2623 c 1e-6,7.20445 5.882913,13.08736 13.087358,13.08736 h 35.760795 c 7.204443,0 13.087357,-5.88291 13.087357,-13.08736 v -10.4133 h 89.613036 c 2.70413,0 4.93846,-2.23546 4.93846,-4.93959 V 505.8856 c 0,-2.70412 -2.23433,-4.93958 -4.93846,-4.93959 h -23.09553 c -22.1765,0 -44.34846,0.0361 -66.517506,0 v -10.66453 c 0,-7.20444 -5.882914,-13.08848 -13.087357,-13.08848 z m 0,4.00033 h 35.760795 c 5.042684,0 9.087026,4.04547 9.087026,9.08815 v 10.66453 c -0.05354,-1.1e-4 -0.107136,1.2e-4 -0.16069,0 h -0.0023 -2.886799 c -1.10426,2.2e-4 -1.999382,0.89535 -1.999598,1.99961 -3.97e-4,1.10469 0.894904,2.0005 1.999598,2.00072 h 2.88454 c 0.722102,0.002 1.443852,-0.001 2.165948,0 22.842678,0.0422 45.682308,0 68.517098,0 h 23.09554 c 0.54237,0 0.93813,0.39689 0.93813,0.93926 v 21.30529 c 0,0.54237 -0.39576,0.93926 -0.93813,0.93926 h -93.778586 -2.88454 c -1.104256,2.2e-4 -1.999377,0.89534 -1.999598,1.9996 -4.03e-4,1.1047 0.8949,2.00051 1.999598,2.00073 h 2.88454 0.165215 v 10.4133 c 0,5.04269 -4.044342,9.08703 -9.087026,9.08703 H 51.039502 c -5.042687,0 -9.088159,-4.04434 -9.08816,-9.08703 v -52.2623 c 1e-6,-5.04268 4.045473,-9.08815 9.08816,-9.08815 z m 7.201725,22.3894 -3.793241,0.0588 c -3.771996,0.0586 -6.839599,3.17466 -6.839601,6.9471 v 11.85728 c 2e-6,3.76993 3.132358,6.85399 6.901841,6.79546 l 3.793241,-0.0588 c 3.771997,-0.0586 6.839601,-3.17352 6.839601,-6.94598 v -11.8584 c 0,-3.76994 -3.132355,-6.85399 -6.901841,-6.79546 z m 0.06224,3.99919 c 1.586041,-0.0246 2.839272,1.21004 2.839271,2.79627 v 11.8584 c 10e-7,1.63266 -1.269056,2.92143 -2.901511,2.94678 l -3.793241,0.0589 c -1.58604,0.0246 -2.839271,-1.21005 -2.839272,-2.79627 v -11.85728 c 10e-7,-1.63264 1.269058,-2.92256 2.901512,-2.9479 z m 55.819583,12.338 c -0.9398,-6.5e-4 -1.70182,0.76137 -1.70117,1.70117 4.3e-4,0.93904 0.76213,1.69987 1.70117,1.69922 h 66.95703 c 0.004,0.004 0.008,0.008 0.0117,0.0117 l 0.30664,-0.0117 0.0605,-0.002 c 2.20129,-0.10155 2.14301,-3.3753 -0.0605,-3.39844 z m -5.8e-4,1.70046 h 67.27526 l -0.36681,0.0131 m 2.05861,-12.78027 c 0,1.08537 -0.87987,1.96525 -1.96524,1.96525 -1.08537,0 -1.96524,-0.87988 -1.96524,-1.96525 -1e-5,-1.08538 0.87986,-1.96526 1.96524,-1.96526 1.08538,0 1.96525,0.87988 1.96524,1.96526 z m -5.63244,-0.20402 c 1e-5,1.08538 -0.87986,1.96526 -1.96524,1.96526 -1.08538,0 -1.96526,-0.87988 -1.96525,-1.96526 0,-1.08538 0.87987,-1.96525 1.96525,-1.96525 1.08537,0 1.96524,0.87988 1.96524,1.96525 z m -9.4709,0.31604 c 0,1.08537 -0.87987,1.96525 -1.96524,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 0,-1.08537 0.87988,-1.96524 1.96525,-1.96524 1.08537,0 1.96524,0.87987 1.96524,1.96524 z m -14.46839,-0.11202 c 0,1.08538 -0.87988,1.96526 -1.96526,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 -1e-5,-1.08538 0.87987,-1.96526 1.96525,-1.96526 1.08539,-10e-6 1.96527,0.87987 1.96526,1.96526 z m -5.47797,0.0873 c 0,1.08538 -0.87987,1.96525 -1.96525,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 0,-1.08538 0.87987,-1.96525 1.96525,-1.96525 1.08538,0 1.96525,0.87987 1.96525,1.96525 z" /></g></g></svg>

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,381 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 662.45215 397.73044"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="662.45215"
height="397.73044"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90-4-61-8"
x="-0.020294819"
y="-0.023358992"
width="1.0438851"
height="1.0532066"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-4-0-2" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-4-4-6" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-4-2-0" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-7-2-6" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-6-20-6" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-3-5-4" /><feFlood
id="feFlood90-1-5-6"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-7-2-2"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-5-9-8"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-9-02-9"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-62-83-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-1-0-4-17-1-0"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="8"
inkscape:cx="4229.0625"
inkscape:cy="590.6875"
inkscape:window-width="1677"
inkscape:window-height="1243"
inkscape:window-x="270"
inkscape:window-y="404"
inkscape:window-maximized="0"
inkscape:current-layer="layer26"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="false"><sodipodi:guide
position="959.5888,1085.9744"
orientation="1,0"
id="guide358"
inkscape:locked="false" /><sodipodi:guide
position="972.2292,1076.5714"
orientation="1,0"
id="guide359"
inkscape:locked="false" /><sodipodi:guide
position="959.2416,1133.4189"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="802.9837,1318.8141"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="1462.3404,1318.8141"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="1462.3404,374.93406"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="802.9837,374.93406"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="802.9837,1318.8141"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="1462.3404,1318.8141"
orientation="943.88005,0"
id="guide366"
inkscape:locked="false" /><sodipodi:guide
position="1462.3404,374.93406"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="802.9837,374.93406"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /><inkscape:page
x="9.8898465e-07"
y="1.64459e-05"
width="662.45215"
height="397.73044"
id="page56"
margin="0"
bleed="0" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer24"
inkscape:label="Chapter 17"
style="display:inline"
transform="translate(-1522.5463,-2739.8426)"><g
inkscape:groupmode="layer"
id="layer15-1"
inkscape:label="PublicKey Paket"
transform="translate(-12.803912,608.45563)"><g
id="g11-8-3-1-6-1"
transform="matrix(0.86376245,0,0,0.86376245,868.5735,2013.3735)"
inkscape:label="Diagramm Header"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.59998;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:1.59998, 3.19995;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-4-61-8)"
id="rect56"
width="606.8938"
height="387.66544"
x="849.58643"
y="180.8383"
ry="33.297447"
transform="translate(2.4312239e-6,-3.4731772e-5)"
rx="33.297447" /><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.57516;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2-4-3"
width="247.43979"
height="59.990265"
x="920.04065"
y="155.65892" /><g
id="g4-7-0-4-6-7"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.54646;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7-3-7"
width="248.88455"
height="57.886292"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:383.857;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-8-7-2"
transform="matrix(0.85813569,0,0,0.85813569,114.63394,28.656092)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">Public-Key packet</tspan></text></g></g><g
id="g449-5"
transform="matrix(0.98146912,0,0,0.55033492,16.805914,1007.464)"><rect
style="fill:#006961;fill-opacity:1;stroke:none;stroke-width:1.20782;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.41565, 2.41565;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-2"
width="383.91589"
height="390.19012"
x="1686.531"
y="2240.1597" /><rect
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.09224;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.1845, 2.1845;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="rect449-7-0"
width="359.01575"
height="341.22061"
x="1690.2985"
y="2247.4851" /></g><g
id="g51-8-0"
inkscape:label="public key material"
transform="translate(-54.698873,-205.91875)"><g
id="g50-4-7"
transform="translate(0,-0.36273925)"><g
id="g49-5-5"
transform="translate(0,-6.9324974)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1411.9558"
y="2599.9993"
id="text11-9-0-8-9-56-1-1-9"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-59-5-7-7"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1411.9558"
y="2623.9102"
id="text11-9-0-8-9-56-1-7-5-8"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-59-5-4-7-5"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1411.9558"
y="2647.821"
id="text11-9-0-8-9-56-1-4-1-3"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-59-5-3-6-3"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g><path
id="path2-1-4-5-3-8"
style="display:inline;fill:none;fill-opacity:1;stroke:#006961;stroke-width:10.4431;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.27658227,0,0,-0.27658227,1969.5724,2810.7705)"
inkscape:path-effect="#path-effect32-1-0-4-17-1-0"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#006962;fill-opacity:1;stroke:none;stroke-width:3.112;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="1755.1436"
y="2614.4453"
id="text11-9-0-8-9-6-3"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-3-7"
x="1755.1436"
y="2614.4453"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;fill:#006962;fill-opacity:1;stroke-width:3.112;stroke-dasharray:none">Public Key Material</tspan></text></g></g><g
id="g53-7-9"
transform="translate(-51.746818,-240.54914)"
style="display:inline;fill:#61a78d;fill-opacity:1"
inkscape:label="pk_algo"><g
id="g52-5-3"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-7"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-1-2-8"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Public-Key Algorithm</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-7"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-59-2-8-4"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text><path
style="fill:#ffffff;fill-opacity:1;stroke:#006961;stroke-width:1.198;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.594, 3.594;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1715.2763,2371.2093 h 327.7954"
id="path449-2-1"
transform="translate(37.299862,221.89606)" /></g></g><g
id="g53-7-0-9"
transform="translate(-51.746818,-281.19673)"
style="display:inline;fill:#61a78d;fill-opacity:1"
inkscape:label="creation_time"><g
id="g52-5-6-0"
transform="translate(0,17.161432)"><path
style="fill:#ffffff;fill-opacity:1;stroke:#006961;stroke-width:1.198;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.594, 3.594;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1715.2763,2327.9041 h 327.7954"
id="path449-9"
transform="translate(37.299862,262.54365)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-8"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-1-2-2-8"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Creation Time</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-5"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-59-2-8-6-8"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g><g
id="g53-7-0-6-4"
transform="translate(-51.746818,-321.44656)"
style="display:inline;fill:#61a78d;fill-opacity:1"
inkscape:label="version"><path
style="fill:#ffffff;fill-opacity:1;stroke:#006961;stroke-width:1.198;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:3.594, 3.594;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 1715.2763,2284.599 h 327.7954"
id="path449-4-3"
transform="translate(37.299862,319.95491)" /><g
id="g52-5-6-5-7"
transform="translate(0,17.161432)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1752.1871"
y="2576.7607"
id="text11-9-0-8-9-4-9-3-6-1"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-1-2-2-9-3"
x="1752.1871"
y="2576.7607"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.11166">Version</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.748px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:none;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.11166;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="1408.6503"
y="2577.8867"
id="text11-9-0-8-9-56-3-2-0-3-8"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9-0-59-2-8-6-7-0"
x="0"
y="0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15.748px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;fill:#7c858f;fill-opacity:1;stroke-width:3.11166">1010101</tspan></text></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 661.34149 269.23938"
version="1.1"
id="svg1"
width="661.34149"
height="269.23938"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
id="filter90-2-0"
x="-0.019165827"
y="-0.028762207"
width="1.0414438"
height="1.0655139"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-3-6" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-7-8" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-5-9" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-9-2" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-2-6" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-2-6" /><feFlood
id="feFlood90-8-4"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-9-9"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-7-5"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-3-0"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-6-4"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer10"
transform="translate(1251.7023,-966.50111)"><g
id="layer6-2"
style="display:inline;fill:#61a78d;fill-opacity:1"
transform="translate(-0.95068361,669.62611)"><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.31168;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-2-0)"
id="rect65-7"
width="642.6438"
height="250.32849"
x="825.70776"
y="875.02576"
transform="matrix(0.7953885,0,0,0.84925697,-1832.6321,-407.60505)"
d="m 855.24156,875.02576 h 583.57624 c 16.3617,0 29.5338,12.33657 29.5338,27.66046 v 195.00758 c 0,15.3239 -13.1721,27.6604 -29.5338,27.6604 H 855.24156 c -16.36172,0 -29.5338,-12.3365 -29.5338,-27.6604 V 902.68622 c 0,-15.32389 13.17208,-27.66046 29.5338,-27.66046 z"
ry="27.660467"
rx="29.5338" /><g
id="g11-8-2"
transform="matrix(0.86376245,0,0,0.86376245,-1913.5458,171.61913)"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.53446;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-2"
width="272.103"
height="73.842331"
x="914.89185"
y="156.37508" /><g
id="g4-7-6"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.49322;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-1"
width="272.53439"
height="71.346413"
x="917.30688"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:20.8391px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:235.782;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="964.56708"
y="158.44606"
id="text1-6-0"
transform="translate(-15.170772,-2.4355768)"><tspan
x="964.56708"
y="158.44606"
id="tspan1">Public part of an </tspan><tspan
x="964.56708"
y="184.49494"
id="tspan2">asymmetric keypair</tspan></text></g></g><path
id="path2-1-4-5-4"
style="display:inline;fill:none;fill-opacity:1;stroke:#006961;stroke-width:10.4431;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
transform="matrix(0.5520304,0,0,-0.5520304,-961.5735,865.9823)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="-1082.8253"
y="467.71802"
id="text11-2-1-8-9"><tspan
id="tspan11-9-03-1-0"
x="-1082.8253"
y="467.71802"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Public Key</tspan></text></g></g></svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 82 KiB

View File

@ -0,0 +1,894 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 667.51239 677.06818"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="667.51239"
height="677.06818"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
id="defs1"><marker
style="overflow:visible"
id="SemiCircleFilled"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Filled semicircle"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.6pt"
d="m -0.22470421,-0.02741555 c 0,1.65599995 1.34400001,2.99999995 3.00000001,2.99999995 v -6 c -1.656,0 -3.00000001,1.344 -3.00000001,3.00000005 z"
id="path25" /></marker><marker
style="overflow:visible"
id="ColoredDot"
refX="-3"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Colored dot"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.45)"
style="fill:context-fill;fill-rule:evenodd;stroke:context-stroke;stroke-width:2"
d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z"
sodipodi:nodetypes="sssss"
id="path14" /></marker><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,11.963211,0,1 @ F,0,0,1,0,14.667201,0,1 @ F,0,0,1,0,15.04711,0,1 @ F,0,0,1,0,13.953111,0,1 @ F,0,0,1,0,14.525684,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-9-8"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-7-4"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-63-8"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect35-1"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1 @ F,0,1,1,0,18.14255,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-0-3-1-7-0-6"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect71-63-4-8"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,12.362879,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><marker
style="overflow:visible"
id="Triangle-7"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="0.5"
markerHeight="0.5"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-4" /></marker><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect69-1"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><marker
style="overflow:visible"
id="Triangle-3"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Triangle arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135-3" /></marker><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect69-6"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,11.212676,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect73-7"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,4.9328368,0,1 @ F,0,0,1,0,8.3767486,0,1 @ F,0,0,1,0,9.8529047,0,1 @ F,0,0,1,0,9.8529047,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect4-5"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1 @ F,0,1,1,0,13.134939,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90-2-0-5"
x="-0.035144769"
y="-0.028762207"
width="1.0759963"
height="1.0655139"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-3-6-2" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-7-8-5" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-5-9-4" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-9-2-7" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-2-6-4" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-2-6-4" /><feFlood
id="feFlood90-8-4-3"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-9-9-0"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-7-5-7"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-3-0-8"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-6-4-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter><filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter90-2-0-5-0"
x="-0.034898754"
y="-0.027737869"
width="1.0754644"
height="1.0631807"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-3-6-2-4" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-7-8-5-0" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-5-9-4-8" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-9-2-7-5" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-2-6-4-1" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-2-6-4-6" /><feFlood
id="feFlood90-8-4-3-6"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-9-9-0-2"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-7-5-7-1"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-3-0-8-9"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-6-4-6-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="0.5"
inkscape:cx="1325"
inkscape:cy="-2391"
inkscape:window-width="2560"
inkscape:window-height="1371"
inkscape:window-x="0"
inkscape:window-y="314"
inkscape:window-maximized="1"
inkscape:current-layer="layer32"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="true"><inkscape:page
x="1.2633156e-05"
y="4.1230088e-08"
width="667.51239"
height="677.06818"
id="page72"
margin="0"
bleed="0"
inkscape:export-filename="OpenPGP_Certificate.svg"
inkscape:export-xdpi="94.510002"
inkscape:export-ydpi="94.510002" /><sodipodi:guide
position="-1554.1601,-3550.4175"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="-1710.418,-3365.0223"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="-889.98939,872.05751"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="-1051.0613,-4308.9023"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="-1710.418,-4308.9023"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="-1710.418,-3365.0223"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="-1051.0613,-4308.9023"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="-1710.418,-4308.9023"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer23"
inkscape:label="Chapter 8"
inkscape:highlight-color="#896af0"
style="display:inline"
transform="translate(-4035.9479,1943.9937)"><g
inkscape:groupmode="layer"
id="layer12"
inkscape:label="Subkey Binding Signature"
style="display:inline"
transform="translate(-4.3343954)"><rect
style="display:inline;fill:#ffffff;stroke-width:1.341;stroke-linecap:round;paint-order:fill markers stroke;filter:url(#filter90-2-0-5-0)"
id="rect14"
width="352.9295"
height="593.10876"
x="4058.6614"
y="-1891.391"
rx="16.71311"
ry="18.057041"
transform="matrix(1.0804118,0,0,1,-324.00644,-3.3233673)" /><g
id="g11-8-3-1"
transform="matrix(0.86376245,0,0,0.86376245,3294.6138,-2060.0521)"
inkscape:label="Diagramm Header"
style="display:inline;fill:#61a78d;fill-opacity:1"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.56081;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-9-8-2"
width="341.93723"
height="59.990269"
x="920.04065"
y="155.65892" /><g
id="g4-7-0-4"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.52183;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect1-3-7-5-7"
width="343.65778"
height="57.886284"
x="920.89868"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:27.967px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;white-space:pre;inline-size:383.857;display:inline;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="954.24536"
y="158.38867"
id="text1-6-6-8"
transform="matrix(0.85813569,0,0,0.85813569,117.0538,26.328688)"><tspan
x="954.24536"
y="158.38867"
id="tspan1">Subkey binding signature</tspan></text></g></g><g
id="g41-1"
style="display:inline"
inkscape:label="Subkey encr"
transform="matrix(0.765971,0,0,0.765971,3432.162,-1689.3424)"><path
id="rect11-2-9"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;fill:none;fill-opacity:0.1;stroke:#195962;stroke-width:4.39384;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:path-effect="#path-effect35-9-8"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
transform="matrix(0.92016709,0,0,0.69628804,56.855601,194.47989)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="870.22443"
y="359.37485"
id="text11-2-8-96"><tspan
sodipodi:role="line"
id="tspan11-9-0-0"
x="870.22443"
y="359.37485"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Component Key</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="338.83902"
y="-1225.12"
id="text11-2-8-0-6"
transform="rotate(90)"><tspan
sodipodi:role="line"
id="tspan11-9-0-2-49"
x="338.83902"
y="-1225.12"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start">encryption</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:17.9px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="562.8764"
y="408.97891"
id="text11-3-4-90"
transform="matrix(0.95580583,0,0,0.95580583,329.05744,76.348676)"
inkscape:label="fingerprint sk encr"><tspan
x="562.8764"
y="408.97891"
id="tspan3"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan2">C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D</tspan> </tspan><tspan
x="562.8764"
y="428.39824"
id="tspan5"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan4">BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94</tspan></tspan></text><path
id="path2-3-2-5-4"
style="display:inline;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.30474777,0,0,-0.30432596,1095.0353,632.13837)"
inkscape:path-effect="#path-effect32-0-3-1-7-4"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.5595px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:4.06237;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="872.33105"
y="416.93719"
id="text11-9-0-8"
transform="scale(1.0006928,0.99930768)"><tspan
sodipodi:role="line"
id="tspan11-3-6-9"
x="872.33105"
y="416.93719"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:20.5595px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:4.06237">- key creation time</tspan></text><path
style="display:inline;fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-5-6"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect71-63-8"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
transform="matrix(0.96439285,0,0,0.96305804,36.49511,189.52526)" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:207.42;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="1840.4709"
y="784.19983"
id="text11-2-8-02-9-0"
transform="matrix(0.98944431,0,0,1.0106683,2637.0818,-2572.1571)"><tspan
x="1840.4709"
y="784.19983"
id="tspan8"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan6">Primary key creates a </tspan><tspan
style="font-weight:bold;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold'"
id="tspan7">subkey </tspan></tspan><tspan
x="1840.4709"
y="799.31043"
id="tspan11"><tspan
style="font-weight:bold;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold'"
id="tspan9">binding signature</tspan><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan10"> to bind the </tspan></tspan><tspan
x="1840.4709"
y="814.42103"
id="tspan13"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan12">subkey to the primary key</tspan></tspan></text><g
id="g40-7"
style="display:inline"
inkscape:label="Primary"
transform="matrix(0.76022331,0,0,0.76022331,3442.0838,-1905.3963)"><path
id="rect11-7"
d="m 884.2432,192.95468 h 359.0109 a 18.14255,18.14255 45 0 1 18.1425,18.14255 v 126.63435 a 18.14255,18.14255 135 0 1 -18.1425,18.14255 H 884.2432 A 18.14255,18.14255 45 0 1 866.10065,337.73158 V 211.09723 a 18.14255,18.14255 135 0 1 18.14255,-18.14255 z"
style="font-variation-settings:'wght' 500;fill:#195962;fill-opacity:0.1;stroke:#195962;stroke-width:4.39384;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:path-effect="#path-effect35-1"
inkscape:original-d="M 866.10065,192.95468 H 1261.3966 V 355.87413 H 866.10065 Z"
transform="matrix(0.92016709,0,0,0.69628804,50.430978,-3.7263769)" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="861.96753"
y="161.23524"
id="text11-2-3"><tspan
sodipodi:role="line"
id="tspan11-9-7"
x="861.96753"
y="161.23524"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:21.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start">Component Key (primary)</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:17.9px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:393.624;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="559.75104"
y="408.97891"
id="text11-3-1"
transform="matrix(0.95580583,0,0,0.95580583,312.44807,-124.51895)"
inkscape:label="fingerprint primary"><tspan
x="559.75104"
y="408.97891"
id="tspan15"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan14">AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6</tspan> </tspan><tspan
x="559.75104"
y="428.39824"
id="tspan17"><tspan
style="font-size:16px;font-family:Monospace;-inkscape-font-specification:'Monospace, Normal'"
id="tspan16">7F33 00F9 FB0E C457 378C D29F 1026 98B3</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="149.70236"
y="-1324.163"
id="text11-2-8-0-4-1"
transform="rotate(90,-46.430008,-58.327962)"><tspan
sodipodi:role="line"
id="tspan11-9-0-2-76-50"
x="149.70236"
y="-1324.163"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';text-align:start;text-anchor:start">certification</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.7631px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;display:inline;opacity:1;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.70741;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="965.3064"
y="226.99016"
id="text11-9-0-0-9"
transform="matrix(1.0578135,0,0,1.0563493,-151.50452,-19.946044)"><tspan
sodipodi:role="line"
id="tspan11-3-6-3-0"
x="965.3064"
y="226.99016"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:18.7631px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';text-align:start;text-anchor:start;stroke-width:3.70741">- key creation time</tspan></text><path
id="path2-3-2-5-8-4"
style="display:inline;opacity:1;fill:none;stroke:#006961;stroke-width:12.5773;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.29399503,0,0,-0.29358811,1090.7429,427.72131)"
inkscape:path-effect="#path-effect32-0-3-1-7-0-6"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /><path
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#195962;stroke-width:2.48502;stroke-linecap:square;stroke-dasharray:4.97003, 4.97003;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 850.55372,198.75048 223.49328,0 a 12.362879,12.362879 45 0 1 12.3629,12.36288 v 49.53492"
id="path71-5-7-0"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect71-63-4-8"
inkscape:original-d="m 850.55372,198.75048 h 235.85618 v 61.8978"
transform="matrix(0.93036515,0,0,0.92907745,62.682252,0.72538386)" /></g><g
id="g72"
inkscape:label="Arrow with signature"
transform="translate(2460.7284,-3221.2764)"><path
style="fill:none;stroke:#195a63;stroke-width:2.475;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Triangle-7);paint-order:fill markers stroke"
d="m 1025.9063,1401.1985 v 215.9552"
id="path48-2"
transform="translate(719.79302,147.8069)"
sodipodi:nodetypes="cc"
inkscape:path-effect="#path-effect69-1"
inkscape:original-d="m 1025.9063,1401.1985 v 215.9552" /><g
id="g48-3"
transform="matrix(0.57005253,0,0,0.57208333,1462.8994,945.20224)"><g
id="g47-6"
inkscape:label="Signature Tag Vers2"><path
id="rect72-56"
d="m 465.54003,1054.3166 25.38484,-19.1223 a 6.2319955,6.2319955 1.372191 0 1 7.73342,0.1853 l 22.40305,18.6225 a 17.856072,17.856072 64.867503 0 1 6.4418,13.7314 v 58.4004 a 9.8529047,9.8529047 135 0 1 -9.8529,9.8529 h -48.9481 a 9.8529047,9.8529047 45 0 1 -9.8529,-9.8529 v -58.4004 a 16.797717,16.797717 116.50469 0 1 6.69079,-13.4169 z"
style="fill:#ffffff;fill-opacity:1;stroke:#baa600;stroke-width:10;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
sodipodi:nodetypes="cccccc"
inkscape:path-effect="#path-effect73-7"
inkscape:original-d="m 458.84924,1059.3568 36.01565,-27.1305 32.63825,27.1305 v 76.63 h -68.6539 z"
transform="matrix(0.44075795,-0.76341516,0.76341516,0.44075795,-557.60908,1109.4717)" /><g
id="g44-3"
transform="rotate(30.10635,504.1885,1346.6982)"
style="fill:#c83737"><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1236.656 26.84972,-0.038 v 0"
id="path43-9" /><path
style="display:inline;fill:#c83737;stroke:#baa600;stroke-width:6.06396;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 403.0337,1249.1118 26.84972,-0.038 v 0"
id="path43-3-4" /><g
id="g73-8"
transform="matrix(0.31111753,0.56338248,-0.56338248,0.31111753,965.42419,500.4011)"
inkscape:label="Signature Tag"><g
id="g10-8-1"
transform="rotate(-30,1140.748,355.65631)"
inkscape:label="Signature vers2"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-2"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-3"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-9"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-0"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-8"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g></g></g></g></g></g><rect
style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.478;stroke-linecap:round;stroke-dasharray:none;paint-order:fill markers stroke;filter:url(#filter90-2-0-5)"
id="rect96"
width="350.45898"
height="317.89709"
x="4392.6333"
y="-1650.4812"
ry="5.3207693"
transform="matrix(0.79753294,0,0,0.83850982,912.57174,-260.00309)"
rx="5.5941482" /><g
id="g67-9"
transform="translate(3646.5238,-2054.102)"
style="display:inline;stroke-width:1.7;stroke-dasharray:none"
inkscape:label="Signature enlarged"><g
id="g5"
inkscape:label="tag"
transform="matrix(1.0230832,0,0,1.0230832,236.10058,-294.18106)"><path
id="rect2-5"
style="display:inline;fill:#ede8c0;fill-opacity:0.6;stroke:none;stroke-width:1.475;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:2.95, 2.95;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 829.6162,807.10742 h 176.8247 a 13.134939,13.134939 45 0 1 13.1349,13.13494 v 81.2156 a 13.134939,13.134939 135 0 1 -13.1349,13.13494 H 829.6162 a 30.342731,30.342731 23.407104 0 1 -22.12405,-9.57719 l -32.4645,-34.58836 a 13.994242,13.994242 90 0 1 0,-19.15438 l 32.4645,-34.58836 a 30.342731,30.342731 156.5929 0 1 22.12405,-9.57719 z"
sodipodi:nodetypes="cccccc"
inkscape:path-effect="#path-effect4-5"
inkscape:original-d="M 816.48126,807.10742 H 1019.5758 V 914.5929 H 816.48126 l -50.44272,-53.74274 z"
transform="matrix(0.97234154,0,0,1.1146056,-211.25935,-91.423526)"
inkscape:label="tag fill" /><path
id="rect2"
style="display:inline;fill:none;fill-opacity:0.6;stroke:#d2c559;stroke-width:2.87827;stroke-linecap:square;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m 975.64764,806.62916 31.96566,0.34802 a 12.094167,12.094167 45.311886 0 1 11.9625,12.09345 v 80.85507 a 14.667201,14.667201 135 0 1 -14.6672,14.6672 H 831.52837 a 34.759995,34.759995 23.407104 0 1 -25.34485,-10.97142 l -30.59594,-32.59757 a 14.865939,14.865939 90 0 1 0,-20.3475 l 30.95279,-32.97776 a 26.364886,26.364886 149.62828 0 1 18.07275,-10.59123"
sodipodi:nodetypes="ccccccc"
transform="matrix(0.97576694,0,0,1.1189825,-214.77447,-94.7072)"
inkscape:label="tag outline"
inkscape:path-effect="#path-effect5"
inkscape:original-d="m 975.64764,806.62916 43.92816,0.47826 V 914.5929 H 816.48126 l -50.44272,-53.74274 50.44272,-53.74274 h 8.13186" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.4356px;font-family:Sans;-inkscape-font-specification:'Sans, @wght=500';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 500;text-align:start;text-anchor:start;white-space:pre;inline-size:215.51;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.69647;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="834.39349"
y="430.00592"
id="text11-2-8-96-6"
transform="matrix(0.99242225,0,0,0.99242225,-44.452281,14.921938)"><tspan
x="834.39349"
y="430.00592"
id="tspan20"><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan18">Subkey binding </tspan><tspan
style="font-weight:500;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium'"
id="tspan19">signature</tspan></tspan></text><g
id="g74"
transform="translate(-28,-16)"
style="display:inline"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,9.4067807)"><tspan
x="876.12891"
y="573.06091"
id="tspan21">- signature creation time</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,33.106816)"><tspan
x="876.12891"
y="573.06091"
id="tspan22">- key expiration time</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-8"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,56.806852)"><tspan
x="876.12891"
y="573.06091"
id="tspan23">- key flags</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-0"
transform="matrix(1.0006928,0,0,0.99930768,3.4014247,80.506887)"><tspan
x="876.12891"
y="573.06091"
id="tspan24">- issuer fingerprint</tspan></text></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:2.8271;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="842.0697"
y="470.20129"
id="text11-2-8-96-5-4"><tspan
sodipodi:role="line"
id="tspan11-9-0-0-9-9"
x="842.0697"
y="470.20129"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13.0667px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;stroke-width:2.8271">Signature over:</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-81"
transform="matrix(1.0006928,0,0,0.99930768,-35.237835,-81.103988)"><tspan
x="876.12891"
y="573.06091"
id="tspan25">Primary key</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5-9"
transform="matrix(1.0006928,0,0,0.99930768,-34.503995,-59.30512)"><tspan
x="876.12891"
y="573.06091"
id="tspan26">Subkey</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;text-anchor:start;white-space:pre;inline-size:202.099;display:inline;fill:#3e4349;fill-opacity:1;stroke:none;stroke-width:3.21325;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
x="876.12891"
y="573.06091"
id="text11-9-0-0-9-2-5-9-1"
transform="matrix(1.0006928,0,0,0.99930768,-34.503995,-36.906669)"><tspan
x="876.12891"
y="573.06091"
id="tspan27">Signature metadata:</tspan></text><path
style="opacity:1;fill:none;fill-opacity:1;stroke:#195962;stroke-width:1.49681;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:2.99361, 2.99361;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#ColoredDot);marker-end:url(#SemiCircleFilled);paint-order:fill markers stroke"
d="m 576.02743,494.53864 188.2846,-0.0295"
id="path252-2"
sodipodi:nodetypes="cc" /></g><g
id="g10-8-7-3"
transform="matrix(0.44113458,0.26713417,-0.26713417,0.44113458,4787.7693,-1956.7018)"
inkscape:label="Signature vers2"
style="display:inline;fill:#c83737"><circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.841;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
id="path73-6-7"
cx="228.22922"
cy="841.32001"
transform="rotate(0.01535728)"
r="33.171581" /><path
id="path3-6-9-0"
style="font-variation-settings:'wght' 700;fill:none;stroke:#195962;stroke-width:6.40174;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
d="m 563.52509,693.28894 a 35.520878,35.520878 0 0 1 -35.52088,35.52088 35.520878,35.520878 0 0 1 -35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,-35.52088 35.520878,35.520878 0 0 1 35.52088,35.52088 z"
transform="rotate(22.152263)" /><g
id="g9-2-1-6"
transform="translate(-1.3219444,-1.6027733)"><path
d="m 221.1513,845.27224 c 0.0245,1.19424 -0.23692,2.22055 -0.78414,3.07896 -0.54765,0.83668 -1.38159,1.48371 -2.5018,1.94111 -1.12021,0.45737 -2.51629,0.70319 -4.18825,0.73743 -1.23765,0.0254 -2.3034,-0.0398 -3.19722,-0.19519 -0.40967,-0.0614 -0.81981,-0.1454 -1.2304,-0.25248 -0.81861,-0.21326 -1.47042,-1.16054 -1.48776,-2.00679 l -0.0193,-0.94161 c -0.0173,-0.84625 0.59808,-1.25531 1.40189,-0.99093 0.54067,0.1779 1.10164,0.33456 1.68292,0.47012 1.11318,0.2596 2.09317,0.38071 2.94,0.36338 0.95541,-0.0196 1.62563,-0.17459 2.01069,-0.46476 0.40678,-0.29073 0.6055,-0.66408 0.59616,-1.12009 -0.006,-0.30395 -0.0986,-0.57361 -0.27724,-0.80889 -0.15687,-0.23564 -0.50985,-0.50005 -1.05893,-0.79293 -0.54906,-0.29285 -1.40389,-0.66636 -2.56449,-1.1205 -1.11717,-0.45504 -2.0387,-0.90321 -2.76459,-1.3445 -0.72633,-0.46305 -1.26988,-1.0167 -1.63063,-1.66098 -0.36121,-0.66602 -0.55204,-1.49842 -0.57249,-2.49726 -0.0338,-1.65022 0.58141,-2.901 1.84562,-3.75236 1.2642,-0.85137 2.96027,-1.29882 5.08819,-1.3424 1.1074,-0.0227 2.16274,0.0643 3.166,0.26099 0.55248,0.10835 1.1157,0.25922 1.68968,0.45273 0.80179,0.27028 1.17351,1.19658 0.86143,1.98335 l -0.26453,0.66566 c -0.31266,0.78654 -1.20031,1.16326 -2.0021,0.89235 -0.36088,-0.12188 -0.71322,-0.23163 -1.057,-0.32905 -0.78701,-0.24462 -1.58224,-0.35863 -2.38563,-0.34218 -0.71656,0.0147 -1.25739,0.12356 -1.62252,0.32648 -0.34343,0.20264 -0.51112,0.49924 -0.50312,0.89009 0.006,0.28225 0.098,0.54105 0.27657,0.77636 0.19986,0.21314 0.56303,0.44464 1.0895,0.69452 0.54818,0.24942 1.34781,0.58068 2.39896,0.99362 1.029,0.39161 1.91729,0.80789 2.66487,1.24877 0.74715,0.41919 1.32306,0.96129 1.72768,1.62641 0.4259,0.64296 0.64974,1.49642 0.67154,2.5604 z m 8.40639,-11.1515 0.30142,14.71885 c 0.0173,0.84626 -0.6546,1.54635 -1.5009,1.56367 l -1.78842,0.0366 c -0.84626,0.0173 -1.54635,-0.6546 -1.56367,-1.5009 l -0.30141,-14.71886 c -0.0173,-0.84627 0.6546,-1.54636 1.5009,-1.56367 l 1.78841,-0.0366 c 0.84627,-0.0173 1.54636,0.6546 1.56367,1.50092 z m -2.58432,-8.45298 c 0.71654,-0.0147 1.33892,0.1463 1.86718,0.48309 0.52779,0.31507 0.80102,0.92856 0.8197,1.8405 0.0182,0.89027 -0.22965,1.51444 -0.74357,1.87258 -0.51404,0.35807 -1.12931,0.54445 -1.84585,0.55913 -0.73826,0.0151 -1.37152,-0.14564 -1.89976,-0.48242 -0.50653,-0.33721 -0.7689,-0.95093 -0.78714,-1.84119 -0.0187,-0.91197 0.21837,-1.53591 0.71111,-1.87186 0.51401,-0.35808 1.14015,-0.54469 1.87841,-0.5598 z m 13.39221,6.37288 c 1.08569,-0.0222 2.06723,0.17489 2.94469,0.5914 0.87743,0.41649 1.62903,1.05274 2.25479,1.90885 l 0.13022,-0.003 c 0.053,-1.62151 0.92731,-2.07451 1.82469,-2.0929 l 1.0393,-0.0213 c 0.84625,-0.0173 1.54634,0.6546 1.56365,1.50091 l 0.14972,16.1761 c 0.006,0.63934 -0.23499,1.62306 -0.66503,2.2835 -0.43004,0.66044 -1.6198,1.93803 -2.93234,2.55141 -1.31208,0.63511 -2.94522,0.97267 -4.89944,1.0127 -1.2594,0.0258 -2.43346,-0.0261 -3.52226,-0.15591 -0.5644,-0.0688 -1.12339,-0.17137 -1.677,-0.30716 -0.82165,-0.20163 -1.4805,-1.1291 -1.49782,-1.97537 l -0.0166,-0.8113 c -0.0173,-0.84624 0.6054,-1.27193 1.41728,-1.03366 0.63265,0.18566 1.27493,0.33315 1.92677,0.44237 1.17744,0.21474 2.3741,0.30981 3.59007,0.28491 1.25939,-0.0258 1.98092,-0.20257 2.81336,-0.83044 0.83244,-0.62787 0.89293,-1.80789 0.88606,-2.76748 -0.007,-0.9596 -0.0109,-0.89572 0.005,-1.20015 l -0.093,0.14247 c -0.58885,0.94616 -1.30245,1.63415 -2.14085,2.06405 -0.8384,0.4299 -1.78955,0.65574 -2.85352,0.67753 -2.10622,0.0431 -3.77289,-0.72647 -5.00005,-2.30882 -1.2059,-1.60451 -1.8384,-3.85073 -1.89754,-6.73862 -0.0596,-2.90961 0.50192,-5.19113 1.68453,-6.84455 1.18262,-1.65342 2.83789,-2.50193 4.96582,-2.54551 z m 1.61152,3.90968 c -0.75999,0.0156 -1.3963,0.235 -1.90898,0.65818 -0.4914,0.40107 -0.85915,1.00596 -1.10329,1.81472 -0.22283,0.78655 -0.32202,1.77699 -0.29756,2.97124 0.0365,1.78052 0.34608,3.1101 0.92888,3.9888 0.58233,0.85699 1.47062,1.27326 2.66486,1.2488 0.62971,-0.0129 1.17099,-0.0999 1.62385,-0.2613 0.45245,-0.18299 0.81602,-0.46201 1.09073,-0.83695 0.29598,-0.39705 0.51374,-0.90114 0.65333,-1.5122 0.1396,-0.6111 0.20037,-1.3509 0.18258,-2.21946 l -0.012,-0.58626 c -0.0262,-1.2811 -0.17753,-2.30982 -0.4542,-3.08619 -0.27657,-0.77636 -0.68982,-1.33268 -1.23979,-1.66898 -0.55038,-0.358 -1.25984,-0.52813 -2.12841,-0.51033 z"
style="font-size:13.2602px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans, @wght=700';font-variation-settings:'wght' 700;display:inline;fill:#195962;stroke-width:10.8591;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="path1-2-8-1-9"
sodipodi:nodetypes="ccssccssssscccscccssssscsscscccccccccccssccssscscssscscsscsccsscszcscsssscszzccsscssccsccscsccsssscss" /><path
id="path4-4-9-2"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 208.35953,828.56065 c 4.20155,-6.40232 11.67933,-11.91499 20.19969,-11.73012 8.20624,0.17805 13.83263,3.91368 19.70116,9.24107"
sodipodi:nodetypes="csc" /><path
id="path4-6-7-0-1"
style="font-variation-settings:'wght' 700;display:inline;fill:none;stroke:#195962;stroke-width:3.64767;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:markers fill stroke"
d="m 248.51397,859.76996 c -5.73327,5.42971 -12.71409,8.56595 -19.29605,9.02109 -8.96638,0.62002 -15.41863,-3.91867 -20.7683,-10.62518"
sodipodi:nodetypes="csc" /></g></g><path
style="fill:none;stroke:#195a63;stroke-width:1.875;stroke-linecap:round;stroke-dasharray:3.75, 3.75;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Triangle-3);paint-order:fill markers stroke"
d="m 1246.2134,1474.5697 -265.09443,-0.1335 a 11.207033,11.207033 135.01442 0 0 -11.21267,11.2071 v 177.4249"
id="path48-70"
transform="matrix(-1,0,0,1,5630.0546,-3215.9265)"
sodipodi:nodetypes="ccc"
inkscape:path-effect="#path-effect69-6"
inkscape:original-d="m 1246.2134,1474.5697 -276.3071,-0.1391 v 188.6376" /></g></g><metadata
id="metadata1"><rdf:RDF><cc:Work
rdf:about=""><cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" /><dc:creator><cc:Agent><dc:title>The &quot;Notes on OpenPGP&quot; project</dc:title></cc:Agent></dc:creator><dc:source>https://codeberg.org/openpgp/notes/</dc:source></cc:Work><cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" /><cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /><cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" /></cc:License></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 665.03864 312.75489"
version="1.1"
id="svg1"
width="665.03864"
height="312.75488"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><filter
style="color-interpolation-filters:sRGB"
id="filter90-2"
x="-0.020186609"
y="-0.031382771"
width="1.0434854"
height="1.070755"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)"
id="feFlood89-3" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.132 0"
id="feGaussianBlur89-7" /><feOffset
result="offset"
in="blur"
dx="1.000000"
dy="1.000000"
id="feOffset89-5" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite89-9" /><feComposite
result="fbSourceGraphic"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite90-2" /><feColorMatrix
result="fbSourceGraphicAlpha"
in="fbSourceGraphic"
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
id="feColorMatrix90-2" /><feFlood
id="feFlood90-8"
result="flood"
in="fbSourceGraphic"
flood-opacity="0.796078"
flood-color="rgb(62,67,73)" /><feGaussianBlur
id="feGaussianBlur90-9"
result="blur"
in="fbSourceGraphic"
stdDeviation="3.000000" /><feOffset
id="feOffset90-7"
result="offset"
in="blur"
dx="1.000000"
dy="1.000000" /><feComposite
id="feComposite91-3"
result="comp1"
operator="in"
in="flood"
in2="offset" /><feComposite
id="feComposite92-6"
result="comp2"
operator="over"
in="fbSourceGraphic"
in2="comp1" /></filter></defs><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
id="layer10"
transform="translate(1253.9164,-685.7603)"><g
id="g59"
style="display:inline;fill:#61a78d;fill-opacity:1"
transform="translate(34.036671)"><path
style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.31168;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;filter:url(#filter90-2)"
id="path54"
width="642.6438"
height="250.32849"
x="825.70776"
y="875.02576"
transform="matrix(0.69387591,0,0,1.0001579,-1753.5098,-153.53499)"
d="m 859.5623,875.02576 h 574.9347 c 18.7554,0 33.8546,10.47526 33.8546,23.48713 v 203.35421 c 0,13.0119 -15.0992,23.4871 -33.8546,23.4871 H 859.5623 c -18.75541,0 -33.85454,-10.4752 -33.85454,-23.4871 V 898.51289 c 0,-13.01187 15.09913,-23.48713 33.85454,-23.48713 z"
ry="23.487137"
rx="33.854534" /><g
id="g56"
transform="matrix(0.86376245,0,0,0.86376245,-1925.8086,560.71661)"><rect
style="font-variation-settings:'wght' 700;fill:#195962;stroke-width:2.05191;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect54"
width="263.40088"
height="50"
x="913.1311"
y="156.37508" /><g
id="g55"
transform="translate(-11.145477,39.927363)"><rect
style="font-variation-settings:'wght' 700;fill:#e6e6e6;fill-opacity:1;stroke-width:2.05381;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
id="rect55"
width="263.88953"
height="50"
x="917.30688"
y="126.45267" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#3e4349;fill-opacity:1;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:markers fill stroke"
x="957.30615"
y="160.47955"
id="text55"><tspan
id="tspan55"
x="957.30615"
y="160.47955">Symmetric key</tspan></text></g></g><path
id="path1-6"
style="color:#000000;fill:#baa600;fill-opacity:1;stroke:#baa600;stroke-width:1.579;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 51.039502,477.193 c -7.204445,0 -13.087357,5.88404 -13.087358,13.08848 v 52.2623 c 1e-6,7.20445 5.882913,13.08736 13.087358,13.08736 h 35.760795 c 7.204443,0 13.087357,-5.88291 13.087357,-13.08736 v -10.4133 h 89.613036 c 2.70413,0 4.93846,-2.23546 4.93846,-4.93959 V 505.8856 c 0,-2.70412 -2.23433,-4.93958 -4.93846,-4.93959 h -23.09553 c -22.1765,0 -44.34846,0.0361 -66.517506,0 v -10.66453 c 0,-7.20444 -5.882914,-13.08848 -13.087357,-13.08848 z m 0,4.00033 h 35.760795 c 5.042684,0 9.087026,4.04547 9.087026,9.08815 v 10.66453 c -0.05354,-1.1e-4 -0.107136,1.2e-4 -0.16069,0 h -0.0023 -2.886799 c -1.10426,2.2e-4 -1.999382,0.89535 -1.999598,1.99961 -3.97e-4,1.10469 0.894904,2.0005 1.999598,2.00072 h 2.88454 c 0.722102,0.002 1.443852,-0.001 2.165948,0 22.842678,0.0422 45.682308,0 68.517098,0 h 23.09554 c 0.54237,0 0.93813,0.39689 0.93813,0.93926 v 21.30529 c 0,0.54237 -0.39576,0.93926 -0.93813,0.93926 h -93.778586 -2.88454 c -1.104256,2.2e-4 -1.999377,0.89534 -1.999598,1.9996 -4.03e-4,1.1047 0.8949,2.00051 1.999598,2.00073 h 2.88454 0.165215 v 10.4133 c 0,5.04269 -4.044342,9.08703 -9.087026,9.08703 H 51.039502 c -5.042687,0 -9.088159,-4.04434 -9.08816,-9.08703 v -52.2623 c 1e-6,-5.04268 4.045473,-9.08815 9.08816,-9.08815 z m 9.201725,22.3894 -3.793241,0.0588 c -3.771998,0.0585 -6.839601,3.17466 -6.839601,6.9471 v 11.85728 c 0,3.76993 3.132356,6.85389 6.901841,6.79546 l 3.793241,-0.0588 c 3.771999,-0.0585 6.839601,-3.17352 6.839601,-6.94598 v -11.8584 c 0,-3.76994 -3.132353,-6.85389 -6.901841,-6.79546 z m 0.06224,3.99919 c 1.586041,-0.0246 2.839271,1.21004 2.839271,2.79627 v 11.8584 c 0,1.63266 -1.269056,2.92143 -2.901511,2.94678 l -3.793241,0.0589 c -1.58604,0.0246 -2.839272,-1.21005 -2.839272,-2.79627 v -11.85728 c 0,-1.63264 1.269058,-2.92255 2.901512,-2.9479 z m 53.819583,12.338 c -0.9398,-6.5e-4 -1.70182,0.76137 -1.70117,1.70117 4.3e-4,0.93904 0.76213,1.69987 1.70117,1.69922 h 66.95703 l 0.0117,0.0117 0.30664,-0.0117 0.0605,-0.002 c 2.20129,-0.10155 2.14301,-3.3753 -0.0605,-3.39844 z m -5.8e-4,1.70046 h 67.27526 l -0.36681,0.0131 m 2.05881,-11.88009 c 0,1.08537 -0.87987,1.96525 -1.96524,1.96525 -1.08537,0 -1.96524,-0.87988 -1.96524,-1.96525 -10e-6,-1.08538 0.87986,-1.96526 1.96524,-1.96526 1.08538,0 1.96525,0.87988 1.96524,1.96526 z m -6.73286,-0.20402 c 1e-5,1.08538 -0.87986,1.96526 -1.96524,1.96526 -1.08538,0 -1.96526,-0.87988 -1.96525,-1.96526 0,-1.08538 0.87987,-1.96525 1.96525,-1.96525 1.08537,0 1.96524,0.87988 1.96524,1.96525 z m -12.37048,0.31604 c 0,1.08537 -0.87987,1.96525 -1.96524,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 0,-1.08537 0.87988,-1.96524 1.96525,-1.96524 1.08537,0 1.96524,0.87987 1.96524,1.96524 z m -10.66851,-0.11201 c 0,1.08538 -0.87988,1.96526 -1.96526,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 -1e-5,-1.08538 0.87987,-1.96526 1.96525,-1.96526 1.08539,-10e-6 1.96527,0.87987 1.96526,1.96526 z m -7.27785,0.0873 c 0,1.08538 -0.87987,1.96525 -1.96525,1.96525 -1.08538,0 -1.96525,-0.87987 -1.96525,-1.96525 0,-1.08538 0.87987,-1.96525 1.96525,-1.96525 1.08538,0 1.96525,0.87987 1.96525,1.96525 z"
transform="rotate(90,-588.51045,155.10639)" /></g></g></svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -0,0 +1,274 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="86.121002mm"
height="88.690002mm"
viewBox="-2 -2 86.121001 88.69"
version="1.1"
id="svg895"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="with_subkeys.svg"
inkscape:export-filename="with_subkeys.png"
inkscape:export-xdpi="128"
inkscape:export-ydpi="128"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview897"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="1"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.8505398"
inkscape:cx="131.85342"
inkscape:cy="220.7464"
inkscape:window-width="1139"
inkscape:window-height="999"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
showguides="true"
inkscape:export-bgcolor="#ffffffff" />
<defs
id="defs892">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-0"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1061-4"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-0-6"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1061-4-8"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-45.108357,-65.748822)">
<rect
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.112002;stroke-opacity:0.3512"
id="rect2546"
width="30.925091"
height="5.5468793"
x="70.936729"
y="88.572426" />
<path
style="fill:#008000;stroke-width:0.055678"
inkscape:connector-curvature="0"
d="m 92.085622,72.548328 c -0.07545,-0.06413 -0.173403,-0.100289 -0.274569,-0.09921 h -8.838057 c -0.235714,-0.58344 -0.5875,-1.118748 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354218 -7.14e-4,2.616882 2.126624,4.744756 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135305 l 0.766978,-0.821141 0.763745,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.04e-4,0.745736 -0.603551,1.348884 -1.34851,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348282,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348395,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348397,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227923 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.592119,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
id="path4600-8-0-6-5-1-3" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="71.489967"
y="92.02301"
id="text4813"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="71.489967"
y="92.02301"
id="tspan2137">Key creation time</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="71.489967"
y="96.432732"
id="tspan2143" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="71.997681"
y="99.62648"
id="text4813-3"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="71.997681"
y="99.62648"
id="tspan2143-5">OpenPGP primary key</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="71.997681"
y="103.15426"
id="tspan5177">(for certification)</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.213888;stroke-dasharray:none;stroke-opacity:0.3512"
id="rect6679-4"
width="33.126392"
height="30.530846"
x="69.85659"
y="65.855766" />
<rect
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.108321;stroke-opacity:0.3512"
id="rect2546-3"
width="30.925091"
height="5.1883211"
x="46.295441"
y="135.72607" />
<path
style="fill:#008000;stroke-width:0.055678"
inkscape:connector-curvature="0"
d="m 67.444361,119.70209 c -0.07545,-0.0641 -0.173403,-0.10029 -0.274569,-0.0992 h -8.838057 c -0.235714,-0.58344 -0.5875,-1.11875 -1.045896,-1.57714 -0.895819,-0.89582 -2.0881,-1.3893 -3.354486,-1.39088 -1.26604,6e-4 -2.457373,0.49384 -3.353723,1.39019 -0.896767,0.89676 -1.388432,2.08677 -1.389649,3.35421 -7.14e-4,2.61688 2.126624,4.74476 4.743457,4.74385 1.268733,1.5e-4 2.459253,-0.49154 3.355561,-1.38785 0.458495,-0.45849 0.808449,-0.99347 1.044891,-1.57812 l 2.904569,0.001 c 0.119925,-7.1e-4 0.231372,-0.0487 0.314493,-0.13749 l 0.763357,-0.81893 0.767168,0.81906 c 0.08155,0.0858 0.192871,0.1373 0.313036,0.13626 0.117875,0.001 0.232426,-0.0486 0.312307,-0.1353 l 0.766978,-0.82114 0.763746,0.82074 c 0.08156,0.0858 0.19502,0.13562 0.31293,0.13686 0.119855,-7.8e-4 0.222322,-0.0392 0.31462,-0.13736 l 0.765076,-0.8191 0.765839,0.81887 c 0.08297,0.0929 0.204721,0.14009 0.32763,0.13718 0.110663,-0.005 0.21137,-0.0492 0.287581,-0.12541 0.01061,-0.0106 0.02169,-0.0226 0.03125,-0.0355 l 1.079724,-1.34949 c 0.146244,-0.18202 0.119274,-0.44804 -0.05931,-0.59843 z m -14.322469,1.67755 c -4.03e-4,0.74574 -0.603551,1.34888 -1.348509,1.34851 -0.745637,3e-5 -1.348686,-0.60301 -1.348283,-1.34828 -1.48e-4,-0.74474 0.602462,-1.34805 1.348396,-1.34863 0.744725,8e-5 1.347923,0.60374 1.348396,1.3484 z m 13.386848,-0.53955 c 0,0.0887 -0.03724,0.17017 -0.09499,0.22792 -0.05777,0.0578 -0.139279,0.095 -0.227922,0.095 l -7.520894,-0.001 c -0.0083,-0.21755 -0.03183,-0.43157 -0.07029,-0.64294 l 7.59212,-7.6e-4 c 0.17725,-1e-5 0.321939,0.14468 0.321968,0.32189 z"
id="path4600-8-0-6-5-1-3-5" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="46.848679"
y="139.17664"
id="text4813-35"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="46.848679"
y="139.17664"
id="tspan2137-1">Key creation time</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="46.848679"
y="143.58636"
id="tspan2143-2" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="49.445145"
y="146.53407"
id="text4813-3-7"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="49.445145"
y="146.53407"
id="tspan2143-5-3">OpenPGP subkey</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="49.445145"
y="150.06184"
id="tspan602">(for encryption)</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.212829;stroke-dasharray:none;stroke-opacity:0.3512"
id="rect6679-4-6"
width="33.127453"
height="30.228081"
x="45.214771"
y="113.00903" />
<rect
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.113536;stroke-opacity:0.3512"
id="rect2546-3-0"
width="30.925091"
height="5.6999083"
x="95.076401"
y="135.68988" />
<path
style="fill:#008000;stroke-width:0.055678"
inkscape:connector-curvature="0"
d="m 116.22529,119.66579 c -0.0755,-0.0641 -0.1734,-0.10029 -0.27457,-0.0992 h -8.83806 c -0.23571,-0.58344 -0.5875,-1.11875 -1.04589,-1.57715 -0.89582,-0.89582 -2.0881,-1.38929 -3.35449,-1.39088 -1.26604,6e-4 -2.45737,0.49384 -3.353722,1.39019 -0.896767,0.89677 -1.388432,2.08677 -1.389649,3.35421 -7.14e-4,2.61689 2.126621,4.74476 4.743461,4.74386 1.26873,1.4e-4 2.45925,-0.49155 3.35556,-1.38785 0.45849,-0.4585 0.80845,-0.99348 1.04489,-1.57813 l 2.90457,0.001 c 0.11992,-7e-4 0.23137,-0.0487 0.31449,-0.13749 l 0.76336,-0.81893 0.76716,0.81907 c 0.0816,0.0858 0.19288,0.13729 0.31304,0.13626 0.11788,0.001 0.23243,-0.0486 0.31231,-0.13531 l 0.76698,-0.82114 0.76374,0.82074 c 0.0816,0.0858 0.19502,0.13562 0.31293,0.13686 0.11986,-7.8e-4 0.22232,-0.0392 0.31462,-0.13736 l 0.76508,-0.8191 0.76584,0.81887 c 0.083,0.0929 0.20472,0.14009 0.32763,0.13718 0.11066,-0.005 0.21137,-0.0492 0.28758,-0.12541 0.0106,-0.0106 0.0217,-0.0226 0.0312,-0.0355 l 1.07972,-1.34949 c 0.14625,-0.18202 0.11928,-0.44803 -0.0593,-0.59843 z m -14.32247,1.67754 c -4e-4,0.74574 -0.60355,1.34889 -1.34851,1.34851 -0.745636,4e-5 -1.348685,-0.60301 -1.348282,-1.34828 -1.48e-4,-0.74473 0.602462,-1.34805 1.348392,-1.34862 0.74473,7e-5 1.34793,0.60373 1.3484,1.34839 z m 13.38685,-0.53955 c 0,0.0887 -0.0372,0.17017 -0.095,0.22792 -0.0578,0.0578 -0.13928,0.095 -0.22792,0.095 l -7.5209,-0.001 c -0.008,-0.21756 -0.0318,-0.43158 -0.0703,-0.64295 l 7.59212,-7.6e-4 c 0.17725,-1e-5 0.32194,0.14468 0.32197,0.32189 z"
id="path4600-8-0-6-5-1-3-5-6" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="95.629639"
y="139.14044"
id="text4813-35-1"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="95.629639"
y="139.14044"
id="tspan2111-9-9">Key creation time</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="95.629639"
y="143.55017"
id="tspan2137-1-2" /><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="95.629639"
y="147.95988"
id="tspan2143-2-0" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="98.213715"
y="146.46913"
id="text4813-3-7-2"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="98.213715"
y="146.46913"
id="tspan2143-5-3-5">OpenPGP subkey</tspan><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="98.213715"
y="149.9969"
id="tspan604">(for signing)</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.212922;stroke-dasharray:none;stroke-opacity:0.3512"
id="rect6679-4-6-9"
width="33.127357"
height="30.254795"
x="93.995781"
y="112.97284" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;stroke:#000000;stroke-width:0.176389;stroke-opacity:0.3512"
x="66.635132"
y="110.99274"
id="text2347"><tspan
sodipodi:role="line"
id="tspan2345"
style="stroke-width:0.176389"
x="66.635132"
y="110.99274" /></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0)"
d="m 74.887155,104.31572 c -5.208608,8.22393 -0.03208,0.0461 -5.247912,8.19478"
id="path3976-5"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0-6)"
d="m 94.579553,104.30732 c 5.2086,8.22393 0.0321,0.0461 5.24791,8.19478"
id="path3976-5-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="99.450737"
y="69.89624"
id="text4813-36"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
x="99.450737"
y="69.89624"
id="tspan2143-6">P</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,23 @@
```{mermaid}
flowchart TD
subgraph Certificate
pk["Primary Key"]
uid["#quot;Alice #lt;alice@example.org#gt;#quot;"]
sk["Signing Subkey"]
usig(["PositiveCertification
PrimaryUserID: true"])
dksig(["DirectKeySignature"])
sksig(["SubkeyBindingSignature
KeyFlags: Sign Data
EmbeddedSignature: BackSignature"])
pk --- usig --> uid
dksig --> pk --- dksig
pk --- sksig --> sk
end
ds(["Data Signature"])
data("Data")
sk --- ds --> data
```

View File

@ -0,0 +1,56 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
```{mermaid}
%%{ init: { 'flowchart': { 'curve': 'monotoneX' } } }%%
flowchart LR
signature(OpenPGP Signature)
data(Signature on Data)
sigcomp(Signature on Component)
selfsig(Self-Signature)
thirdparty(Third-Party)
signature --> confsig & standalone & timestamp & data & sigcomp
data --> binary & text
sigcomp --> selfsig & thirdparty
selfsig --> skbind & skrev & uidcert & uidrev & dksig & krev
thirdparty --> uidcert & uidrev & dksig
subgraph Signature Types and Targets
standalone[0x02: Standalone]
subgraph Signature Packet
confsig[0x50: Third-Party Confirmation]
timestamp[0x40: Timestamp]
end
subgraph Data
binary[0x00: Binary Data]
text[0x01: Canonical Text]
end
subgraph Primary Key + User ID / Attr. Packet
uidcert[
0x10: Generic Certification
0x11: Persona Certification
0x12: Casual Certification
0x13: Positive Certification
]
uidrev[0x30: Certification Revocation]
end
subgraph Primary Key
dksig[0x1F: Direct-Key Signature]
krev[0x20: Key Revocation]
end
subgraph Primary + Subkey
skbind[
0x18: Subkey Binding
0x19: Primary Key Binding
]
skrev[0x28: Subkey Revocation]
end
end
```

View File

@ -0,0 +1,26 @@
diff --git a/sphinx/builders/html/__init__.py b/sphinx/builders/html/__init__.py
index 85067be0178..91d3647597c 100644
--- a/sphinx/builders/html/__init__.py
+++ b/sphinx/builders/html/__init__.py
@@ -1061,7 +1061,9 @@ def css_tag(css: _CascadingStyleSheet) -> str:
attrs.append(f'{key}="{html.escape(value, quote=True)}"')
uri = pathto(os.fspath(css.filename), resource=True)
if checksum := _file_checksum(outdir, css.filename):
- uri += f'?v={checksum}'
+ # the EPUB format does not allow the use of query components
+ if self.name != 'epub':
+ uri += f'?v={checksum}'
return f'<link {" ".join(sorted(attrs))} href="{uri}" />'
ctx['css_tag'] = css_tag
@@ -1092,7 +1094,9 @@ def js_tag(js: _JavaScript | str) -> str:
# https://github.com/sphinx-doc/sphinx/issues/11658
pass
elif checksum := _file_checksum(outdir, js.filename):
- uri += f'?v={checksum}'
+ # the EPUB format does not allow the use of query components
+ if self.name != 'epub':
+ uri += f'?v={checksum}'
if attrs:
return f'<script {" ".join(sorted(attrs))} src="{uri}"></script>'
return f'<script src="{uri}"></script>'

View File

View File

@ -0,0 +1,74 @@
/*
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC0-1.0
*/
/*
Admonitions
*/
div.admonition {
background-color: lightgray;
}
div.warning,
div.admonition-warning {
background-color: palevioletred;
}
/*
External links
*/
a.external.reference {
border-bottom: 1px solid darkgreen;
color: darkgreen;
text-decoration: none;
}
/*
Internal links
*/
a.internal {
text-decoration: none;
border-bottom-style: none;
}
/*
Text in section and reference links and footnote links
*/
span.std-doc,
span.std-numref,
span.std-ref,
a.footnote-reference {
border-bottom: 1px dashed #3333ff;
color: #3333ff;
text-decoration: none;
}
/*
Text in glossary links
*/
span.std-term {
color: black;
border-bottom: 1px dotted black;
}
/*
Footnote list
*/
aside.footnote-list {
border-top: 1px solid black;
margin-top: 2em;
padding-top: 2em;
}
/*
Cover
*/
div.cover-img {
text-align: center;
}
div.cover-img span img {
height: 100%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 KiB

View File

@ -0,0 +1,57 @@
/*
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC0-1.0
NOTE: Colors are adapted to match those of the "alabaster" theme
*/
/*
External links
*/
a.external.reference {
color: darkgreen;
text-decoration: none;
border-bottom: 1px solid darkgreen;
}
/*
Internal links
*/
a.internal.reference {
text-decoration: none;
border-bottom-style: none;
}
/*
Text in section and reference links
*/
span.std-doc,
span.std-numref,
span.std-ref,
a.footnote-reference {
border-bottom: 1px dashed #3333ff;
color: #3333ff;
text-decoration: none;
}
a.footnote-reference:hover {
border-bottom: 1px dashed #3333ff;
text-decoration: none;
}
/*
Text in glossary links
*/
span.std-term {
color: rgb(62, 67, 73);
border-bottom: 1px dotted rgb(62, 67, 73);
}
/*
Footnote list
*/
aside.footnote-list {
border-top: 1px solid black;
margin-top: 2em;
padding-top: 2em;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -0,0 +1,158 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 178 178"
version="1.1"
id="svg1"
sodipodi:docname="favicon.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
width="178"
height="178"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"><defs
id="defs1"><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><pattern
inkscape:collect="always"
xlink:href="#shading6"
preserveAspectRatio="xMidYMid"
id="pattern180"
patternTransform="matrix(-0.74999999,0,0,-0.74999999,796.91394,-2553.0795)"
x="0"
y="0" /><pattern
patternUnits="userSpaceOnUse"
width="372.6899"
height="66.1838"
patternTransform="scale(0.2)"
preserveAspectRatio="xMidYMid"
id="shading6"
style="fill:#ee5937"
inkscape:label="Schmale Linien (Halbton)"
inkscape:collect="always"
inkscape:isstock="true"><path
id="path34"
style="stroke-width:0.487199;stroke-linecap:square;paint-order:markers fill stroke;stop-color:#000000"
d="m 371.6961,0 h 0.9938 v 66.1838 h -0.9938 z m -7.9084,0 h 1.1312 v 66.1838 h -1.1312 z m -7.9085,0 h 1.2687 v 66.1838 h -1.2687 z m -7.9084,0 h 1.4062 v 66.1838 h -1.4062 z m -7.9084,0 h 1.5436 v 66.1838 h -1.5436 z m -7.9084,0 h 1.681 v 66.1838 h -1.681 z m -7.9085,0 h 1.8185 v 66.1838 h -1.8185 z m -7.9084,0 h 1.9559 v 66.1838 h -1.9559 z m -7.9084,0 h 2.0934 v 66.1838 h -2.0934 z m -7.9085,0 h 2.2309 v 66.1838 h -2.2309 z m -7.9084,0 h 2.3683 v 66.1838 h -2.3683 z m -7.9084,0 h 2.5057 v 66.1838 h -2.5057 z m -7.9084,0 h 2.6431 v 66.1838 h -2.6431 z m -7.9085,0 h 2.7807 v 66.1838 h -2.7807 z m -7.9084,0 h 2.9181 v 66.1838 h -2.9181 z m -7.9084,0 h 3.0555 v 66.1838 h -3.0555 z m -7.9084,0 h 3.1929 v 66.1838 h -3.1929 z m -7.9085,0 h 3.3304 v 66.1838 h -3.3304 z m -7.9084,0 h 3.4679 v 66.1838 h -3.4679 z m -7.9084,0 h 3.6053 v 66.1838 h -3.6053 z m -7.9085,0 h 3.7428 v 66.1838 h -3.7428 z m -7.9084,0 h 3.8802 v 66.1838 h -3.8802 z m -7.9084,0 h 4.0176 v 66.1838 h -4.0176 z m -7.9084,0 h 4.1551 v 66.1838 h -4.1551 z m -7.9085,0 h 4.2926 v 66.1838 h -4.2926 z m -7.9084,0 h 4.43 v 66.1838 h -4.43 z m -7.9084,0 h 4.5674 v 66.1838 h -4.5674 z m -7.9084,0 h 4.7048 v 66.1838 h -4.7048 z m -7.9085,0 h 4.8424 v 66.1838 h -4.8424 z m -7.9084,0 h 4.9798 v 66.1838 h -4.9798 z m -7.9084,0 h 5.1172 v 66.1838 h -5.1172 z m -7.9084,0 h 5.2546 v 66.1838 h -5.2546 z m -7.9085,0 h 5.3921 v 66.1838 h -5.3921 z m -7.9084,0 h 5.5295 v 66.1838 h -5.5295 z m -7.9084,0 h 5.667 v 66.1838 h -5.667 z m -7.9085,0 h 5.8045 v 66.1838 h -5.8045 z m -7.9084,0 h 5.9419 v 66.1838 h -5.9419 z m -7.9084,0 h 6.0793 v 66.1838 h -6.0793 z m -7.9084,0 h 6.2167 v 66.1838 h -6.2167 z m -7.9085,0 h 6.3543 V 66.1838 H 63.2674 Z M 55.359,0 h 6.4917 V 66.1838 H 55.359 Z m -7.9084,0 h 6.6291 v 66.1838 h -6.6291 z m -7.9084,0 h 6.7665 v 66.1838 h -6.7665 z m -7.9085,0 h 6.904 v 66.1838 h -6.904 z m -7.9084,0 h 7.0415 v 66.1838 h -7.0415 z m -7.9084,0 h 7.1789 V 66.1838 H 15.8169 Z M 7.9084,0 h 7.3164 V 66.1838 H 7.9084 Z M 0,0 H 7.4538 V 66.1838 H 0 Z" /></pattern><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-1-0-4-9"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><sodipodi:namedview
id="namedview1"
pagecolor="#000000"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="false"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="2.8284271"
inkscape:cx="172.35728"
inkscape:cy="81.494057"
inkscape:window-width="2396"
inkscape:window-height="1293"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer31"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="true"
borderlayer="false"
showborder="false"><sodipodi:guide
position="1616.9091,-4139.1099"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-3953.7147"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="2281.0798,283.36511"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="2120.0079,-4897.5947"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-4897.5947"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-3953.7147"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="2120.0079,-4897.5947"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-4897.5947"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /><inkscape:page
x="6.7782037e-07"
y="-1.4691306e-05"
width="289.7142"
height="162.06558"
id="page94"
margin="0"
bleed="0" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="background"
style="display:inline"
transform="translate(-747.93347,2616.9115)"><circle
style="fill:#ffffff;stroke-width:1.10046"
id="path1"
cx="837.15222"
cy="-2527.8208"
r="88.814758" /></g><g
inkscape:groupmode="layer"
id="layer31"
inkscape:label="OpenPGP signature packet"
style="display:inline"
transform="translate(-864.87878,2560.6205)"><path
id="path2-1-4-5-1-7-1"
style="display:inline;mix-blend-mode:multiply;fill:url(#pattern180);fill-opacity:1;stroke:none;stroke-width:5.8655;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="Publickey ((Asym))"
d="m 998.6159,-2418.8799 c 18.627,0.4549 34.0958,-14.2763 34.5508,-32.9033 0.4549,-18.627 -14.2763,-34.0964 -32.9033,-34.5513 -13.08964,-0.3198 -24.68294,7.9128 -30.53934,18.6737 l -0.02,0.6846 c -5.8504,-0.083 -12.9906,-0.3268 -19.4381,-0.4843 l -6.5249,4.132 -8.0925,-4.489 -8.29796,3.9224 -6.10817,-0.1492 -6.38326,-4.281 -10.01748,3.8804 -9.07911,-4.3467 -12.70174,13.9931 12.00349,14.5971 73.79643,1.8024 -0.01,0.2382 c 5.2187,11.3157 16.4642,18.9558 29.76264,19.2806 z m 16.2144,-25.7678 a 7.1906559,7.1906559 0 0 1 -7.0131,-7.3643 7.1906559,7.1906559 0 0 1 7.3642,-7.013 7.1906559,7.1906559 0 0 1 7.0131,7.3642 7.1906559,7.1906559 0 0 1 -7.3642,7.0131 z" /><path
id="path2-1-4-5-8"
style="display:inline;mix-blend-mode:multiply;fill:none;fill-opacity:1;stroke:#006961;stroke-width:10.4431;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.56166813,0,0,-0.56166813,852.19581,-2074.1507)"
inkscape:path-effect="#path-effect32-1-0-4-9"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /></g><metadata
id="metadata1"><rdf:RDF><cc:Work
rdf:about=""><cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" /></cc:Work><cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" /><cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /><cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" /></cc:License></rdf:RDF></metadata></svg>

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 289.7142 162.06558"
version="1.1"
id="svg1"
sodipodi:docname="diag_library_draft.svg"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
width="289.7142"
height="162.06558"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1"><linearGradient
id="swatch251"
inkscape:swatch="solid"><stop
style="stop-color:#195962;stop-opacity:1;"
offset="0"
id="stop251" /></linearGradient><pattern
inkscape:collect="always"
xlink:href="#shading6"
preserveAspectRatio="xMidYMid"
id="pattern180"
patternTransform="matrix(-0.74999999,0,0,-0.74999999,864.87878,-2550.6205)"
x="0"
y="0" /><pattern
patternUnits="userSpaceOnUse"
width="372.6899"
height="66.1838"
patternTransform="scale(0.2)"
preserveAspectRatio="xMidYMid"
id="shading6"
style="fill:#ee5937"
inkscape:label="Schmale Linien (Halbton)"
inkscape:collect="always"
inkscape:isstock="true"><path
id="path34"
style="stroke-width:0.487199;stroke-linecap:square;paint-order:markers fill stroke;stop-color:#000000"
d="m 371.6961,0 h 0.9938 v 66.1838 h -0.9938 z m -7.9084,0 h 1.1312 v 66.1838 h -1.1312 z m -7.9085,0 h 1.2687 v 66.1838 h -1.2687 z m -7.9084,0 h 1.4062 v 66.1838 h -1.4062 z m -7.9084,0 h 1.5436 v 66.1838 h -1.5436 z m -7.9084,0 h 1.681 v 66.1838 h -1.681 z m -7.9085,0 h 1.8185 v 66.1838 h -1.8185 z m -7.9084,0 h 1.9559 v 66.1838 h -1.9559 z m -7.9084,0 h 2.0934 v 66.1838 h -2.0934 z m -7.9085,0 h 2.2309 v 66.1838 h -2.2309 z m -7.9084,0 h 2.3683 v 66.1838 h -2.3683 z m -7.9084,0 h 2.5057 v 66.1838 h -2.5057 z m -7.9084,0 h 2.6431 v 66.1838 h -2.6431 z m -7.9085,0 h 2.7807 v 66.1838 h -2.7807 z m -7.9084,0 h 2.9181 v 66.1838 h -2.9181 z m -7.9084,0 h 3.0555 v 66.1838 h -3.0555 z m -7.9084,0 h 3.1929 v 66.1838 h -3.1929 z m -7.9085,0 h 3.3304 v 66.1838 h -3.3304 z m -7.9084,0 h 3.4679 v 66.1838 h -3.4679 z m -7.9084,0 h 3.6053 v 66.1838 h -3.6053 z m -7.9085,0 h 3.7428 v 66.1838 h -3.7428 z m -7.9084,0 h 3.8802 v 66.1838 h -3.8802 z m -7.9084,0 h 4.0176 v 66.1838 h -4.0176 z m -7.9084,0 h 4.1551 v 66.1838 h -4.1551 z m -7.9085,0 h 4.2926 v 66.1838 h -4.2926 z m -7.9084,0 h 4.43 v 66.1838 h -4.43 z m -7.9084,0 h 4.5674 v 66.1838 h -4.5674 z m -7.9084,0 h 4.7048 v 66.1838 h -4.7048 z m -7.9085,0 h 4.8424 v 66.1838 h -4.8424 z m -7.9084,0 h 4.9798 v 66.1838 h -4.9798 z m -7.9084,0 h 5.1172 v 66.1838 h -5.1172 z m -7.9084,0 h 5.2546 v 66.1838 h -5.2546 z m -7.9085,0 h 5.3921 v 66.1838 h -5.3921 z m -7.9084,0 h 5.5295 v 66.1838 h -5.5295 z m -7.9084,0 h 5.667 v 66.1838 h -5.667 z m -7.9085,0 h 5.8045 v 66.1838 h -5.8045 z m -7.9084,0 h 5.9419 v 66.1838 h -5.9419 z m -7.9084,0 h 6.0793 v 66.1838 h -6.0793 z m -7.9084,0 h 6.2167 v 66.1838 h -6.2167 z m -7.9085,0 h 6.3543 V 66.1838 H 63.2674 Z M 55.359,0 h 6.4917 V 66.1838 H 55.359 Z m -7.9084,0 h 6.6291 v 66.1838 h -6.6291 z m -7.9084,0 h 6.7665 v 66.1838 h -6.7665 z m -7.9085,0 h 6.904 v 66.1838 h -6.904 z m -7.9084,0 h 7.0415 v 66.1838 h -7.0415 z m -7.9084,0 h 7.1789 V 66.1838 H 15.8169 Z M 7.9084,0 h 7.3164 V 66.1838 H 7.9084 Z M 0,0 H 7.4538 V 66.1838 H 0 Z" /></pattern><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect32-1-0-4-9"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 | F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:lockguides="false"
inkscape:zoom="2"
inkscape:cx="2755.25"
inkscape:cy="-1707.25"
inkscape:window-width="2560"
inkscape:window-height="1371"
inkscape:window-x="0"
inkscape:window-y="314"
inkscape:window-maximized="1"
inkscape:current-layer="layer31"
showgrid="false"
inkscape:export-bgcolor="#ffffff00"
showguides="true"><sodipodi:guide
position="1616.9091,-4157.0443"
orientation="0,-1"
id="guide360"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-3971.6491"
orientation="0,659.35662"
id="guide361"
inkscape:locked="false" /><sodipodi:guide
position="2281.0798,265.43069"
orientation="943.88005,0"
id="guide362"
inkscape:locked="false" /><sodipodi:guide
position="2120.0079,-4915.5291"
orientation="0,-659.35662"
id="guide363"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-4915.5291"
orientation="-943.88005,0"
id="guide364"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-3971.6491"
orientation="0,659.35662"
id="guide365"
inkscape:locked="false" /><sodipodi:guide
position="2120.0079,-4915.5291"
orientation="0,-659.35662"
id="guide367"
inkscape:locked="false" /><sodipodi:guide
position="1460.6512,-4915.5291"
orientation="-943.88005,0"
id="guide368"
inkscape:locked="false" /><inkscape:page
x="6.7782037e-07"
y="-1.4691306e-05"
width="289.7142"
height="162.06558"
id="page94"
margin="0"
bleed="0" /></sodipodi:namedview><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><g
inkscape:groupmode="layer"
id="layer18"
inkscape:label="Chapter 6"
style="display:inline"
transform="translate(-864.87878,2550.6205)"><g
inkscape:groupmode="layer"
id="layer31"
inkscape:label="OpenPGP signature packet"><path
id="path2-1-4-5-1-7-1"
style="display:inline;mix-blend-mode:multiply;fill:url(#pattern180);fill-opacity:1;stroke:none;stroke-width:5.8655;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="Publickey ((Asym))"
d="m 1066.5807,-2416.4209 c 18.627,0.4549 34.0958,-14.2763 34.5508,-32.9033 0.4549,-18.627 -14.2763,-34.0964 -32.9033,-34.5513 -13.0896,-0.3198 -24.6829,7.9128 -30.5393,18.6737 l -0.02,0.6846 c -5.8504,-0.083 -12.9906,-0.3268 -19.4381,-0.4843 l -6.5249,4.132 -8.0925,-4.489 -8.29796,3.9224 -6.10817,-0.1492 -6.38326,-4.281 -10.01748,3.8804 -9.07911,-4.3467 -12.70174,13.9931 12.00349,14.5971 73.79643,1.8024 -0.01,0.2382 c 5.2187,11.3157 16.4642,18.9558 29.7626,19.2806 z m 16.2144,-25.7678 a 7.1906559,7.1906559 0 0 1 -7.0131,-7.3643 7.1906559,7.1906559 0 0 1 7.3642,-7.013 7.1906559,7.1906559 0 0 1 7.0131,7.3642 7.1906559,7.1906559 0 0 1 -7.3642,7.0131 z" /><path
id="path2-1-4-5-8"
style="display:inline;mix-blend-mode:multiply;fill:none;fill-opacity:1;stroke:#006961;stroke-width:10.4431;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z"
inkscape:label="Publickey ((Asym))"
sodipodi:nodetypes="cssscccccccccccccccsssss"
transform="matrix(0.56166813,0,0,-0.56166813,920.16065,-2071.6917)"
inkscape:path-effect="#path-effect32-1-0-4-9"
inkscape:original-d="m 156.30312,759.25868 c -9.78054,19.91382 -30.12868,33.02384 -53.81237,33.02384 -33.173715,0 -60.066326,-26.89261 -60.066326,-60.06633 0,-33.17372 26.892611,-60.06633 60.066326,-60.06633 23.31181,0 43.58824,15.15712 53.54415,34.5646 m -9.14624,1.20213 h 4.97796 c 10.89491,0.20296 25.86265,0 38.79397,0 l 11.43353,7.63836 14.59897,-7.63836 14.59896,7.3422 h 10.87817 l 11.54761,-7.3422 17.66083,7.3422 16.34856,-7.34219 22,25.45886 -22,25.45887 h -135.8606 -4.97796 M 89.058073,732.21619 c -4e-6,6.98969 -5.666271,12.65596 -12.655965,12.65596 -6.989695,0 -12.655963,-5.66627 -12.655967,-12.65596 -2e-6,-6.9897 5.666268,-12.65597 12.655967,-12.65597 6.989698,0 12.655967,5.66627 12.655965,12.65597 z" /></g></g></svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,22 @@
{#
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
#}
{%- extends "layout.html" %}
{%- block header %}{% endblock %}
{%- block rootrellink %}{% endblock %}
{%- block relbaritems %}{% endblock %}
{%- block sidebarlogo %}{% endblock %}
{%- block linktags %}{% endblock %}
{%- block relbar1 %}{% endblock %}
{%- block sidebar1 %}{% endblock %}
{%- block sidebar2 %}{% endblock %}
{%- block footer %}{% endblock %}
{% block content %}
<div class="cover-img">
<span>
<img src="{{ image }}" alt="Cover" />
</span>
</div>
{% endblock %}

51
book/source/about.md Normal file
View File

@ -0,0 +1,51 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Introducing OpenPGP
This documentation project is designed to provide a comprehensive understanding of OpenPGP, highlighting its functionalities and applications for software developers. While this document predominantly references [OpenPGP version 6, as outlined in the latest RFC](https://datatracker.ietf.org/doc/draft-ietf-openpgp-crypto-refresh/), it is important to note that the fundamental principles and functionalities of OpenPGP have remained consistent across its versions since its first release as an open standard in RFC 2440 in 1998.
This documentation project seeks to introduce all OpenPGP concepts and functionalities to application developers who wish to use it in their projects.
## What is OpenPGP?
OpenPGP is an open standard for cryptographic operations. It is a system based on well-understood [cryptographic building blocks](/cryptography). OpenPGP supports the secure delivery of files and messages between a sender and a recipient. It also addresses identities and their verification. OpenPGP is an outgrowth of the ["Pretty Good Privacy (PGP)"](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) encryption program and has many widely used and [interoperable implementations](interoperability).
With OpenPGP, you can:
- [Encrypt](/encryption) and [decrypt](/decryption) messages to preserve confidentiality
- [Sign](/signing_data) and [verify](/verification) data to ensure {term}`authenticity<Authentication>`
- [Issue and validate certifications](/signing_components) about {term}`keys<Key>` and {term}`identities<Identity>`, similar to the role of a {term}`Certificate Authority<Certification Authority>` ({term}`CA<Certification Authority>`) in validating {term}`identities<Identity>`.
## Who is the audience for this document?
Three groups of people interact with OpenPGP:
1. End-users, who use software that contains OpenPGP functionality (e.g., the Thunderbird email software)
2. Software developers who build applications that contain OpenPGP functionality
3. Implementers of OpenPGP libraries (or other software that directly handles the processing of internal OpenPGP data structures)
This document is not intended for end-users or implementers of OpenPGP libraries (or other software that directly handles internal OpenPGP data structures).
Instead, this document is focused on the second group, application developers, who use OpenPGP functionality in their software projects. It describes the properties of the OpenPGP system and its uses. It presupposes solid knowledge of software development concepts and of general cryptographic concepts. Thus, this text describes OpenPGP at the "library-level," teaching concepts that will help software developers get started as a user of any implementation (e.g., [OpenPGP.js](https://openpgpjs.org/), [Sequoia-PGP](https://sequoia-pgp.org/)).
With the emergence of a new crop of modern, high-quality OpenPGP libraries, and the imminent release of the updated [OpenPGP version 6 specification](https://datatracker.ietf.org/doc/draft-ietf-openpgp-crypto-refresh/), we think that now is a great time to implement OpenPGP functionality in applications or to modernize existing OpenPGP subsystems.
The goal of this document is to offer an implementation-independent introduction to the OpenPGP technology, assisting software developers in quickly familiarizing themselves and serving as a pathway to relevant information in the RFC.
## Why not just use the OpenPGP RFC?
The [OpenPGP RFC](https://datatracker.ietf.org/doc/draft-ietf-openpgp-crypto-refresh/)
defines *the message formats used in OpenPGP.* That is, it describes the internal structure of OpenPGP data, which is crucial for OpenPGP library implementers. However, this level of detail is not required for software developers who use OpenPGP via a library.
This document describes OpenPGP concepts at the "library" level of abstraction, omitting unnecessary detail about the internal encoding of OpenPGP artifacts. Instead, we focus on the properties of these OpenPGP artifacts and how they are used, while adding context that is not elaborated on in the [RFC](https://en.wikipedia.org/wiki/Request_for_Comments).
## Which version of OpenPGP does this address?
This documentation encompasses the core aspects of modern OpenPGP practices, applicable across different versions. This respects that, at a foundational level, there is significant overlap, continuity, and consistency from its earliest version to its latest.
While using version 6 as a reference for current standards, we include insights derived from earlier versions, particularly version 4, which continues to be widely used in ongoing projects.
Where differences between OpenPGP versions are relevant to application development, we provide focused insights to ensure the content remains as version-agnostic as possible and, thus, broadly applicable for developers working with various iterations of OpenPGP.

View File

@ -0,0 +1,57 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Acknowledgements
OpenPGP is a manifestation of [the political vision of Phil Zimmermann](https://philzimmermann.com/EN/background/peace.html), reflecting his commitment to human rights and the peace movement. Therefore, we foremost acknowledge Phil, who, alongside early PGP developers, worked with dedication and courage to introduce one of the first sophisticated cryptographic tools to the world, despite substantial personal risk.
All subsequent projects in the OpenPGP space are indebted to the foundational ideas and principles of those early days[^puzzle], including the pivotal decision to standardize the OpenPGP format through the IETF.
[^puzzle]: These ideas and principles include some ongoing challenges, such as the puzzle of how to develop a scalable distributed PKI and trust model.
In the intervening three decades, many have contributed to the OpenPGP space. We recognize the civic-oriented work of those who have helped evolve the OpenPGP ecosystem into a tool for digital empowerment.
## Team
The "Notes on OpenPGP" project is a collective endeavor, with contributions from a wide-ranging community.
The principal authors of this work, "OpenPGP for application developers," are:
- Tammi Coles (editor)
- Sabrina Kurtz (illustrator)
- Wiktor Kwapisiewicz
- David Runge
- Paul Schaub
- Heiko Schäfer
## Expert advisors, readers, supporters
Andrew Gallagher provided input and discussions, particularly regarding the SKS Keyserver network.
Daniel Huigens was instrumental in shaping the early direction of this project.
Daniel Kahn Gillmor provided valuable input and encouragement.
Dennis Schmolk thoroughly reviewed the initial draft, offering detailed critiques.
Lance Vick contributed strategic communication advice.
Lars Wirzenius provided extensive feedback on early drafts.
Levente Polyak shared insights from the vantage point of an organization extensively using OpenPGP and developing custom OpenPGP applications.
Ryan Heywood gave early feedback on our binding signature visualizations.
## Extended hat tips
Werner Koch for his enduring work on [GnuPG](https://gnupg.org/) and for fostering an interoperable ecosystem.
[Sequoia-PGP](https://sequoia-pgp.org/), for bringing OpenPGP to the Rust language and developing an essential interoperability test suite.
ProtonMail for maintaining two crucial modern implementations of OpenPGP: [OpenPGP.js](https://openpgpjs.org/) and [GopenPGP](https://gopenpgp.org/).
## Funding
The [Sovereign Tech Fund](https://sovereigntechfund.de/) commissioned the initial development of this project from September to December 2023. We are extremely grateful for their support.

View File

@ -0,0 +1,381 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Certificates
## When are certificates valid?
Certificates are composites of components that are linked together using [signatures](../signing_components).
A certificate can be valid or invalid as a whole. However, even when a certificate is valid, individual components (subkeys or identities) of it can be invalid.
In this section, we discuss the validity of certificates and their components. This discussion is closely related to [signature validity](/verification), and builds on that concept.
The validity of the signatures that link a certificate is a necessary precondition. Two concepts are particularly central to the validity of certificates and components:
- Expiration
- Revocation
### Expiration
Certificates and components can "expire," which renders them invalid. Each component of a certificate can have an expiration time, or be unlimited in its temporal validity.
The OpenPGP software of a sender will refuse to encrypt email using an expired certificate, or using an encryption component key that is expired. The sender's software rejects encryption to the key, essentially as a courtesy to the certificate owner, respecting the preferences expressed in their certificate metadata.
The expiration mechanism in OpenPGP is complemented by a mechanism to extend/renew expiration time.
Using the expiration mechanism is useful for two reasons:
- Expiration of a certificate means that it cannot be used anymore. This forces users of that certificate (or their OpenPGP software) to poll for updates for it. For example, from a keyserver.
- It is a passive way for certificates to "time out," e.g., if their owner loses control over them, or isn't able to broadcast a revocation, for any reason.
Component keys use *Key Expiration Time* subpackets for expressing the expiration time. Identity components rely on the [*signature expiration time*](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#signature-expiration-subpacket) subpacket of their binding signature. If a binding signature expires, the binding becomes invalid, and the component is considered expired.
### Revocation
Since OpenPGP certificates act as ["append only" data structures](append-only), existing components or signatures cannot simply be "removed." Instead, they can be marked as invalid by issuing revocation signatures. These additional revocation signatures are added to the certificate.
Each component, such as User ID and a subkey, can be revoked without affecting the rest of the certificate.
The *primary User ID* is an exception: when it is revoked, the entire certificate is considered invalid.
Revoking the primary key with a [*Key revocation signature*](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-key-revocation-signature-ty) (type ID `0x20`) also marks the entire certificate, including all of its components, as invalid and unusable.
### Semantics of Revocations
In contrast to expiration, revocation is typically final and not withdrawn[^undo-revocations].
[^undo-revocations]: While some revocations can be reverted, undoing revocations is an uncommon workflow. Unlike expirations, which are commonly undone by extending the expiration time.
A revocation indicates that the component should not be used. Revocation signatures over components use a [*Reason for Revocation*](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#reason-for-revocation) subpacket to specify further details about the reason why the component or certification was revoked. The OpenPGP format specifies a set of distinct [values for *Reasons for Revocation*](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#table-10), and additionally provides space for a human-readable free text field for comments about the revocation.
Some libraries, such as Sequoia PGP, expose these distinct reasons for users, enabling nuanced machine-readable statements by the revoker. Other implementations focus mainly on the distinction between "hard" and "soft" revocations.
Of the defined revocation types, *Key is superseded*, *Key is retired* and *User ID is no longer valid* are considered "soft" revocations. Any other reason (including a missing *reason for revocation* subpacket) means that the revocation is "hard."
The distinction between hard and soft revocations plays a role when evaluating the validity of a component or signature at a specified reference time: Hard revocations have unbounded [temporal validity](temporal-validity), they are in effect even before their creation time and therefore invalidate the revoked component or signature at all points in time.
By contrast, a soft revocation leaves the revoked component or signature valid before the creation time of the revocation signature. A soft revocation can technically be overridden, for example, with a newer binding signature (the new binding signature and its metadata then shadow the revocation and re-connect and re-validate the component).
Hard revocations address the following problem: If a private key was compromised, then the attacker can issue signatures using that key. This means, the attacker could issue a signature dated before the revocation, impersonating the owner of the key. A recipient of that signature would mistakenly consider this signature valid if the issuing key has been soft revoked. This is a problem.
To counteract this problem, it is reasonable to clearly mark compromised keys as suspect at any point in time. That's what hard revocations do.
On the other hand, if the subkey was merely retired using a soft revocation, and the certificate holder moved to a different subkey, then the signatures in the past, made by the retired key, are still valid.
(append-only)=
## Certificates are effectively append-only data structures
OpenPGP certificates act as *append-only data structures*, in practice. Packets that are associated with a certificate cannot be "recalled", once they were published. Third parties (such as other users, or keyservers) may keep and/or distribute copies of those packets.
While it is not possible to *remove* elements, once they were publicly associated with an OpenPGP certificate, it is possible to invalidate them by adding new metadata to the certificate. This new metadata could set an *expiration time* on a component, or explicitly *revoke* that component. In both cases, no packets are removed from the certificate.
Invalidation resembles removal of a component in a semantical sense. The component is not a valid element of the certificate anymore, at least starting from some point in time. Implementations that handle the certificate may omit the invalid component in their representation.
We have to distinguish the "packet level" information about a certificate from an application-level view of that certificate. The two may differ.
### Reasoning about append-only properties in a distributed system
OpenPGP is a decentral and distributed system. Users can obtain and transmit certificate information about their own, as well as other users', certificates using a broad range of mechanisms. These mechanisms include keyservers, manual handling, [Web Key Directory](https://datatracker.ietf.org/doc/draft-koch-openpgp-webkey-service/) (WKD) and [Autocrypt](https://en.wikipedia.org/wiki/Autocrypt).
Different users' OpenPGP software may obtain different views of a particular certificate, over time. Individual users' OpenPGP instances have to reconcile and store a combined version of the possibly disparate elements they obtain from different sources.
In practice, this means that various OpenPGP users may have differing views of any given certificate. For various reasons, not all users will be in possession of a fully up-to date and complete version of a certificate.
There are various potential problems associated with this fact: Users may not be aware that a component has been invalidated by the certificate holder. Revocations may not have been propagated to some third party. So for example, they may not be aware that the certificate holder has rotated their encryption subkey to a new one, and doesn't want to receive messages encrypted to the previous encryption subkey.
One mechanism that addresses a part of this issue is *expiration*: By setting their certificates to expire after an appropriate interval, certificate holders can force their communication partners to refresh their certificate, e.g. from a keyserver[^mgorny].
[^mgorny]: See, for example, [here](https://blogs.gentoo.org/mgorny/2018/08/13/openpgp-key-expiration-is-not-a-security-measure/): "Expiration times really serve two purposes: naturally eliminating unused keys, and enforcing periodical checks on the primary key."
Good practices, like setting appropriate expiration times, can mitigate the complexity of the inherently distributed nature of certificates.
However, such mitigations by definition cannot address all possible cases of outdated certificate information in a decentralized, asynchronous system such as OpenPGP. So a defensive approach is generally appropriate when reasoning about the view of certificates that different actors have.
When thinking about edge cases, it's useful to "assume the worst." For example:
- Recipients may not obtain updates to a certificate in a timely manner (this could happen for various reasons, including, but not limited to, interference by malicious actors).
- Data associated with a certificate may compound, and a certificate can become too large for convenient handling, even in the course of normal operations (for example, a certificate may receive very many legitimate third-party certifications). If such a problem arises, then by definition, the certificate holder cannot address it: remember that the certificate holder cannot "recall" existing packets.
### Differing "views" of a certificate exist
Another way to think about this discussion is that different OpenPGP users may have a different view of any certificate. There is a notional "canonical" version of the certificate, but we cannot assume that every user has exactly this copy. Besides propagation of elements that the certificate holder has linked to a certificate, third-party certifications are by design a distributed mechanism. A third-party certification is issued by a third party, and may or may not be distributed widely by them, or by the certificate holder. Not distributing third-party certifications widely is a workflow that may be entirely appropriate for some use cases[^tpc-privacy].
[^tpc-privacy]: The two parties to a certification (the issuer and the target of the certification) may prefer not to publish their mutual association. Also see {ref}`social-graph-metadata-leak`.
As a general tendency, it is desirable for OpenPGP users to have the most complete possible view of all certificates that they interact with.
However, there are contexts in which it is preferable to only use a subset of the available elements of a certificate. We discuss this in the section {ref}`minimization`.
(certificate-merging)=
## Merging
As described above, OpenPGP certificates are effectively [append-only](append-only) data structures. As part of the practical realization of this fact, OpenPGP software needs to *merge* different copies of a certificate.
For example, Bob's OpenPGP software may have a local copy of Alice's certificate, and obtain a different version of Alice's certificate from a keyserver. The goal of the implementation is to add new information about Alice's certificate, if any, to the local copy. Alice may have added a new identity, replaced a subkey with a new subkey, or revoked some components of her certificate. Or, Alice may have revoked her certificate, signaling that she doesn't want communication partners to use that certificate anymore. All of these updates could be crucial for Bob to be aware of.
Merging two versions of a certificate involves making decisions about which packets should be kept. The versions of the certificate will typically contain some packets that are identical. No duplicates of the exact same packet should be stored in the merged version of the certificate. Additionally, if the newly obtained copy contains packets that are in fact entirely unrelated to the certificate, those should not be retained (a third party may have included unrelated packets, either by mistake, or with malicious intent).
### Handling unauthenticated information
For information that *is* related to the certificate, but not bound to it by a self-signature, there is no generally correct approach. The receiving implementation must revolve these cases, possibly in a context-specific manner. Such cases include:
- Third-party certifications. These could be valuable information, where a third party attests that the association of an identity to a certificate is valid. On the other hand, they could also be a type of spam.
- Subpackets in the unhashed area of a signature packet. Again, these could contain information that is useful to the recipient. However, the data could also be either useless, or even misleading/harmful.
(minimization)=
## Certificate minimization
Certificate minimization is the practice of presenting a partial view of a certificate by filtering out some of its components.
Filtering out some elements of a certificate can serve various purposes:
- Omitting unnecessary components for specific use-cases. For example, email clients need encryption, signing and certification component keys, but not authentication subkeys, which are used, e.g., for SSH connections.
- Omitting third-party certifications if they are not required for a use-case. ["Certificate flooding,"](https://dkg.fifthhorseman.net/blog/openpgp-certificate-flooding.html) for example, can lead to consumer software rejecting a certificate entirely. Filtering out third-party User ID certifications on import can mitigate this.
- Sometimes, a certificate organically grows so big that the user software [has problems handling it](https://www.reddit.com/r/GnuPG/comments/bp23p4/my_key_is_too_large/).
### Elements that can be omitted as part of a minimization process
There are different types of elements that can be omitted during minimization:
- Subkeys (along with signatures on those subkeys)
- Identity components (along with both their self-signatures and third-party signatures)
- Signatures, by themselves:
- Self-signatures that have been superseded by newer self-signatures for the same purpose
- Third-party certifications
### Minimization in applications
#### Hagrid, which runs keys.openpgp.org
The [hagrid keyserver software](https://gitlab.com/keys.openpgp.org/hagrid) doesn't publish the identity components in certificates by default. This is a central aspect of the [privacy policy](https://keys.openpgp.org/about/privacy) of the service. Certificates can be uploaded to the service by third parties, which is useful. However, identifying information is only distributed by the service on an explicit opt-in basis.
Separately, third-party certifications are currently filtered out by the service, to avoid flooding attacks.
#### GnuPG
GnuPG offers two explicit methods for certificate minimization, described [in the GnuPG manual](https://www.gnupg.org/documentation/manuals/gnupg-devel/OpenPGP-Key-Management.html) as:
*clean*
: *Compact (by removing all signatures except the selfsig) any user ID that is no longer usable (e.g. revoked, or expired). Then, remove any signatures that are not usable by the trust calculations. Specifically, this removes any signature that does not validate, any signature that is superseded by a later signature, revoked signatures, and signatures issued by keys that are not present on the keyring.*
*minimize*
: *Make the key as small as possible. This removes all signatures from each user ID except for the most recent self-signature.*
`clean` removes third-party signatures by certificates that are not present in current keyring, as well as other stale data. `minimize` removes superseded signatures that are not needed at the point when the command is executed.
Independently, GnuPG by default [strips some signatures on key import](https://dev.gnupg.org/T4607#127792)[^gpg-default-strip]. However, a number of Linux distributions change this default behavior, and continue to import signatures without minimization by default. e.g. [Debian](https://dev.gnupg.org/T4628#128513) and Arch Linux: stripping third-party certifications on import, by default, is problematic for users who want to leverage authentication based on the [Web of Trust mechanism](wot).
[^gpg-default-strip]: GnuPG's changes in the default handling of third-party certifications on imports were prompted by the 2019 [keyserver flooding](keyserver-flooding) event.
### Limitations that can result from stripping historical self-signatures
Some implementations, such as Sequoia, prefer to rely on the full historical set of self-signatures to construct a view of the certificate over time. This way, signatures can be verified at different reference times. In this model, removing superseded self-signatures can cause problems with the validation of historical signature.
An example for the tension between minimization and nuanced verification of the [temporal validity](temporal-validity) of signatures can be seen in the case of rpm-sequoia. See [this discussion](https://github.com/rpm-software-management/rpm-sequoia/issues/50#issuecomment-1689642607) for details:
Initially, when checking the validity of a data signature for a software package, `rpm-sequoia` used the signature's creation time as the reference time. However, the availability of historical self-signatures in certificates is limited. So sometimes only a more recent self-signature for the primary key is available, and there is no evidence that the primary key was valid at the reference time.
To deal with this reality, the rpm-sequoia implementation was adjusted to accept data signatures that predate the validity of the current primary key self-signature[^primary-self-sig].
[^primary-self-sig]: Which in OpenPGP version 4 is often a primary User ID binding signature.
### Autocrypt
The [Autocrypt](https://autocrypt.org/) project describes itself as:
> [..] a set of guidelines for developers to achieve convenient end-to-end-encryption of e-mails. It specifies how e-mail programs negotiate encryption capabilities using regular e-mails.
The Autocrypt Level 1 specification defines a specific [minimal format for OpenPGP certificates](https://autocrypt.org/level1.html#openpgp-based-key-data) that are distributed by the autocrypt mechanism.
One goal of the Autocrypt mechanism is to distribute certificates widely. To this end, Autocrypt sends certificates in mail headers, where smaller size is greatly preferable.
Basic encrypted email functionality requires only a small subset of the recipient's certificate, so small certificate size is feasible.
### Minimization for email
Note that minimization of certificates isn't generally "right" or "wrong." The benefit or harm depends on the context.
For example, we might consider minimizing a certificate for distribution via WKD, with the use-case of email in mind.
Many certificates can be significantly pruned if the only goal of distributing them is to enable encryption and signature verification. For such cases, many components can be dropped, including invalid subkeys and their binding signatures, authentication subkeys (which are irrelevant to email), shadowed self-signatures, and third-party certifications. With many real-world certificates, the space savings of such a minimization are significant[^space-example].
Such minimization might be appropriate and convenient to enable encrypted communication with a ProtonMail client, which automatically fetches OpenPGP certificates via WKD while composing a message. The ProtonMail use case requires only component keys, not third-party certifications, and it doesn't require historical component keys or self-signatures.
However, in a different context, the same certificate might be fetched to verify the authenticity of a signature. In that case, third-party certifications may be crucial for the client. Stripping them could prevent the client from performing Web of Trust calculations and validating the authenticity of the certificate.
[^space-example]: The following fragment processes an example certificate. It drops any subkey that is not valid at the time of export (because of revocation or expiration), authentication subkeys, and any third-party certifications:
```sh
gpg --export-options export-minimal,export-clean,no-export-attributes \
--export-filter keep-uid=mbox=wiktor@metacode.biz \
--export-filter 'drop-subkey=expired -t || revoked -t || usage =~ a' \
--export wiktor@metacode.biz
```
At the time of writing, the original certificate consists of 152322 bytes of data. The filtered variant consists of only 3771 bytes, which is 40x smaller. In some contexts, there are hard constraints on size, and minimization is unavoidable, e.g., when embedding certificate data in email headers.
### Pitfalls of minimization
Disadvantages/risks of minimizing certificates:
- A minimized certificate does not present a full view of how it (and the validity of its components) evolved over time.
- As the OpenPGP subsystem on a user's computer learns about more certificates, third-party certifications that were previously unusable may become usable. Dropping third-party certifications by unknown issuers as a part of minimization prevents this mechanism.
- An OpenPGP implementation that minimizes a certificate might remove component keys that it cannot use itself (e.g. because it doesn't support the algorithm of that key), even if the *receiving* implementation supports them.
- Refreshing certificates from key servers may inflate the certificate again, since OpenPGP certificates tend to act as [append-only structures](append-only).
- Some libraries, such as [anonaddy-sequoia](https://gitlab.com/willbrowning/anonaddy-sequoia/-/blob/master/src/sequoia.rs?ref_type=heads#L125) strip unusable encryption subkeys, but retain at least one subkey, even if all subkeys are expired. Although this may leave only an expired encryption subkey in the certificate, this presents a better UX for the end-user who potentially is still in possession of the private key for decryption.
## Guidelines
1. Don't minimize certificates unless you have a good reason to.
2. When minimizing a certificate, minimize it in a way that suites your use-case. E.g., when minimizing a certificate for distribution alongside a signed software packet, make sure to include enough historical self-signatures as to not break the verification of the signed packet.
3. When presenting a minimized view of a certificate to a consumer, consider when that a new version of that view needs to be generated. Ideally, minimized certificates are freshly generated on demand (e.g., an Autocrypt header is constructed while an email is sent or composed). The receiver is expected to typically merge all data it sees locally.
## Fingerprints and beyond: "Naming" certificates in user-facing contexts
Certificates in OpenPGP have traditionally often been "named" using hexadecimal strings of varying length.
For example, a business card might have shown the hexadecimal fingerprint of a person's OpenPGP certificate to facilitate secure communication. Over time, different formats and lengths for these identifiers have been used.
This section outlines the various ways in which certificates can be named, and their properties.
### Fingerprints and Key IDs in Version 4
With OpenPGP version 4 certificates, it was customary that user-facing software used 20 byte (160 bit) *fingerprints* as an identifier for the certificate. Or alternatively, the 8 byte (64 bit) *Key ID* variant of the fingerprint. Both were represented in hexadecimal format, sometimes with whitespace to group the identifier into blocks for easier readability.
Workflows such as
- accepting a certificate for a communication partner, or
- issuing a third-party certification for an identity,
required users to manually compare the 40 character long hexadecimal representation of a fingerprint against a reference source for that fingerprint.
### Fingerprints in Version 6
The OpenPGP version 6 standard uses 32 byte (256 bit) fingerprints, but explicitly defines no format for displaying those fingerprints in a human-readable form. The standard [recommends strongly against](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-fingerprint-usability) using version 6 fingerprints as identifiers in user-facing workflows.
Instead, "mechanical fingerprint transfer and comparison" should be preferred, wherever possible. The reasoning is that humans tend to be bad at comparing high-entropy data[^schuermann] (in addition, many users are probably put off by being asked to compare long hexadecimal strings).
[^schuermann]: See "An Empirical Study of Textual Key-Fingerprint Representations" <https://www.ibr.cs.tu-bs.de/papers/schuermann-usenix2016.pdf>
### Use of Fingerprints and Key IDs in APIs
However, both Fingerprints and Key IDs may (and usually *must*) be used, programmatically, by software that handles OpenPGP data, to address specific certificates. This is equally true for OpenPGP version 6.
Note that regardless of the OpenPGP version, software that relies on 8-byte Key IDs should not assume that Key IDs are unique. It is trivial to generate collisions for 8-byte Key IDs, so applications must be able to handle Key ID collisions gracefully.
The historical 4-byte "short Key IDs" format should not be used anywhere, anymore (finding collisions in a 32-bit keyspace has been [trivial for a long time](https://evil32.com/)).
(certificate-lookup-by-email)=
### Looking up certificates by email
Searching OpenPGP certificates by email is a use case that often arises. For example, when composing an email to a new contact, the sender may want to find the OpenPGP certificate for that contact.
Different mechanisms allow certificate lookup by email, for example:
- [Web Key Directory](https://datatracker.ietf.org/doc/draft-koch-openpgp-webkey-service/) (WKD)
- The [keys.openpgp.org](https://keys.openpgp.org/) "verifying keyserver" (also known as ["hagrid"](https://gitlab.com/keys.openpgp.org/hagrid), the name of the server software it runs)
- SKS-style OpenPGP keyservers (today, most of these run the [Hockeypuck](https://github.com/hockeypuck/hockeypuck) software)
Their properties differ, for more see [](certificate-distribution).
(certificate-freshness)=
## Certificate freshness: Triggering updates with an expiration time
For a certificate holder, one problem is that their communication partners may not regularly poll for updates of their certificate.
A certificate holder usually prefers that everyone else regularly obtains updates for their certificate. This way, a third party will, for example, not mistakenly keep using the certificate indefinitely, after it gets revoked. Setting an expiration time on the certificate, ahead of time, limits the worst case scenario: communication partners will at most use a revoked certificate until its expiration time, even if they never learn of the revocation.
Once the expiration time is reached, third parties, or ideally their OpenPGP software will have to stop using the certificate, and may attempt to obtain an update for it. For example, from a keyserver, or via WKD. Ideally, certificate updates are obtained automatically, by the user's OpenPGP software, without any need for human intervention.
After the update, the updated copy of the certificate will usually have a fresh expiration time. The same procedure will repeat once that new expiration time has been reached.
(social-graph-metadata-leak)=
## Metadata leak of Social Graph
Third-party certifications are signatures over identity components made by other users.
These certifications form the back-bone of the OpenPGP trust-model called the Web of Trust. The name stems from the fact that the collection of certifications forms a unidirectional graph resembling a web. Each edge of the graph connects the signing certificate to the identity component associated with another certificate.
OpenPGP software can inspect that graph. Based on the certification data in the graph and a set of trust anchors, it can infer whether a target certificate is legitimate.
The trust anchor is usually the certificate holder's own key, but a user may designate additional certificates of entities they are connected to as trust anchors.
Third-party certifications can be published as part of the target certificate to facilitate the process of certificate authentication. Unfortunately, a side effect of this approach is that it's feasible to reconstruct the entire social graph of all people issuing certifications. In addition, the signature creation time of certifications can be used to deduce whether the certificate owner attended a Key Signing Party (and if it was public, where it was held) and whom they interacted with.
So, there is some tension between the goals of
- a decentralized system where every participant can access certification information and perform analysis on it locally,
- privacy related goals (also see {ref}`certificate-lookup-by-email`, for a comparison of certificate distribution mechanisms, which also touches on this theme).
(unbound-user-ids)=
## Adding unbound, local User IDs to a certificate
Some OpenPGP software may add User IDs to a certificate, which are not bound to the primary key by the certificate's owner. This can be useful to store local identity information (e.g., Sequoia's public store attaches ["pet-names"][PET] to certificates, in this way).
[PET]: https://sequoia-pgp.org/blog/2023/04/08/sequoia-sq/#an-address-book-style-trust-model
Sequoia additionally certifies these "local, third party, User IDs" with a local trust anchor to facilitate local authentication decisions.
To prevent accidental publication of these local User IDs (e.g. to public keyservers), Sequoia marks these binding signatures as "local" artifacts using [Exportable Certification](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-exportable-certification) subpackets to mark them as non-exportable.
(certificate-distribution)=
## Certificate distribution mechanisms
Different mechanisms for discovering certificates, and updating certificate data exist in the OpenPGP space:
- A *Web Key Directory* service is based on a well-known location on a webserver, serving certificates in a specific format. A WKD server is operated by the entity that controls the DNS domain of an email-based identity of a certificate. This means that WKD is inherently decentralized, and the reliability of OpenPGP certificates may vary depending on the organization that operates a particular WKD instance.
- The *keys.openpgp.org* service is a "verifying" keyserver: the keyserver software only publishes identity components (which include email addresses) after sending a verification email to that address, and receiving opt-in consent by the user of the email address. This service makes a different tradeoff: it is centralized, and relying on it to correctly perform the verification step requires trust in the operator. The tradeoff allows the service to only list identity information with the consent of the owner of that identity, and to prevent "enumeration" of the certificates and identities it stores (that is: third parties cannot obtain a list of email addresses in the service's database). By design, this service allows easy publication of revocations without requiring publication of any identity components.
- *SKS-style keyservers* act as a distributed synchronizing database, which accepts certificate information without verification. The SKS network handles third-party signatures, additional changes to their handling are pending[^hip1].
[^hip1]: <https://github.com/hockeypuck/hockeypuck/issues/136>
One central difference between hockeypuck and hagrid (the software that runs the *keys.openpgp.org* service) is that hockeypuck distributes identity packets and third-party certifications that have indeterminate validity, while hagrid does not.
(keyserver-flooding)=
## Third-party certification flooding
Traditional OpenPGP keyservers are one mechanism for [collection and distribution](certificate-distribution) of certificate information. Their model revolves around receiving certificate information from sources that don't identify themselves to the keyserver network. Traditionally, these keyservers have accepted both components bound to certificates by self-signatures, and third party identity certifications.
While a convenience for consumers, indiscriminately accepting and integrating third-party identity certifications comes with significant risks.
Without any restrictions in place, malicious entities can flood a certificate with excessive certifications. Called "certificate flooding," this form of digital vandalism grossly expands the certificate size, making the certificate cumbersome and impractical for users.
It also opens the door to potential denial-of-service attacks, rendering the certificate non-functional or significantly impeding its operation.
The popular [SKS keyserver network experienced certificate flooding firsthand](https://dkg.fifthhorseman.net/blog/openpgp-certificate-flooding.html) in 2019, causing significant changes to its operation.
```{note}
The *keys.openpgp.org* (KOO) service performs a similar function as the SKS-style keyservers.
However, there are major differences in its design and tradeoffs.
The KOO keyserver was designed to:
1. conform to [GDPR regulations](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation), and
2. be resistant to flooding-style vandalism.
To achieve these goals, KOO does not serve identity components at all, unless an explicit opt-in has been performed, using a confirmation process vial email. Third-party certifications are also not served by default, but only under very specific circumstances, which preclude flooding.
```
### Hockeypuck-based keyservers
Currently, third-party certification flooding can be worked around by users or administrators requesting the removal/re-adding of a certificate. [See here](https://github.com/hockeypuck/hockeypuck/wiki/HIP-1:-Regaining-control-over-public-key-identity-with-authenticated-key-management).
Additional mechanisms [are upcoming](support-for-1pa3pc).
## First-Party attested third-party certifications in OpenPGP (1pa3pc)
[First-Party attested third-party certifications in OpenPGP](https://datatracker.ietf.org/doc/draft-dkg-openpgp-1pa3pc/) are a "mechanism to allow the owner of a certificate to explicitly approve of specific third-party certifications". 1pa3pc was designed to enable flooding-proof distribution of third-part certifications.
This mechanism uses the *attested certifications* signature subpacket (type ID `37`), which currently only exists as a proposed feature in [draft-ietf-openpgp-rfc4880bis](https://www.ietf.org/archive/id/draft-ietf-openpgp-rfc4880bis-10.html#table-3)[^ac-draft].
[^ac-draft]: Introducing the *attested certifications* signature subpacket (type ID `37`) was unfortunately not in scope of the chartered topics for the current "crypto-refresh" work of the OpenPGP working group. However, hopefully the working group can handle this feature in future rechartering.
(support-for-1pa3pc)=
### Support
- The *keys.openpgp.org* (KOO) keyserver [supports *1pa3pc*](https://gitlab.com/keys.openpgp.org/hagrid/-/commit/39c0e12ac64588220d36bada6497d8396f5915b3).
- The Hockeypuck keyserver software [plans to add support for *1pa3pc*](https://github.com/hockeypuck/hockeypuck/issues/136#issuecomment-1812466084) in version 2.2.0.
- The Sequoia `sq` commandline tool [allows adding](https://man.archlinux.org/man/sq-key-attest-certifications.1) attested third-party certifications to a certificate.

View File

@ -0,0 +1,29 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Decryption
(decryption-seipd-quick-check)=
## Verify successful session key decryption
SEIPDv1 packets might make use of a "quick check" mechanism to quickly verify that the correct session key was used without the need to decrypt the whole SEIPD packet.
This check consists of 16 random bytes, followed by a copy of the two last bytes, which are prefixed to the plaintext.
During decrypting, these 2 bytes can be compared to the 15th and 16th random byte to detect use of the wrong session key.
Since the chance to accidentally end up with matching quick check bytes albeit the use of the wrong session key is 1:65536, some implementations validate further contents of the plaintext, such as the packet headers.
The standard [warns against](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-risks-of-a-quick-check-orac) using the quick check mechanism, as it introduces the risk of a decryption oracle. Instead, the use of SEIPDv2 is recommended, as the AEAD mechanism automatically detects use of the wrong session key early on after the first chunk has been decrypted.
(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.
To reduce the number of keys to try, the recipient can skip all secret keys which do not share the public-key algorithm stated in the PKESK packet.

View File

@ -0,0 +1,32 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Encryption
## Encrypt to multiple/single subkey per certificate?
A recipient's certificate can contain more than one usable encryption subkey.
This raises the question, should the message be encrypted for all of them?
There is the argument that a powerful attacker might have managed to add an attacker-controlled encryption subkey to the victim's certificate.
In this case, only encrypting to the "newest" encryption key would help uncover such an attack. However, a powerful attacker could just MitM any sent messages and just add a PKESK for the victim-controlled encryption keys to hide the fact that the sender used a different key.
On the other hand, a user might have multiple encryption subkeys on purpose.
Picture, for example, a scenario where the same certificate is used on multiple devices, but each device has dedicated encryption subkeys to allow for smoother revocation in case of a lost device.
In this scenario, it is important that the sender encrypts the message to all available encryption subkeys.
## "Negotiating" algorithms based on recipients preference subpackets
### Prevent "downgrade" -> Policy
Each implementation should define a "minimum" level of security when it comes to algorithms and key lengths.
If the lowest common denominator of symmetric encryption algorithms preferred by a set of recipients provides too little security, the implementation should either use a configured fallback algorithm instead, or fail to produce a message at all.
## AEAD modes in v2 SEIPD: GCM
```{note}
This section is still about to be written.
```

View File

@ -0,0 +1,82 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Private keys
(key-store-design)=
## Private keystores
This section examines the diverse architectures and operational mechanics of private keystores in OpenPGP. It focuses on the various design choices, their functional implications, and how they contribute to the secure management of private key material.
### Design variations
The design of private key subsystems within the OpenPGP framework varies, offering different approaches to cryptographic operations:
1. **Separate backend operations**: Some designs execute the primitive cryptographic operations in a separate backend, using only the cryptographic key material. This approach is particularly compatible with general purpose hardware cryptographic devices, such as [trusted platform modules (TPMs)](https://en.wikipedia.org/wiki/Trusted_Platform_Module).
2. **Component key-based systems**: An OpenPGP private key subsystem may be built around component keys, specifically the content of [Secret-Key packets](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-secret-key-packet-formats). These packets contain metadata that is required for some operations. ECDH operations, in particular, require metadata as KDF parameters.
3. **Full transferable secret keys**: Some designs maintain copies of full TSKs in the private key subsystem, leveraging these for private key operations.
While private keystore operations require component keys, they do not require access to the entire OpenPGP certificate.
```{note}
The third design option, involving the storage of full TSKs in the private key subsystem, can cause "split brain" problems.
For example, a private keystore might contain a TSK with outdated certificate metadata, marking the certificate as expired, while the updated version in the local public keystore could indicate an extended expiration time.
This problem was notably present in GnuPG 1.x, which held separate TSK copies in its private store component. Similarly, the current design of Thunderbird's OpenPGP subsystem can lead to users experiencing such issues.
```
### Two-tier architecture
At its core, an OpenPGP private key subsystem performs operations requiring only the private cryptographic key material, akin to the "separate backend operations" model described above.
However, the subsystem also supports operations that require additional access to the metadata of the component key. These operations, supplementary to the core keystore operations, do not involve the private key material.
When implementing a keystore based on hardware cryptographic devices like [OpenPGP card](openpgp-card), its design will consist of two layers:
- **core layer**: directly handles private key material, and
- **supplementary layer**: performs additional cryptographic operations that don't directly use the private key material, such as [AES key wrap](https://www.rfc-editor.org/rfc/rfc3394.html) for ECDH.
```{note}
The decryption process using ECC algorithms, especially ECDH, has multiple steps. The initial step, potentially performed by devices such as OpenPGP cards, directly uses private key material to produce a "shared secret." Following this, operations like ["AES key unwrap"](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-ec-dh-algorithm-ecdh) are conducted in software outside the hardware device.
Further details on this process can be found in the "Advanced Encryption Standard (AES) Key Wrap Algorithm" [RFC 3394](https://www.rfc-editor.org/rfc/rfc3394.html).
```
### Addressing individual keys
A critical aspect of private keystore design involves determining how users address individual keys.
One common method is using the fingerprint of each component key. The availability of these fingerprints, however, depends on the underlying technology of the keystore. For instance, in software-based private keystores or OpenPGP cards, fingerprints of component keys are usually readily available. Keystores relying on generic cryptographic hardware, like TPMs, need to implement their own mechanisms for tracking and managing the fingerprints of each key.
### Additional keystore duties
In addition to key management, a keystore often involves various supplementary functions:
- **Tracking devices**: Keystores may track which devices contain particular component keys.
- **Handling secrets**: This involves the management of sensitive information such as passphrases for software keys or PINs for OpenPGP cards.
- **User interaction alerts**: Keystores might also need to prompt users for necessary interactions during certain operations. For example, OpenPGP cards may require user touch confirmation to authorize each cryptographic action.
## Understanding key overwriting (KO) attacks
### What they are
OpenPGP is subject to specific vulnerabilities known as key overwriting (KO) attacks. These attacks exploit weaknesses in how encrypted private keys or their metadata are handled, potentially leading to the leakage of secret data when the key is used. The core issue lies in OpenPGP's handling of Secret-Key packets, where corruption of the non-encrypted fields can cause the unaltered private key material to be used with altered parameters. This mismatch can result in private key leakage.
Importantly, KO attacks are particularly relevant when an attacker is responsible for storing a user's encrypted private key. By altering the algorithm field in the Secret-Key packet, the attacker may cause the user to perform a cryptographic operation with a different algorithm. E.g., performing a DSA operation with ECC private key material. By observing the output of that attacker-corrupted operation, the attacker can recover the user's unencrypted private key material, even though the attacker had no direct access to it.
### Mitigation
Understanding KO attacks is crucial due to their potential to compromise the integrity and confidentiality of encrypted communications, and the risk of complete private key material compromise. KO attacks highlight the necessity for robust key validation procedures and the dangers of storing keys in insecure environments. OpenPGP application developers should consider if this attack class is a concern in their applications.
Private keys that are protected with [S2K usage mode 253 (AEAD)](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-secret-key-encryption), are not vulnerable to KO attacks. This mode ensures the integrity of the private key by using its unencrypted fields (including the algorithm field) as the *authentication tag* for integrity verification in the decryption process. When an attacker alters the unencrypted part of the packet, then decryption of the private key material will fail, and the user is prevented from e.g. accidentally using the key material with an altered attacker-controlled algorithm.
Note that while S2K usage mode 253 (AEAD) has been introduced in the OpenPGP version 6 specification, it can also be applied to OpenPGP version 4 key material (also see {ref}`migration-s2k`).
#### Resources
For comprehensive information on KO attacks, including background, attack vectors, countermeasures, and technical analyses, visit [KOpenPGP.com](https://www.kopenpgp.com/). It is based on the paper "Victory by KO: Attacking OpenPGP Using Key Overwriting" written by Lara Bruseghini, Daniel Huigens, and Kenneth G. Paterson for the Proceedings of ACM Conference on Computer and Communications Security, Los Angeles, November 2022.

View File

@ -0,0 +1,55 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Signatures
(notation-signature-subpackets)=
## Notation signature subpackets
[Notation signature subpackets](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#notation-data) can be used to effectively extend the otherwise limited set of {term}`signature subpacket types<OpenPGP Signature Subpacket Type>` in OpenPGP with user-defined {term}`notations<Notation>`. {term}`Issuers<Issuer>` can use these {term}`notations<Notation>` to add name-value pairs to an {term}`OpenPGP signature<OpenPGP Signature Packet>`.
{term}`Notation` names - strings encoded in UTF-8 - may reside in the "user namespace." This namespace is characterized by a {term}`notation tag`, followed by a DNS domain name, both in UTF-8 format.
{term}`Notations<Notation>`, as described earlier, allow for user-defined extensions to the {term}`OpenPGP signature subpacket types<OpenPGP Signature Subpacket Type>`. A practical and popular application of this functionality is seen in Keyoxide, a decentralized {term}`identity verification` service. Keyoxide uses {term}`notations<Notation>` in the `ariadne.id` namespace. For the details of this {term}`implementation<OpenPGP Implementation>`, refer to the [Keyoxide documentation](https://docs.keyoxide.org/wiki/ariadne-identity/).
## Choosing the hash algorithm for a signature
A central element of signature packets is the hash digest of the input data. Most OpenPGP software supports a set of different hash mechanisms, of which one is chosen for each signature packet (this is one aspect of OpenPGP's *cryptographic agility*), and used to calculate the hash digest.
Different hash mechanisms offer different trade-offs:
- *Hash digest size*: Larger hash size tends to correspond with greater strength against cryptanalysis, and hash digests are relatively small: at the time of this writing, typical sizes are 32 to 64 bytes. However, for some use cases - especially where small messages are sent over a bandwidth-limited transport - larger hash sizes may unacceptably increase message size.
- *Computational cost*: Different hash algorithms may have different computational costs. Some OpenPGP users may prefer to limit this cost, for example on constrained computing environments.
The following sections discuss how the hash algorithm is chosen, based on preferences that are associated with the involved OpenPGP certificates.
### Typically: Local determination
Often, signature creation isn't targeted at a specific receiver. Many signatures are issued for an indeterminate set of "anyone who receives the signature."
For example, self-signatures that form a certificate are aimed at everyone who interacts with that certificate. Similarly, when creating a data signature for a software package, this signature is aimed at "anyone who will check the signature," often over a long period of time, easily spanning years.
In such cases, the issuer of that signature chooses the hash algorithm locally, without following preferences of a third party.
### With a specific recipient: "Negotiation" based on recipient's preferences
In contrast, when a message is created for a specific recipient, the sender can - and should - choose the hash algorithm for the signature packet [based on the recipient's hash algorithm preference](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-hash-algorithm-preferences).
The recipient's hash algorithm preference is defined in metadata of their certificate, see {ref}`preferences-features` for more details.
In this workflow, the signed hash digest is created with a hash algorithm that follows the recipient's preferences, and its intersection with the sender's capabilities and preferences.
## Signature versions
As described in the [RFC](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-signature-packet-type-id-2), the version of a generated signature packet must conform to the version of the key that issues the signature.
That is:
- OpenPGP version 6 keys must generate version 6 signature packets
- OpenPGP version 4 keys must generate version 4 signature packets
Note that some historical version 3 signature packets may still be relevant for applications that handle old OpenPGP data[^sig-v3]. These version 3 signature packets will have been generated by version 4 keys.
[sig-v3]Version 4 signature packets were introduced in [RFC 2440](https://datatracker.ietf.org/doc/html/rfc2440#section-5.2) in 1998, which specifies that applications SHOULD generate v4 signature, however generation of v3 signature packets has remained allowed through [RFC 4880](https://www.rfc-editor.org/rfc/rfc4880.html#section-5.2).

View File

@ -0,0 +1,145 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Signatures on components
## Certification recipes
Different {term}`signatures<OpenPGP Signature Packet>` in OpenPGP serve various specific purposes. This section provides practical guidance on creating these {term}`signatures<OpenPGP Signature Packet>`, illustrating each with concrete examples.
(recipe-algorithm-preferences)=
### Change algorithm preferences
To modify the preferred {term}`symmetric<Symmetric Cryptography>`, compression, {term}`hash<Hash Function>`, or {term}`AEAD algorithms<Authenticated Encryption With Associated Data>` for a {term}`key<Transferable Secret Key>`, the {term}`key owner<Certificate Holder>` needs to issue a {term}`direct key signature` ({term}`type ID<Signature Type ID>` `0x1F`) on the {term}`primary key<OpenPGP Primary Key>`.
This {term}`signature<OpenPGP Signature Packet>` should have the following structure:
| {term}`Subpacket<OpenPGP Signature Subpacket>` | Area | {term}`Critical<Criticality Flag>` | Mandatory | Notes |
|---------------------------------------------------------------------------------------------|-----------------------------|------------------------------------------|----------------------|----------------------------------------------------------------------------------------|
| {term}`Signature Creation Time<Signature Creation Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | True | Current time |
| {term}`Issuer Fingerprint<Issuer Fingerprint Subpacket>` | {term}`Hashed<Hashed Area>` | True or False | Strongly Recommended | The {term}`primary key` is the {term}`issuer` |
| {term}`Key Flags<Key Flag>` | {term}`Hashed<Hashed Area>` | True | False | Retain {term}`key flags<Key Flag>` from the previous {term}`self-signature` |
| {term}`Features<Features Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Retain {term}`features<Features Subpacket>` from the previous {term}`self-signature` |
| {term}`Key Expiration Time<Key Expiration Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Retain {term}`expiration time` from the previous {term}`self-signature`, if applicable |
| {term}`Hash Algorithm Preferences<Preferred Hash Algorithms Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | New {term}`preferences<Algorithm Preferences>` |
| {term}`Compression Algorithm Preferences<Preferred Compression Algorithms Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | New {term}`preferences<Algorithm Preferences>` |
| {term}`Symmetric Algorithm Preferences<Preferred Symmetric Ciphers for v1 SEIPD Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | New {term}`preferences<Algorithm Preferences>` |
| {term}`AEAD Algorithm Preferences<Preferred AEAD Ciphersuites Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | New {term}`preferences<Algorithm Preferences>` |
### Change expiration time
To adjust the {term}`expiration time` of an {term}`OpenPGP certificate`, a new *{term}`DirectKey<Direct Key Signature>`* {term}`signature<OpenPGP Signature Packet>` ({term}`type ID<Signature Type ID>` `0x1F`) with a modified {term}`Key Expiration Time subpacket` must be issued. The structure of this {term}`signature<OpenPGP Signature Packet>` is identical to the one outlined in the previous section on changing {term}`algorithm preferences`.
Additionally, the {term}`expiration time` can be altered for individual {term}`User IDs<User ID>` (detailed below) or separate {term}`subkeys<OpenPGP Subkey>` (see {numref}`bind-subkey`).
### Add User ID
To {term}`bind<Binding>` a {term}`User ID` to an {term}`OpenPGP certificate` a {term}`certification signature<Certification>` ({term}`type ID<Signature Type ID>` `0x10`-`0x13`) is used which should have the following structure:
| {term}`Subpacket<OpenPGP Signature Subpacket>` | Area | {term}`Critical<Criticality Flag>` | Mandatory | Notes |
|------------------------------------------------------------------------|-----------------------------|------------------------------------------|----------------------|-------------------------------------------------------------------------------------|
| {term}`Signature Creation Time<Signature Creation Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | True | Current time |
| {term}`Issuer Fingerprint<Issuer Fingerprint Subpacket>` | {term}`Hashed<Hashed Area>` | True or False | Strongly Recommended | The {term}`primary key<OpenPGP Primary Key>` is the {term}`issuer` |
| {term}`Primary User ID<Primary User ID Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Optional |
| {term}`Signature Expiration Time<Signature Expiration Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Optional |
In addition to these {term}`subpackets<OpenPGP Signature Subpacket>`, {term}`self-certifications<Self-certification>` for {term}`User IDs<User ID>` can include others such as {term}`key flags<Key Flag>`, {term}`features<Features Subpacket>`, and {term}`algorithm preferences` as shown in the previous table. This enables the specification of unique capabilities and {term}`preferences<Algorithm Preferences>` for each {term}`identity` associated with the {term}`certificate<OpenPGP Certificate>`.
### Remove or revoke a User ID
Since {term}`OpenPGP certificates<OpenPGP certificate>` are often distributed by the means of {term}`key servers<Key Server>`, new {term}`signatures<OpenPGP Signature Packet>` on a {term}`certificate<OpenPGP Certificate>` are often "[merged](certificate-merging)" into existing copies of the {term}`certificate<OpenPGP Certificate>` locally by the recipient.
This integration process means it is practically impossible to directly remove {term}`signatures<OpenPGP Signature Packet>` or {term}`User IDs<User ID>` from a {term}`certificate<OpenPGP Certificate>`, as there is no way to communicate the intention of {term}`packet<OpenPGP Signature Packet>` deletion to the recipient.
To effectively mark a {term}`User ID` as invalid, the user can publish a copy of their {term}`certificate<OpenPGP Certificate>` with a {term}`Certification Revocation signature<Certification Revocation Signature Packet>` ({term}`type ID<Signature Type ID>` `0x30`) attached to the invalidated {term}`User ID`. This {term}`signature<OpenPGP Signature Packet>` signals that the specified {term}`User ID` is no longer valid or associated with the {term}`certificate holder`.
The structure of a {term}`Certification Revocation signature<Certification Revocation Signature Packet>` is as follows:
| {term}`Subpacket<OpenPGP Signature Subpacket>` | Area | {term}`Critical<Criticality Flag>` | Mandatory | Notes |
|--------------------------------------------------------------------|-----------------------------|------------------------------------------|----------------------|-------------------------------------------------------------------------------------|
| {term}`Signature Creation Time<Signature Creation Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | True | Current time |
| {term}`Issuer Fingerprint<Issuer Fingerprint Subpacket>` | {term}`Hashed<Hashed Area>` | True or False | Strongly Recommended | The {term}`primary key<OpenPGP Primary Key>` is the {term}`issuer` |
| {term}`Reason for Revocation<Reason for Revocation Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Determines {term}`soft<Soft Revocation>` or {term}`hard revocation` |
For {term}`User ID` {term}`revocations<Revocation>`, the *{term}`Reason for Revocation<Reason for Revocation Subpacket>`* {term}`subpacket<OpenPGP Signature Subpacket>` is crucial. A value of `0` means no specific reason, leading to a {term}`hard revocation`, while `32` indicates the {term}`User ID` is no longer valid, resulting in a {term}`soft revocation`. Omitting the {term}`reason subpacket<Reason For Revocation Subpacket>` is also equivalent to a {term}`hard revocation`.
It is generally advisable to use reason code `32` for revoking {term}`User IDs<User ID>`.
(recipe-binding-subkeys)=
### Add a subkey
As part of {term}`life-cycle management`, users may need to add a new {term}`subkey<OpenPGP Subkey>` to their {term}`OpenPGP certificate`, often for reasons such as upgrading to a {term}`subkey<OpenPGP Subkey>` with more advanced cryptographic algorithms. The process involves creating a specific {term}`signature<OpenPGP Signature Packet>` structure:
| {term}`Subpacket<OpenPGP Signature Subpacket>` | Area | {term}`Critical<Criticality Flag>` | Mandatory | Notes |
|---------------------------------------------------------------------------------------------|-----------------------------|------------------------------------------|-------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| {term}`Signature Creation Time<Signature Creation Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | True | Current time |
| {term}`Issuer Fingerprint<Issuer Fingerprint Subpacket>` | {term}`Hashed<Hashed Area>` | True or False | Strongly Recommended | The {term}`primary key<OpenPGP Primary Key>` is the {term}`issuer` |
| {term}`Key Flags<Key Flag>` | {term}`Hashed<Hashed Area>` | True | Strongly Recommended | Determine the usage of the {term}`key<OpenPGP Subkey>` |
| {term}`Key Expiration Time<Key Expiration Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Specifies the {term}`expiration time` of the {term}`subkey<OpenPGP Subkey>` |
| {term}`Embedded Signature<Embedded Signature Subpacket>` | {term}`Hashed<Hashed Area>` | True | If {term}`Key Flags<Key Flag>` contains **{term}`S<Signing Key Flag>`** | {term}`Signing subkeys<OpenPGP Signing Subkey>` require embedded *{term}`Primary Key Binding<Primary Key Binding Signature>`* {term}`signature<OpenPGP Signature Packet>` |
| {term}`Hash Algorithm Preferences<Preferred Hash Algorithms Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | Per {term}`key<Component Key>` {term}`preferences<Algorithm Preferences>` |
| {term}`Compression Algorithm Preferences<Preferred Compression Algorithms Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | Per {term}`key<Component Key>` {term}`preferences<Algorithm Preferences>` |
| {term}`Symmetric Algorithm Preferences<Preferred Symmetric Ciphers for v1 SEIPD Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | Per {term}`key<Component Key>` {term}`preferences<Algorithm Preferences>` |
| {term}`AEAD Algorithm Preferences<Preferred AEAD Ciphersuites Subpacket>` | {term}`Hashed<Hashed Area>` | False | False | Per {term}`key<Component Key>` {term}`preferences<Algorithm Preferences>` |
In addition to these {term}`subpackets<OpenPGP Signature Subpacket>`, users can specify {term}`algorithm preferences` for each {term}`subkey<OpenPGP Subkey>`, distinct from those set in the {term}`certificate<OpenPGP Certificate>`'s *{term}`Direct Key<Direct Key Signature>`* {term}`signature<OpenPGP Signature Packet>`.
### Revoke a subkey
{term}`Subkeys<OpenPGP subkey>`, like {term}`User IDs<User ID>`, can be individually revoked in OpenPGP.
This is done by issuing a {term}`Subkey Revocation signature<Subkey Revocation Signature Packet>` ({term}`type ID<Signature Type ID>` `0x28`) using the {term}`primary key<OpenPGP Primary Key>`.
The structure of such a {term}`signature<OpenPGP Signature Packet>` is straightforward:
| {term}`Subpacket<OpenPGP Signature Subpacket>` | Area | {term}`Critical<Criticality Flag>` | Mandatory | Notes |
|--------------------------------------------------------------------|-----------------------------|------------------------------------------|----------------------|-------------------------------------------------------------------------------------|
| {term}`Signature Creation Time<Signature Creation Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | True | Current time |
| {term}`Issuer Fingerprint<Issuer Fingerprint Subpacket>` | {term}`Hashed<Hashed Area>` | True or False | Strongly Recommended | The {term}`primary key<OpenPGP Primary Key>` is the {term}`issuer` |
| {term}`Reason for Revocation<Reason For Revocation Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Determines {term}`soft<Soft Revocation>` or {term}`hard revocation` |
In {term}`Subkey Revocation signatures<Subkey Revocation Signature Packet>`, the [reason for revocation](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-reason-for-revocation) {term}`subpacket<OpenPGP Signature Subpacket>` can only have values in the range of `0-3`. The values `1` ({term}`key<OpenPGP Subkey>` superseded) and `3` ({term}`key<OpenPGP Subkey>` retired and no longer used) indicate {term}`soft revocations<Soft Revocation>`, whereas values `0` (no reason) and `2` ({term}`key<OpenPGP Subkey>` compromised) indicate {term}`hard revocations<Hard Revocation>`.
Note that a value of `32` is not applicable in these {term}`signatures<OpenPGP Signature Packet>`.
### Revoke a certificate
Users may find themselves needing to revoke their entire {term}`OpenPGP certificate`, rendering it unusable. This could be for various reasons, such as migrating to a new {term}`certificate<OpenPGP certificate>` or in response to a compromise of the {term}`certificate<OpenPGP certificate>`'s {term}`secret key material<Private Key Material>`.
While a {term}`soft-revoked<Soft Revocation>` {term}`certificate<OpenPGP Certificate>` can be re-validated at a later time with a new {term}`certification`, a {term}`hard revocation` is permanent.
The recommended way to {term}`revoke<Revocation>` a {term}`certificate<OpenPGP Certificate>` is by issuing a {term}`Key Revocation signature<Key Revocation Signature Packet>` ({term}`type ID<Signature Type ID>` `0x20`). Its structure is similar to that of a {term}`Certification Revocation signature<Certification Revocation Signature Packet>`.
| {term}`Subpacket<OpenPGP Signature Subpacket>` | Area | {term}`Critical<Criticality Flag>` | Mandatory | Notes |
|--------------------------------------------------------------------|-----------------------------|------------------------------------------|----------------------|-------------------------------------------------------------------------------------|
| {term}`Signature Creation Time<Signature Creation Time Subpacket>` | {term}`Hashed<Hashed Area>` | True | True | Current time |
| {term}`Issuer Fingerprint<Issuer Fingerprint Subpacket>` | {term}`Hashed<Hashed Area>` | True or False | Strongly Recommended | The {term}`primary key<OpenPGP Primary Key>` is the {term}`issuer` |
| {term}`Reason for Revocation<Reason For Revocation Subpacket>` | {term}`Hashed<Hashed Area>` | True | False | Determines {term}`soft<Soft Revocation>` or {term}`hard revocation` |
For {term}`Key Revocation signatures<Key Revocation Signature Packet>`, the guidelines regarding the [*Reason for Revocation* subpacket](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-reason-for-revocation) are the same as those for {term}`Subkey Revocation signatures<Subkey Revocation Signature Packet>`.
### Common subpackets in OpenPGP signatures
In OpenPGP, certain {term}`subpackets<OpenPGP Signature Subpacket>` are universally expected across all types of {term}`signatures<OpenPGP Signature Packet>`, serving fundamental roles in the {term}`signature<OpenPGP Signature Packet>`'s structure, {term}`verification` and {term}`validation`:
* **{term}`Signature Creation Time<Signature Creation Time Subpacket>`**: This is a mandatory {term}`subpacket<OpenPGP Signature Subpacket>` in every {term}`OpenPGP signature<OpenPGP Signature Packet>`. It contains the timestamp of when the {term}`signature<OpenPGP Signature Packet>` was created. For security and integrity, this {term}`subpacket<OpenPGP Signature Subpacket>` must be located in the {term}`hashed area` of the {term}`signature<OpenPGP Signature Packet>` and is recommended to be marked as {term}`critical<Criticality Flag>`.
* **{term}`Issuer Fingerprint<Issuer Fingerprint Subpacket>`**: Essential for {term}`signature<OpenPGP Signature Packet>` {term}`validation`, this {term}`subpacket<OpenPGP Signature Subpacket>` identifies the {term}`key<OpenPGP Primary Key>` (or {term}`subkey<OpenPGP Subkey>`) that was used to create the {term}`signature<OpenPGP Signature Packet>`. OpenPGP v6 {term}`signatures<OpenPGP Signature Packet>` should include the {term}`Issuer Fingerprint subpacket`, containing the 32-byte {term}`fingerprint<OpenPGP Fingerprint>` of the {term}`key<Component Key>`.
```{note}
The {term}`key<Component Key>` used as the {term}`issuer` in the {term}`signature<OpenPGP Signature Packet>` might be a {term}`subkey<OpenPGP Subkey>` of the {term}`certificate<OpenPGP Certificate>`.
```
These {term}`subpackets<OpenPGP Signature Subpacket>` can be placed in either the {term}`hashed<Hashed Area>` or {term}`unhashed area` due to its self-{term}`authenticating<Authentication>` nature. However, we recommend including them in the {term}`signature<OpenPGP Signature Packet>`'s {term}`hashed area`.
## Managing subpacket conflicts and duplication
In {term}`OpenPGP signatures<OpenPGP Signature Packet>`, both the {term}`hashed<Hashed Area>` and {term}`unhashed areas<Unhashed Area>` are composed of lists of {term}`subpackets<OpenPGP Signature Subpacket>`. Inherently, this structure permits the duplication of the same {term}`subpacket<OpenPGP Signature Subpacket>`, which could lead to conflicts. To manage these potential conflicts, the following strategies are used:
- **Precedence of {term}`hashed area`**: {term}`Subpackets<OpenPGP Signature Subpacket>` within the {term}`hashed area` of a {term}`signature<OpenPGP Signature Packet>` take precedence over those in the {term}`unhashed area`. This hierarchy helps resolve conflicts when the same {term}`subpacket<OpenPGP Signature Subpacket>` appears in both areas.
- **Handling conflicts within the same area**: Conflicts can still arise within the same area, such as when two {term}`subpackets<OpenPGP Signature Subpacket>` have different {term}`expiration times<Expiration Time>`. In such cases, the [OpenPGP specification](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-notes-on-subpackets) advises that {term}`implementations<OpenPGP Implementation>` should favor the last occurrence of a conflicting {term}`subpacket<OpenPGP Signature Subpacket>` in the {term}`hashed area`.
In certain scenarios, having duplicate {term}`subpackets<OpenPGP Signature Subpacket>` with conflicting content is logical and even necessary. For example, consider a {term}`signature<OpenPGP Signature Packet>` created by a version 4 {term}`issuer` {term}`key<Component Key>`, which was upgraded from an older OpenPGP version (like v3). Since the {term}`key ID` calculation scheme changed from v3 to v4, the identifiers for the same {term}`key<Component Key>` would differ between these versions. Therefore, a v4 signature might contain two {term}`issuer key ID subpackets<Issuer Fingerprint Subpacket>`, each with different, yet correct values for v3 and v4 {term}`keys<Component Key>`, respectively. This allows for backward compatibility and ensures the {term}`signature<OpenPGP Signature Packet>` can be {term}`validated<Validation>` under both {term}`key ID` calculation schemes.

View File

@ -0,0 +1,52 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Signatures over data
## Nesting of one-pass signatures
Signing a message using the one-pass mechanism involves prepending a *One-Pass-Signature* (OPS) packet to the message and appending the corresponding signature, sandwiching the signed content.
An OpenPGP message can contain multiple signatures added that way.
```{note}
One-Pass-Signatures are nested, meaning the outermost One-Pass-Signature packet corresponds to the outermost signature packet.
```
When a message is signed, the signature is always calculated over the contents of the literal data packet, not the literal data packet itself.
This means, that if a message, which is compressed using a compressed data packet is wrapped using a one-pass-signature, the signature is still being calculated over the plaintext inside the literal data packet.
There is one exception though.
```{note}
Of course there is.
```
The OPS packet has a "nested" flag[^nested-flag], which can either be `1` or `0`.
If this flag is set to `0`, it indicates that further OPSs will follow this packet, which are calculated over the same plaintext data as this OPS is. A value of `1` indicates, that either no further OPS packets will follow (this OPS is the last), or that this OPS is calculated over the the usual plaintext data, but wrapped inside any OPS+Signature combinations that follow this OPS.
[^nested-flag]: See [description of the nested flag](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#section-5.4-3.8.1).
This mechanism enables attested signatures, where the signer signs an already one-pass-signed message including the already contained signature.
As a practical example, consider the following notation:
* `LIT("Hello World")` represents a literal data packet with the content `Hello World`.
* `COMP(XYZ)` represents a compressed data packet over some other packet `XYZ`.
* `OPS₁` represents a one-pass-signature packet with the nested flag set to `1`. Analogous, `OPS₀` has the nested flag set to `0`.
* `SIG` represents a signature packet.
A normal, one-pass-signed message looks like this:
`OPS₁ LIT("Hello World") SIG`
Here, the signature is calculated over the plaintext `Hello World`, as is it in a message that has the following form: `OPS₁ COMP(LIT("Hello World")) SIG`.
A message, where multiple one-pass-signatures are calculated over the same plaintext looks the following:
`OPS₀ OPS₀ OPS₁ LIT("Hello World") SIG SIG SIG`
All three signatures are calculated over the same plaintext `Hello World`.
Now, a message, where the signer attests an already signed message has the following format:
`OPS₁ OPS₁ LIT("Hello World") SIG SIG`
While the inner signature is calculated over the usual plaintext `Hello World`, the outer signature is instead calculated over `OPS₁ Hello World SIG`.

View File

@ -0,0 +1,116 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Advanced material: Signature verification
## Attribute shadowing
When determining the preferences of a key, several signatures may have to be inspected.
For example, when using a signing subkey to generate a data signature, an implementation might want to check for hash algorithm preferences on the subkey binding signature.
However, the RFC [states](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#section-5.2.3.10-2) that signature subpackets in a direct key signature (which may also contain preferences) on the OpenPGP certificate's primary key apply to the entire OpenPGP key, and therefore also to the signing subkey.
In this case, the implementation uses the preferences from the subkey binding signature, but if no such subpacket is found on the latest binding signature, it falls back to the preferences from the direct key signature.
This is called attribute shadowing, since direct key signature subpackets apply to all subkeys, but are shadowed by binding signature subpackets.
```{figure} ../img/drawio/attribute-shadowing.png
:name: fig-signature-verification-attribute-shadowing
:alt: Depicts a certificate with to dedicated signing subkeys and a subkey binding signature each. The primary key carries a direct-key signature, which specifies SHA-512 and SHA-256 as hash algorithm preferences. The binding signature of the first signing subkey does not specify preferences, while the binding signature of the second subkey defines SHA-384. Signatures made using the first subkey source the hash algorithm preferences from the direct-key signature, due to the absence of a preference subpacket on the binding signature, while for signature made using the second subkey the direct-key signature's preferences are shadowed by the subkey signatures preferences subpacket.
Inheritance and Shadowing of Attributes
```
```{admonition} Note
:class: note
Attribute shadowing is relatively straightforward to reason about when used for algorithm preferences. For other subpacket types, shadowing may be confusing, and/or the semantics underspecified (e.g. for key expiration time subpackets).
```
## Signature shadowing
When inspecting signatures on a component of an OpenPGP certificate, of the signatures that are in effect for each function, only the newest is considered.
In other words:
- If there are three binding signatures `A, B, C` for a subkey,
- where:
- `A` was created at `t0`,
- `B` at `t1`, and
- `C` at `t3`, with
- `t0 < t1 < t2 < t3`.
- Then at `t2`, an implementation only needs to consider signature `B`,
- because `C` is not yet in effect, and
- `A` is shadowed, because it is older than `B`.
```{figure} ../img/drawio/cert-validity-subkey.png
:name: fig-signature-verification-subkey-validity
:alt: Depicts a gantt-style diagram visualizing how the validity of a certificates components changes over time, depending on component signatures.
An example for how certificate validity can change with time.
```
```{note}
Signature shadowing should not be confused with attribute shadowing.
```
As attribute and signature shadowing can occur in combination, it is not always obvious which properties a key has at a given time.
```{figure} ../img/drawio/dk-attributes-and-shadowing.png
:name: fig-signature-verification-signature-shadowing
:alt: Depicts a certificate with a subkey, whose capabilities change over time, due to signature shadowing another.
Signatures shadow one another, based on reference time.
```
## Which signatures take precedence?
Multiple signatures can be attached to an OpenPGP certificate or component. These signatures can contain conflicting information.
When verifying a signature that is not self-qualifying, an implementation needs to inspect self-qualifying signatures in the issuer's certificate for qualification. The certificate may contain multiple signatures for one component.
For example, there could be multiple subkey binding signatures for one subkey. This could be the case because the expiration time in the original binding signature has expired, and the certificate holder has issued a new binding signature with an extended expiration time.
In general, for each category of signatures (categories such as binding signatures for one particular subkey), the signature with the latest creation time takes precedence, and only that signature is considered.
Alternatively, there can be competing qualifying signatures of different types, e.g., a direct key signature and a self-certification signature on a primary User ID. Both of these contain metadata associated with the entire certificate. By default, the direct key signature is preferred[^conflicting-prefs] in OpenPGP version 6.
[^conflicting-prefs]: However, the semantics of these cases are not currently fully specified, see [this discussion](https://gitlab.com/openpgp-wg/rfc4880bis/-/issues/103).
Depending on how a certificate is "located," different metadata from possible candidate signatures "shadow" one another. The RFC [states](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-notes-on-self-signatures) that when a certificate is "located" by the OpenPGP software "via an identity", then the metadata associated with that identity takes precedence over more global metadata, such as that associated with the certificate's primary key, with a direct key signature.
For example, the latest direct key signature could list "SHA512, SHA384" as hash algorithm preferences, while the latest self-certification of the User ID "Bob" could list only "SHA256."
For yet another User ID "Bobby," the self-signature could list no hash algorithm preferences at all.
If the user wants to compose a signed message using the associated OpenPGP key they need to figure out which preferences to use.
The specification recommends that implementations decide which signature takes precedence by the way the certificate is "addressed."
```{figure} ../img/drawio/narrow-interpretation.png
Preferences are sourced from signatures on different components, depending on how the key is addressed.
```
If the user wants to write an email as "Bob," it should consider the signature on "Bob," so SHA256 should be used as hash algorithm.
If instead the user wants to write as "Bobby," the implementation should inspect the self-certification on "Bobby" instead.
However, since this signature does not carry any hash algorithm preferences subpacket, the implementation must fall back to the direct key signature instead.
The same is true if the certificate is used without any User ID as sender.
To complicate things further:
Algorithm preferences can also be stated on subkey binding signatures, so if the certificate has a dedicated signing subkey, there is yet another signature which could take precedence.
Preferences from the subkey binding signature take precedence over the direct key signature, but not over self-certifications on the User ID.
There can be more than one signature on a component. As an example, there are 3 direct key signatures (e.g., because the key's expiry has been extended two times).
In general, for each component, only the newest self-signature is "in effect," and older signatures are "shadowed."
For each certificate, there is at most one "active" direct key signature, for each User ID at most one active self-certification and for each subkey exactly one subkey binding.
## Complexity of the packet format
OpenPGP certificates can contain complex preference settings. Additionally, the OpenPGP packet format allows a lot of flexibility when storing certificates in TPK format.
User ID packets, for example, do not have a fixed position in a TPK. This means an attacker (or an implementation-internal certificate canonicalization procedure) can change the order in which User IDs appear in the certificate's packet sequence.
As a concrete example, consider a certificate with multiple User IDs, all marked as primary. Or similarly, a certificate with multiple User IDs of which none is marked as primary.
Clients might apply different heuristics to figure out which User ID actually qualifies as the primary User ID here.
Such subtle changes to the representation of a certificate can lead to different preference settings being deduced, by different OpenPGP implementations.

95
book/source/armor.md Normal file
View File

@ -0,0 +1,95 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# ASCII armor
The native format of OpenPGP data is binary.
However, in many use cases it is customary to use OpenPGP data in a non-binary encoding called "ASCII armor." For example, ASCII armored OpenPGP data is often used in email, for encrypted messages or for signatures.
## Mechanism
OpenPGP's ASCII armor mechanism consists of:
- An [armor header line](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-armor-header-line)
- Optional [armor headers](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-armor-headers) that can contain additional metadata
- The [base64 encoded](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-base64-conversions) OpenPGP data
- An [optional checksum](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-optional-checksum) for this data
- An [armor tail line](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-armor-tail-line) (or footer) that matches the header line
## Example
In the chapter [](zoom/certificates), we take a look at a very minimal variant of Alice's certificate. In ASCII armored form, the certificate is 388 bytes long, and looks like this:
```text
$ cat alice_minimal.pub
-----BEGIN PGP PUBLIC KEY BLOCK-----
xioGZRbqphsAAAAgUyTpQ6+rFfdu1bUSmHlpzRtdEGXr50Liq0f0hrOuZT7CtgYf
GwoAAAA9BYJlFuqmBYkFpI+9AwsJBwMVCggCmwECHgEiIQaqoYy7JUaFxYNYMgVj
/Te2fzMA+fsOxFc3jNKfECaYswAAAAoJEKqhjLslRoXFZ0cgouNjgeNr0E9W18g4
gAIl6FM5SWuQxg12j0S07ExCOI5NPRDCrSnAV85mAXOzeIGeiVLPQ40oEal3CX/L
+BXIoY2sIEQrLd4TAEEy0BA8aQZTPEmMdiOCM1QB+V+BQZAO
=5nyq
-----END PGP PUBLIC KEY BLOCK-----
```
In this example, the *armor header line* uses the *header line text* `BEGIN PGP PUBLIC KEY BLOCK` (referring to the certificate data using the term *PGP public key*). Note that the matching footer uses the text `END PGP PUBLIC KEY BLOCK`.
There are no *armor headers* with additional metadata in this example. The base64 encoded message spans five lines, and is followed by a CRC24 checksum line with the content `=5nyq`.
The armored format is convenient when transferring OpenPGP data (like this certificate) in email Text. It is a robust format for manual copying and pasting, etc.
### Contrast with binary OpenPGP data
Using the `sq` commandline tool, we can compare this with the same OpenPGP data in binary form:
```text
$ sq dearmor alice_minimal.pub > alice_minimal.pub.bin
```
The resulting binary representation of the same data comprises 228 bytes. We can look at its hexdump:
```text
$ hexdump -C alice_minimal.pub.bin
00000000 c6 2a 06 65 16 ea a6 1b 00 00 00 20 53 24 e9 43 |.*.e....... S$.C|
00000010 af ab 15 f7 6e d5 b5 12 98 79 69 cd 1b 5d 10 65 |....n....yi..].e|
00000020 eb e7 42 e2 ab 47 f4 86 b3 ae 65 3e c2 b6 06 1f |..B..G....e>....|
00000030 1b 0a 00 00 00 3d 05 82 65 16 ea a6 05 89 05 a4 |.....=..e.......|
00000040 8f bd 03 0b 09 07 03 15 0a 08 02 9b 01 02 1e 01 |................|
00000050 22 21 06 aa a1 8c bb 25 46 85 c5 83 58 32 05 63 |"!.....%F...X2.c|
00000060 fd 37 b6 7f 33 00 f9 fb 0e c4 57 37 8c d2 9f 10 |.7..3.....W7....|
00000070 26 98 b3 00 00 00 0a 09 10 aa a1 8c bb 25 46 85 |&............%F.|
00000080 c5 67 47 20 a2 e3 63 81 e3 6b d0 4f 56 d7 c8 38 |.gG ..c..k.OV..8|
00000090 80 02 25 e8 53 39 49 6b 90 c6 0d 76 8f 44 b4 ec |..%.S9Ik...v.D..|
000000a0 4c 42 38 8e 4d 3d 10 c2 ad 29 c0 57 ce 66 01 73 |LB8.M=...).W.f.s|
000000b0 b3 78 81 9e 89 52 cf 43 8d 28 11 a9 77 09 7f cb |.x...R.C.(..w...|
000000c0 f8 15 c8 a1 8d ac 20 44 2b 2d de 13 00 41 32 d0 |...... D+-...A2.|
000000d0 10 3c 69 06 53 3c 49 8c 76 23 82 33 54 01 f9 5f |.<i.S<I.v#.3T.._|
000000e0 81 41 90 0e |.A..|
000000e4
```
If you read the chapter that discusses the [packet internals of certificate data](/zoom/certificates), you may recognize this data.
This binary data is, of course, not convenient to copy into the text of an email, or similar. On the other hand, it's a more compact format. In this example, the binary OpenPGP data is around 40% smaller than the ASCII armored representation.
Both the binary and the ASCII armored format encode exactly the same information. Depending on the context in which the OpenPGP data is used, one or the other is more appropriate.
## The cleartext signature framework
One noteworthy mechanism in OpenPGP that uses a specialized variant of ASCII armoring is the [*cleartext signature framework*](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#cleartext-signature), which stores an ASCII-armored signature and a cleartext message as a combined text file.
See our section on the [cleartext signature framework](cleartext-signature) for an example of that format.
## Advanced topics
### Optional checksum and its deprecation
Historically, the ASCII armor mechanism of OpenPGP has specified an (optional) checksum mechanism for the base64 encoded data.
The specification for OpenPGP version 6 [deprecates this mechanism](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-optional-checksum).
Existing CRC24 footers should be ignored, and generating these footers is strongly discouraged, except in cases where interoperability requires it.

95
book/source/artifacts.md Normal file
View File

@ -0,0 +1,95 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Appendix A: OpenPGP artifacts
(alice-priv)=
## Alice's OpenPGP key
```text
-----BEGIN PGP PRIVATE KEY BLOCK-----
Comment: AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B3
Comment: <alice@example.org>
xUsGZRbqphsAAAAgUyTpQ6+rFfdu1bUSmHlpzRtdEGXr50Liq0f0hrOuZT4A7+GZ
tV8R+6qT6CadO7ItciB9/71C3UvpozaBO6XMz/vCtgYfGwoAAAA9BYJlFuqmBYkF
pI+9AwsJBwMVCggCmwECHgEiIQaqoYy7JUaFxYNYMgVj/Te2fzMA+fsOxFc3jNKf
ECaYswAAAAoJEKqhjLslRoXFZ0cgouNjgeNr0E9W18g4gAIl6FM5SWuQxg12j0S0
7ExCOI5NPRDCrSnAV85mAXOzeIGeiVLPQ40oEal3CX/L+BXIoY2sIEQrLd4TAEEy
0BA8aQZTPEmMdiOCM1QB+V+BQZAOzRM8YWxpY2VAZXhhbXBsZS5vcmc+wrkGExsK
AAAAQAWCZRbqpgWJBaSPvQMLCQcDFQoIApkBApsBAh4BIiEGqqGMuyVGhcWDWDIF
Y/03tn8zAPn7DsRXN4zSnxAmmLMAAAAKCRCqoYy7JUaFxdu4IIotb9pnNbxdBHe0
nWeobsXWiFNf4u/5Zgi/wuDbwFYN69QspRkBD7om0IKiz1zreqly2fOyZgeLsro9
t4nkdgRuNSQrJymDvpGceGrMtNVpR3YsKdZUv0MZBP9TmMDVC8dLBmUW6qYZAAAA
INGuh9fMQq+ZNMXCXMr6t0rIQ/yGNSpGAfPMAPVKCT4/ACh9zdomFjeN6iTHzudw
x5vlbwrJd/u9I0FzyVdav3xMwqsGGBsKAAAAMgWCZRbqpgWJBaSPvQKbDCIhBqqh
jLslRoXFg1gyBWP9N7Z/MwD5+w7EVzeM0p8QJpizAAAACgkQqqGMuyVGhcUiiSAL
DIm1qxXjf+RNuafvcUgUO6smXzR/bUgun3hIWG2a+22y2y+XjsgS/Fd/harRWbyA
QAu+LvDhIy2/S3F+0OTANuTSz7KftKhPPiohiXTCM1WvrEE2GytgCfLZGfRBEgvH
SwZlFuqmGwAAACAzjNT1GnM5787WDyGNoFiiPD1EqFnpEx8SnG8Z0D1AoAAOy9HJ
vIGCqncfqBKmKnSkIMF0dvOGJPuoJaVi3daikcLAhQYYGwoAAADMBYJlFuqmBYkF
pI+9ApsCmaAGGRsKAAAAKQWCZRbqpiIhBtB7JOyRoU3SQKwtU+bIqeBUlJpBIi6n
OFdu0Zyuo9yZAAAAAFNlIEIDrQzb/LWamKYVJ+QRXvXyoD287Y2UJ0EJ9jxL+Irl
r3PhfVQHQD/zKTTC52BWpeFDywi6Zv6LJs7ny6U6RrulyF3kat6uSeE+B7/EnpgU
Lz7F9wE+Pk/2GCqsve1SDCIhBqqhjLslRoXFg1gyBWP9N7Z/MwD5+w7EVzeM0p8Q
JpizAAAACgkQqqGMuyVGhcWEHCAjPbJJ8wJLCJOvugiJ8OCRD6siJqqzVlcw6pUp
BmBvAL5EoZU4qWs6PlHwVQmx4pGpF4b69R4/0ChGPM5uiBQ3Muw9+sYByuWpS7dj
lMMNkqvc+iNQcWAxpnPIM1qc2QrHSwZlFuqmGwAAACDwBi/5Muf1wpuajKjKJAxR
OVLySBVJj9b62QyLOJg0xwDYFSvx1cQi8FF4tCtpn89N0vMTmG7fQoW0DVOI1u0K
tcKrBhgbCgAAADIFgmUW6qYFiQWkj70CmyAiIQaqoYy7JUaFxYNYMgVj/Te2fzMA
+fsOxFc3jNKfECaYswAAAAoJEKqhjLslRoXF3Zgg/R2/mYLb/DpRSKA2ykKvFiRM
HLb8jRg6WGcr+XPuQbgdalxjFetO9EbZjOuYl3Jok/zObOgK7bCEoVEs9/UHR/K+
FcsHp6K860qG87pDlk2saQIwzXPmQcQvLokbeQMB
=DfxN
-----END PGP PRIVATE KEY BLOCK-----
```
(bob-priv)=
## Bob's OpenPGP key
Bob uses passphrase-protected secret key packets. His passphrase is `password`:
```text
-----BEGIN PGP PRIVATE KEY BLOCK-----
Comment: BB28 9FB7 A68D BFA8 C384 CCCD E205 8E02 D9C6 CD2F 3C7C 56AE 7FB5 3D97 1170 BA83
Comment: Bob Baker <bob@example.org>
xYYGZSlULBsAAAAgR+fC3FiOy/3ySZBmrqo2ZsqpVS1xiHwlkcN1cx0HYNb+FgkU
BDt/Sw6sizliWrTUvWkEE8cBBBUh/7788cWcdZ0f0fgZ5/1HVeNp/y/oUkhmA9M3
UnsFy/qx+BP39iCI1vWLxLRRUrpt+Xwa7p/msftj0cpKPzPZLMkmRsK2Bh8bCgAA
AD0FgmUpVCwFiQWkj70DCwkHAxUKCAKbAQIeASIhBrson7emjb+ow4TMzeIFjgLZ
xs0vPHxWrn+1PZcRcLqDAAAACgkQuyift6aNv6hmsCBGbcyDxHuoq4DTmpzhwxCo
Pq37LydspnltmjW6ZlSTLOc7dt+MiSxAUIqH9i0CQVV9cyQfc0Gi7YzjnvQ9RxcZ
raou5c0b126fZ6Rt2vzLHICGw3v7dpCAnR0Y2lUvaAXNG0JvYiBCYWtlciA8Ym9i
QGV4YW1wbGUub3JnPsK5BhMbCgAAAEAFgmUpVCwFiQWkj70DCwkHAxUKCAKZAQKb
AQIeASIhBrson7emjb+ow4TMzeIFjgLZxs0vPHxWrn+1PZcRcLqDAAAACgkQuyif
t6aNv6h76CB+0O5ke9ijamCxuAz9FHaMDN+l+mQrTYFTLCpGpkWIta+yHy3YdGog
5o5KzDQPrSART32y2dRKQci/49rafLDEqHfPzhEPwwcKWjJxpEpA+AUR+r0WuAh0
dRzT5vjPJwLHhgZlKVQsGQAAACAx8dR3SX4a2pudy0Fkzz8IkVhI+iIICfcKe8FC
HBUOFP4WCRQEw0VAyFbfmLAChDiHM714gQEEFcXLCpUyt+CPel5FO0wVibtGYRHr
pFEH/iCz7VYAup7lgerjiqTWdla37S+cAra9XduruJUZ3XS+L4bhYZTiCe2Jn8Fd
wqsGGBsKAAAAMgWCZSlULAWJBaSPvQKbDCIhBrson7emjb+ow4TMzeIFjgLZxs0v
PHxWrn+1PZcRcLqDAAAACgkQuyift6aNv6ggfiDu7s2cKnNx1vn17XV99XFo+DVe
Z/MQBOIbZ7bQz2ufS4PIjnC62/oybvC+GeNcnD8kOYfwtxPtl6DQdbpHYyqgNO21
RMq9oNvei4tKmh7gg6jXGrmWKT6yOIPZyqpQUg/HhgZlKVQsGwAAACAGelHxA+Uz
4M73R7YTo7Xjg3KKoLmc/BYWA/QZ3noQNP4WCRQEG4OjK8N9PVQioBCJ848J8QEE
FRjFFaC6UN5LB6wyCqvozRo/e069dUiwlnYssBNPINsXQiBPcxmoSbyxVRF7LR9G
BZy9/bVQw9ZyPKtbvBQEQKy4m1qvwsCFBhgbCgAAAMwFgmUpVCwFiQWkj70CmwKZ
oAYZGwoAAAApBYJlKVQsIiEGLJuY+NkqRYws6tuzQ2Bff3TWsiqA7IzIPzpNxQjJ
+pUAAAAA6LUg9nuvXbKHUCoGMAdiVV/ttYcO583925/m/T3nC/CNNShitGiBRNAp
HnGyQKVkROyzYznyA9jCF+Ck1jeOCb5nQ7PwxHxRuP4ZG0uRN23pQh4eM2F7V/2F
iOkRF9lAM0AEIiEGuyift6aNv6jDhMzN4gWOAtnGzS88fFauf7U9lxFwuoMAAAAK
CRC7KJ+3po2/qBhPIIPtGEG7TzgO0gXQjhlx9hNBdKxAzScMwRT7oAT3RZrG5hGH
oyvf2n86URceCnfYSwZSOij7CfD0ZJgDmNmvJ5//yx7I7M4YCCheAd5er3/eaF6O
VJt3Ui/pv5VuXLTRC8eGBmUpVCwbAAAAIFnzWg9EBmVGFMUClhrtT5DNdCf+A4OQ
90WbiTHnseuR/hYJFAT5Ylewq+lINPw46gwA5Z6eAQQViAjElYeZobbZ+D001l/M
QvHaiEbEIXadwP3bbjoM43rFoP+p8cNYYECYAL8sx34uIxeixwrL6aOZ8j6Y1zbP
C8jTYNrCqwYYGwoAAAAyBYJlKVQsBYkFpI+9ApsgIiEGuyift6aNv6jDhMzN4gWO
AtnGzS88fFauf7U9lxFwuoMAAAAKCRC7KJ+3po2/qLHdID+av7QZ75Fq4v9YVHpc
wVXtKDX+MOKJM4xz7RvBWErH2xWyqikNZQVuzz/WqOVH/nT+BcqmLWAe3yjrTE4B
hSfrR38Nk23E4Bu4HobVrg7rlMU6SKHRWKeX/iSUmr6GDA==
=UZBq
-----END PGP PRIVATE KEY BLOCK-----
```

294
book/source/certificates.md Normal file
View File

@ -0,0 +1,294 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Certificates
OpenPGP fundamentally hinges on the concept of "{term}`OpenPGP certificates<OpenPGP Certificate>`," also known as "{term}`OpenPGP public keys<OpenPGP Public Key>`." These {term}`certificates<OpenPGP Certificate>` are complex data structures essential for {term}`identity verification`, data encryption, and {term}`digital signatures<OpenPGP Signature Packet>`. Understanding their structure and function is pivotal to effectively applying the OpenPGP standard.
An {term}`OpenPGP certificate`, by definition, does not contain {term}`private key material`.
Fundamentally, the effective management of {term}`certificates<OpenPGP Certificate>` and a thorough grasp of their {term}`authentication` and {term}`trust models<Trust Model>` are crucial for proficient OpenPGP usage. Although this document offers just a brief overview of these aspects, they form a fundamental part of the broader OpenPGP framework and warrant further study.
- For an in-depth exploration of OpenPGP's {term}`private key material`, refer to [](/private_keys). This chapter provides essential insights into {term}`private key<Transferable Secret Key>` management and security practices.
- The bindings that link the {term}`components<Component>` of a {term}`certificate<OpenPGP Certificate>` are comprehensively discussed in [](/signing_components), offering a deeper understanding of {term}`certificate<OpenPGP Certificate>` structure and integrity.
- Finally, our chapter [](zoom/certificates) discusses the internal structure of {term}`certificates<OpenPGP Certificate>` in detail.
## Terminology: Understanding "keys"
The term "{term}`(cryptographic) keys<Cryptographic Key>`" is central to grasping the concept of {term}`OpenPGP certificates<OpenPGP certificate>`. However, it can refer to different entities, making it a potentially confusing term. Let's clarify those differences.
### Public vs. private keys
The term "{term}`key`," without additional context, can refer to either public or private {term}`asymmetric<Asymmetric Cryptography>` key material. Additionally, {term}`symmetric<Symmetric Cryptography>` keys may be used in OpenPGP to encrypt {term}`private key material`, adding a layer of security and complexity.
(layers-of-keys-in-openpgp)=
### Layers of keys in OpenPGP
In OpenPGP, the term "{term}`key`" may refer to three distinct layers, each serving a unique purpose:
1. A (bare) ["cryptographic key"](asymmetric-key-pair) comprises the private and/or public parameters forming a key. For instance, in the case of an RSA {term}`private key<Transferable Secret Key>`, the key consists of the exponent `d` along with the prime numbers `p` and `q`.
2. An OpenPGP *{term}`component key<OpenPGP Component Key>`* includes either an "{term}`OpenPGP primary key`" or an "{term}`OpenPGP subkey`." It is a building block of an {term}`OpenPGP certificate`, consisting of a cryptographic keypair coupled with some invariant {term}`metadata`, such as key {term}`creation time`.
3. An "{term}`OpenPGP certificate`" (or "OpenPGP key") consists of several {term}`component keys<OpenPGP Component Key>`, {term}`identity components<Identity Component>`, and other elements. These {term}`certificates<Certificate>` are dynamic, evolving over time as {term}`components<Component>` are added, {term}`expire<Expiration>`, or are marked as {term}`invalid<Validation>`.
The following section will delve into the OpenPGP-specific layers (2 and 3) to provide a clearer understanding of their roles within {term}`OpenPGP certificates<OpenPGP Certificate>`.
## Structure of OpenPGP certificates
An {term}`OpenPGP certificate` (or "{term}`OpenPGP key`") is a collection of an arbitrary number of elements[^packets]:
[^packets]: In technical terms, the elements of an {term}`OpenPGP certificate` are a collection of "{term}`packets<Packet>`." Each {term}`component key<OpenPGP Component Key>` and {term}`identity component` is internally represented as a {term}`packet`. Another common type of {term}`packet` is the "{term}`signature`" {term}`packet`, which connect the {term}`components<Component>` of a {term}`certificate<OpenPGP Certificate>`.
- {term}`Component keys<OpenPGP Component Key>`
- {term}`Identity components<Identity Component>`
- Additional {term}`metadata`, including connections between the {term}`certificate<OpenPGP Certificate>`'s {term}`components<Component>`
This documentation collectively refers to {term}`component keys<OpenPGP Component Key>` and {term}`identity components<Identity Component>` as "the {term}`components<Component>` of a {term}`certificate<OpenPGP Certificate>`."
```{figure} plain_svg/Components_of_an_OpenPGP_Certificate.svg
:name: fig-openpgp-certificate-components
:alt: Depicts a box with white background and the title "OpenPGP certificate". In the box several other boxes and accompanying texts, representing component keys and User IDs, are shown. There are three component keys boxes with a green frame, each with a dotted lower-left section, that shows the text "key creation time" and the green public key symbol in the lower right area. All three have a title, a unique fingerprint below the box and a unique capability keyword, perpendicular to the box on the right side. The top-most component key box has a light-green background, with the title "Component Key (primary)" and capability keyword "certification". The second-to-top component key box has a white background, with the title "Component Key" and capability keyword "encryption". The lowest component key box has a white background, with the title "Component Key" and capability keyword "signing". There are two User ID boxes, each with a black frame, open to top left and lower right corner. Both boxes have a user icon on the top left side, the title "User ID" on the top right side and a User ID string at the bottom. The top box has "Alice Adams <alice@example.org>" and the lower box has "Alice" as User ID string.
Typical {term}`components<Component>` in an {term}`OpenPGP certificate`
```
Every element in an {term}`OpenPGP certificate` revolves around a central {term}`component`: the *{term}`OpenPGP primary key`*. The primary key acts as a personal *{term}`certification authority`* ({term}`CA<Certification Authority>`) for the {term}`certificate<OpenPGP Certificate>`'s owner, enabling cryptographic statements regarding {term}`subkeys<OpenPGP Subkey>`, {term}`identities<Identity>`, {term}`expiration`, {term}`revocation`, and more.
```{note}
{term}`OpenPGP certificates<OpenPGP Certificate>` tend to have a long lifespan, with the potential for modifications (typically by their owner) over time. {term}`Components<Component>` may be added or {term}`invalidated<Validation>` throughout a {term}`certificate<OpenPGP Certificate>`'s lifetime. However, once published, {term}`components<Component>` [cannot be removed](append-only) from {term}`certificates<OpenPGP Certificate>`.
```
(component-keys)=
## Component keys
An {term}`OpenPGP certificate` usually contains multiple {term}`component keys<OpenPGP Component Key>`. {term}`Component keys<OpenPGP Component Key>` serve in one of two roles: either as an "{term}`OpenPGP primary key`" or as an "{term}`OpenPGP subkey`."
{term}`OpenPGP component keys<OpenPGP Component Key>` logically consist of an [asymmetric cryptographic keypair](asymmetric-key-pair) and a creation timestamp. Once created, these attributes of a {term}`component key<OpenPGP Component Key>` remain fixed (for ECDH keys, two additional parameters are part of a {term}`component key`'s constitutive data[^ecdh-parameters]).
[^ecdh-parameters]: For [ECDH](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-algorithm-specific-part-for-ecd) {term}`component keys<OpenPGP Component Key>`, two additional algorithm parameters are integral to the {term}`component key<OpenPGP Component Key>`'s constitutive and immutable properties. Those parameters specify a hash function and a {term}`symmetric<Symmetric Cryptography>` encryption algorithm.
```{figure} plain_svg/Component_Key.svg
:name: fig-component-key
:alt: Depicts a box with white background and no title. In the box one other box is shown. The inner box has a green frame, with a dotted lower-left section, that shows the text "key creation time" and the green public key symbol, as well as the red-dotted private key symbol in the lower right area. In the top left of the inner box the text reads "Component Key."
An {term}`OpenPGP component key`
```
{term}`Component keys<OpenPGP Component Key>` containing {term}`private key material` also include {term}`metadata` specifying the password protection scheme. This is another facet of {term}`metadata`, akin to the aforementioned creation timestamp and additional parameters for certain algorithms. However, this discussion focuses on {term}`OpenPGP certificates<OpenPGP Certificate>`, in which the {term}`component keys<OpenPGP Component Key>` contain only the public part of its cryptographic key data. For information on {term}`private keys<Transferable Secret Key>` in OpenPGP, see [](private_keys).
(fingerprint)=
### Fingerprint
Each {term}`OpenPGP component key` possesses an *{term}`OpenPGP fingerprint`*. This {term}`fingerprint<OpenPGP Fingerprint>` is derived from the {term}`public key material<OpenPGP Certificate>`, the {term}`creation timestamp<Creation Time>`, and, when relevant, the ECDH parameters.
```{figure} plain_svg/Fingerprint.svg
:name: fig-fingerprint
:alt: Depicts a box with white background and the title "Fingerprint of an OpenPGP component key." Inside, another box with a green frame, the title "Component Key", the text "key creation time" on the lower left and a the green public key symbol on the lower right is shown. Below the component key box a fingerprint in a box with a light-yellow background and a yellow dotted line is depicted. The word "Fingerprint" is shown left of the box with the fingerprint and both are connected with a yellow dotted line.
Every {term}`OpenPGP component key` is identifiable by a {term}`fingerprint<OpenPGP Fingerprint>`.
```
The {term}`fingerprint<OpenPGP Fingerprint>` of our example {term}`OpenPGP component key` is `C0A5 8384 A438 E5A1 4F73 7124 26A4 D45D BAEE F4A3 9E6B 30B0 9D55 13F9 78AC CA94`[^keyid].
[^keyid]: In OpenPGP version 4, the rightmost 64 bits were sometimes used as a shorter identifier, called "{term}`Key ID`."
For example, an OpenPGP version 4 {term}`certificate<OpenPGP Certificate>` with the {term}`fingerprint<OpenPGP Fingerprint>` `B3D2 7B09 FBA4 1235 2B41 8972 C8B8 6AC4 2455 4239` might be referenced by the 64-bit {term}`Key ID` `C8B8 6AC4 2455 4239` or formatted as `0xC8B86AC424554239`.
Historically, even shorter 32-bit identifiers were used, like this: `2455 4239`, or `0x24554239`. Such identifiers still appear in very old documents about PGP. However, [32-bit identifiers have been long deemed unfit for purpose](https://evil32.com/). At one point, 32-bit identifiers were called "short {term}`Key ID`," while 64-bit identifiers were referred to as "long Key ID."
```{note}
In practice, the {term}`fingerprint<OpenPGP Fingerprint>` of a {term}`component key<OpenPGP Component Key>`, while not theoretically unique, functions effectively as a unique identifier. The use of a [cryptographic hash algorithm](cryptographic-hash) in generating {term}`fingerprints<OpenPGP Fingerprint>` makes the occurrence of two different {term}`component keys<OpenPGP Component Key>` with the same {term}`fingerprint<OpenPGP Fingerprint>` extremely unlikely[^finger-unique].
```
[^finger-unique]: For both {term}`OpenPGP version 6<RFC>` and version 4, the likelihood of accidental occurrence of duplicate {term}`fingerprints<OpenPGP Fingerprint>` is negligible when {term}`key material` is generated based on an acceptable source of entropy. A separate question is if an attacker can purposely craft a second key with the same {term}`fingerprint<OpenPGP Fingerprint>` as a given pre-existing {term}`component key<OpenPGP Component Key>`. With the current state of the art, this is not possible for OpenPGP version 6 and version 4 keys. However, at the time of this writing, the SHA-1-based {term}`fingerprints<OpenPGP Fingerprint>` of OpenPGP version 4 are considered insufficiently strong at protecting against the generation of pairs of {term}`key material` with the same {term}`fingerprint<OpenPGP Fingerprint>`.
(primary-key)=
### Primary key
The {term}`OpenPGP primary key` is a {term}`component key<OpenPGP Component Key>` that serves a distinct, central role in an {term}`OpenPGP certificate`:
- Its {term}`fingerprint<OpenPGP Fingerprint>` acts as an identifier for the entire {term}`OpenPGP certificate`.
- It facilitates lifecycle operations, such as adding or {term}`invalidating<Validation>` {term}`subkeys<OpenPGP Subkey>` or {term}`identities<Identity>` within a {term}`certificate<OpenPGP Certificate>`.
```{admonition} Terminology
:class: note
In the {term}`RFC`, the {term}`OpenPGP primary key` is occasionally referred to as "top-level key." Informally, it has also been termed the "{term}`master key<OpenPGP Primary Key>`."
```
(subkeys)=
### Subkeys
Modern {term}`OpenPGP certificates<OpenPGP Certificate>` typically include several {term}`subkeys<OpenPGP Subkey>` in addition to the {term}`primary key<OpenPGP Primary Key>`, although these {term}`subkeys<OpenPGP Subkey>` are optional.
While {term}`subkeys<OpenPGP Subkey>` have the same structural attributes as the {term}`primary key<OpenPGP Primary Key>`, they fulfill different roles. {term}`Subkeys<OpenPGP Subkey>` are cryptographically linked with the {term}`primary key<OpenPGP Primary Key>`, a relationship further discussed in {numref}`bind-subkey`.
```{figure} plain_svg/Binding_Subkeys.svg
:name: fig-subkeys
:alt: Diagram depicting three component keys. The primary key is positioned at the top, designated for certification. Below it, connected by arrows, are two subkeys labeled as "for encryption" and "for signing," respectively.
{term}`OpenPGP certificates<OpenPGP Certificate>` can contain multiple {term}`subkeys<OpenPGP Subkey>`.
```
(identity-components)=
## Identity components
{term}`Identity components<Identity Component>` in an {term}`OpenPGP certificate` are used by the {term}`certificate holder` to state that they are known by a certain identifier (like a name, or an email address).
(user-ids)=
### User IDs in OpenPGP certificates
{term}`OpenPGP certificates<OpenPGP Certificate>` can contain multiple [User IDs](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#uid). Each {term}`User ID` associates the {term}`certificate<OpenPGP Certificate>` with an {term}`identity`.
```{figure} plain_svg/Binding_a_UserID.svg
:name: fig-user-ids
:alt: Depicts a diagram with white background and the title "User IDs". Inside, a public primary component key for certification and a User ID is shown. A green arrow points from component key to User ID and is annotated with a signature.
Relationship of {term}`User ID` to primary {term}`component key` in an {term}`OpenPGP certificate`
```
A typical {term}`User ID` {term}`identity` is a UTF-8-encoded string composed of a name and an email address. By convention, {term}`User IDs<User ID>` align with the format described in [RFC2822](https://www.rfc-editor.org/rfc/rfc2822) as a *name-addr*.
For further conventions on {term}`User IDs<User ID>`, refer to the document [draft-dkg-openpgp-userid-conventions-00](https://datatracker.ietf.org/doc/draft-dkg-openpgp-userid-conventions/), dated 25 August 2023.
**Split User IDs**
One proposed variant for encoding {term}`identities<Identity>` in {term}`User IDs<User ID>` is to use ["split User IDs"](https://dkg.fifthhorseman.net/blog/2021-dkg-openpgp-transition.html#split-user-ids). Although uncommon, there are currently no significant technical barriers to implementing this format[^dkg-split].
[^dkg-split]: Historically, the OpenPGP ecosystem faced challenges in this context. For further details, refer to Daniel Kahn Gillmor's January 2019 article, ["What were Separated User IDs"](https://dkg.fifthhorseman.net/blog/2019-dkg-openpgp-transition.html#what-were-separated-user-ids).
The rationale for split {term}`User IDs<User ID>` lies in the distinction between a name and an email address, which represent two separate facets of an individual's {term}`identity`. Separating these elements simplifies the process for third parties tasked with certifying that an {term}`identity` is legitimately connected to a {term}`certificate<OpenPGP Certificate>`.
Consider this scenario: A third party is confident about the email-based {term}`identity` of an individual (e.g.,`<alice@example.org>`) and is willing to certify it. However, they might not have sufficient knowledge about the person's name-based {term}`identity` (e.g., `Alice Adams`), so are unwilling to extend the same level of {term}`certification`. Split {term}`User IDs<User ID>` address this dichotomy by allowing distinct {term}`certification` processes for each type of {term}`identity`.
(primary-user-id)=
### Implications of the Primary User ID
Within a {term}`certificate<OpenPGP Certificate>`, a specific {term}`User ID` is designated as the [Primary User ID](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-primary-user-id).
Each {term}`User ID` carries associated preference settings, such as preferred encryption algorithms, which is detailed in {numref}`zoom-user-id`). When a {term}`certificate<OpenPGP Certificate>` is used in the context of a specific {term}`identity`, then the preferences associated with that {term}`identity component` are used. When a {term}`certificate<OpenPGP Certificate>` is used without reference to a specific {term}`identity`, the preferences associated with the {term}`direct key signature`, or the {term}`primary User ID` take precedence by default.
The {term}`primary User ID` was historically the main store for preferences that apply to the {term}`certificate<OpenPGP Certificate>` as a whole. For more on this, see {ref}`primary-metadata`.
(user-attributes)=
### User attributes in OpenPGP
While
[user attributes](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#user-attribute-packet) are similar to {term}`User IDs<User ID>`, they are less commonly used.
Currently, the OpenPGP standard prescribes only one format to be stored in user attributes: an [image](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-the-image-attribute-subpack) in JPEG format. Typically, this image represents the key owner, although it is not required.
## Linking the components
To form an {term}`OpenPGP certificate`, individual {term}`components<Component>` are interconnected by the {term}`certificate holder` using their OpenPGP software. Within OpenPGP, this process is termed "binding", as in "a {term}`subkey<OpenPGP Subkey>` is bound to the {term}`primary key<OpenPGP Primary Key>`." These bindings are realized using cryptographic {term}`signatures<OpenPGP Signature Packet>`. An in-depth discussion of this topic can be found in [](signing_components).
In very abstract terms, the {term}`primary key<OpenPGP Primary Key>` of a {term}`certificate<OpenPGP Certificate>` acts as a root of trust or "{term}`certification authority<Certification Authority>`." It is responsible for:
- issuing {term}`signatures<OpenPGP Signature Packet>` that express the {term}`certificate holder`'s intent to use specific {term}`subkeys<OpenPGP Subkey>` or {term}`identity components<Identity Component>`;
- conducting other lifecycle operations, including setting {term}`expiration` dates and marking {term}`components<Component>` as {term}`invalidated<Validation>` or "`revoked<Revocation>`."
By binding {term}`components<Component>` using digital {term}`signatures<OpenPGP Signature Packet>`, recipients of an {term}`OpenPGP certificate` need only {term}`validate<Validation>` the {term}`authenticity<Authentication>` of the {term}`primary key` to use for their communication partner. Traditionally, this is done by manually verifying the *{term}`fingerprint<OpenPGP Fingerprint>`* of the {term}`primary key<OpenPGP Primary Key>`. Once the {term}`validity<Validation>` of the {term}`primary key<OpenPGP Primary Key>` is confirmed, the {term}`validity<Validation>` of the remaining {term}`components<Component>` can be automatically assessed by the user's OpenPGP software. Generally, {term}`components<Component>` are {term}`valid<Validation>` parts of a {term}`certificate<OpenPGP Certificate>` if there is a statement signed by the {term}`certificate<OpenPGP Certificate>`'s {term}`primary key<OpenPGP Primary Key>` endorsing this {term}`validity<Validation>`.
(metadata-in-certificates)=
## Metadata in certificates
{term}`OpenPGP certificates<OpenPGP Certificate>`, their {term}`component keys<Component Key>`, and {term}`identities<Identity>` possess {term}`metadata` that is not stored within the {term}`components<Component>` it pertains to. Instead, this {term}`metadata` is stored within signature packets, which are integral to the structure of an OpenPGP certificate.
Key attributes, such as {term}`capabilities<Capability>` (like *signing* or *encryption*) and {term}`expiration times<Expiration Time>`, are examples of {term}`metadata` not stored in the {term}`component key` data. How this {term}`metadata` is stored depends on the {term}`component`:
- **{term}`Primary key<OpenPGP Primary Key>` {term}`metadata`** is defined either through a {term}`direct key signature` on the {term}`primary key<OpenPGP Primary Key>` (preferred in OpenPGP version 6), or by associating the {term}`metadata` with the [Primary User ID](primary-user-id).
- **{term}`Subkey<OpenPGP Subkey>` {term}`metadata`** is defined within the [subkey binding signature](recipe-binding-subkeys) that links the {term}`subkey<OpenPGP Subkey>` to the {term}`certificate<OpenPGP Certificate>`.
- **{term}`Identity component` {term}`metadata`** is associated via the [certifying self-signature](bind-identity) that links the {term}`identity` (usually in the form of a {term}`User ID`) to the {term}`certificate<OpenPGP Certificate>`.
It is crucial to note that the {term}`components<Component>` of an {term}`OpenPGP certificate` remain static after their creation. The use of {term}`signatures<OpenPGP Signature Packet>` to store {term}`metadata` allows for subsequent modifications without altering the original {term}`component<Component>`. For instance, a {term}`certificate holder` can update the {term}`expiration time` of a {term}`component` by issuing a new, superseding {term}`signature<OpenPGP Signature Packet>`.
```{figure} plain_svg/Primary_key_metadata.svg
:name: fig-primary-metadata
:alt: Depicts a direct key signature, associated with a primary component key.
{term}`Metadata` can be associated with the {term}`primary key<OpenPGP Primary Key>` using a *{term}`direct key signature`*.
```
(key-flags)=
### Defining operational capabilities of component keys with key flags
Each {term}`component key` has a set of ["key flags"](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#key-flags) that delineate the operations a key can perform.
Commonly used {term}`key flags<Key Flag>` include:
- **{term}`Certification<Certification Key Flag>`**: enables issuing third-party {term}`certifications<Certification>`
- **{term}`Signing<Signing Key Flag>`**: allows the key to sign data
- **{term}`Encryption<Encryption Key Flag>`**: allows the key to encrypt data
- **{term}`Authentication<Authentication Key Flag>`**: primarily used for SSH authentication[^auth-flag]
[^auth-flag]: It's important to note that the function of the [authentication](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-authentication-via-digital-) {term}`key flag` is unrelated to the {term}`authentication` process used in certifying OpenPGP {term}`identities<Identity>` and linking them to {term}`certificate<OpenPGP Certificate>`. Rather, this flag indicates a mechanism that uses {term}`cryptographic signatures<OpenPGP Signature Packet>` to confirm control of {term}`private key material` with a remote system.
```{note}
Distinct {term}`component keys<Component Key>` handle specific operations. Only the {term}`primary key<OpenPGP Primary Key>` can be used for {term}`certification`, although it can have additional {term}`capabilities<Capability>`. {term}`Subkeys<OpenPGP Subkey>` can be used for signing, encryption, and authentication but cannot have the {term}`certification` {term}`capability`. A {term}`component key` can technically have multiple {term}`capabilities<Capability>`. It is considered good practice, however, to [use separate keys for each capability](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#section-10.1.5-7).
Notably, in many algorithms, encryption and signing-related functionalities (i.e., {term}`certification<Certification Key Flag>`, {term}`signing<Signing Key Flag>`, {term}`authentication<Authentication Key Flag>`) are mutually exclusive, because the algorithms only support one of those two families of operations[^key-flag-sharing].
```
[^key-flag-sharing]: With ECC algorithms, it's impossible to combine {term}`encryption<Encryption Key Flag>` functions with those intended for {term}`signing<Signing Key Flag>`. For example, ed25519 is specifically used for {term}`signing<Signing Key Flag>`; cv25519 is designated for {term}`encryption<Encryption Key Flag>`.
(preferences-features)=
### Algorithm preferences and feature signaling
OpenPGP incorporates significant ["cryptographic agility"](https://en.wikipedia.org/wiki/Cryptographic_agility). It doesn't rely on a single fixed set of algorithms. Instead, it defines a suite of cryptographic primitives from which users (or their applications) can choose.
This agility facilitates the easy adoption of new cryptographic primitives into the standard, allowing for a seamless transition. Users can gradually migrate to new cryptographic mechanisms without disruption.
However, this approach requires that OpenPGP software determine the cryptographic mechanisms that a set of communication partners can handle and prefer. OpenPGP employs several mechanisms for this purpose, which allow negotiation between sender and recipient. It's important to note that OpenPGP is not an online scheme; thus, this negotiation is effectively one-way. The active party interprets the preferences expressed in the {term}`certificate<OpenPGP Certificate>` of the passive party.
Negotiation mechanisms in OpenPGP include:
- [Preferred hash algorithms](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#preferred-hashes-subpacket)
- [Preferred symmetric ciphers for v1 SEIPD](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#preferred-v1-seipd)
- [Preferred AEAD ciphersuites](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#preferred-v2-seipd)
- [Features subpacket](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#features-subpacket)
- [Preferred compression algorithms](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#preferred-compression-subpacket)
Beyond these explicitly expressed preferences, implementations also deduce {term}`capabilities<Capability>` of communication partners based on the version of the {term}`OpenPGP certificate` they possess.
#### User ID-specific preferences
As a starting point, a {term}`certificate<OpenPGP certificate>` has a set of preferences that apply generally. These are defined either in a {term}`direct key signature`, or via the {term}`primary User ID` of the {term}`certificate<OpenPGP certificate>`.
Additionally, OpenPGP allows modeling {term}`User ID`-specific preferences. The idea is that a user may prefer a different suite of algorithms on their private email account compared to their work email account. Such {term}`identity`-specific preferences can be expressed on the certifying {term}`signatures<OpenPGP Signature Packet>` that bind {term}`User IDs<User ID>` to a {term}`certificate<OpenPGP certificate>`.
## A typical OpenPGP certificate, revisited
Following our review of how {term}`keys<Component Key>` and {term}`identity components<Identity Component>` are linked, let's reexamine the {term}`OpenPGP certificate` from {numref}`fig-openpgp-certificate-components`. Our focus now extends to all of its binding signatures and the {term}`direct key signature` that contains {term}`metadata` for the full {term}`certificate<OpenPGP certificate>`:
```{figure} plain_svg/OpenPGP_Certificate.svg
:name: fig-openpgp-certificate
:alt: Depicts an OpenPGP certificate, including a set of components, binding signatures, and a direct key signature on the primary key.
This shows a typical {term}`OpenPGP certificate`, including binding {term}`signatures<OpenPGP Signature Packet>` for all of its {term}`components<Component>`, and a {term}`signature<OpenPGP Signature Packet>` that associates {term}`metadata` with the {term}`primary key<OpenPGP Primary Key>`.
```
(revocations)=
## Revocations
When a {term}`certificate holder` needs to {term}`invalidate<Validation>` certain {term}`components<Component>` of their {term}`certificate<OpenPGP Certificate>`, or even the entire {term}`certificate<OpenPGP Certificate>`, they accomplish this through "{term}`revocation`." {term}`Revoking<Revocation>` the {term}`primary key<OpenPGP Primary Key>` renders the entire {term}`certificate<OpenPGP Certificate>` {term}`invalid<Validation>`.
Notably, {term}`revocations<Revocation>` are not the only means by which {term}`components<Component>` can become {term}`invalid<Validation>`. Other factors, such as the passing of a {term}`component`'s {term}`expiration time`, can also render {term}`components<Component>` {term}`invalid<Validation>`.
For more detailed information on {term}`revoking<Revocation>` specific {term}`components<Component>` of a {term}`certificate<OpenPGP Certificate>`, see the section on {ref}`self-revocations`.
(third-party-identity-certifications)=
## Third-party (identity) certifications
Since its inception, {term}`third-party identity certifications<Third-party Identity Certification>` have been a cornerstone of the OpenPGP ecosystem. The original PGP designers, starting with Phil Zimmermann, advocated for decentralized {term}`trust models<Trust Model>` over reliance on centralized authorities. This decentralized approach in OpenPGP is known as the ["Web of Trust."](wot)
{term}`Third-party certifications<Third-party Identity Certification>` are statements by OpenPGP users confirming that a user with a specific {term}`identity` is the owner of a particular {term}`OpenPGP certificate`.
For example, Bob's OpenPGP software may issue a {term}`certification` that Bob has checked that the {term}`User ID` `Alice Adams <alice@example.org>` and the {term}`certificate<OpenPGP Certificate>` with the {term}`fingerprint<OpenPGP Fingerprint>` `AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B3` are legitimately linked.
Take, for instance, a scenario where Bob's OpenPGP software issues a {term}`certification` confirming as legitimate the link between the {term}`User ID` `Alice Adams <alice@example.org>` and the {term}`certificate<OpenPGP Certificate>` bearing the {term}`fingerprint<OpenPGP Fingerprint>` `AAA1 8CBB 2546 85C5 8358 3205 63FD 37B6 7F33 00F9 FB0E C457 378C D29F 1026 98B3`.
This process assumes that Bob knows the person known as `Alice Adams` and is confident that `alice@example.org` is indeed Alice's email address. Bob also verifies that the {term}`certificate<OpenPGP Certificate>` his OpenPGP software associates with Alice matches the one Alice uses. In essence, both users must have a {term}`certificate<OpenPGP Certificate>` for Alice with an identical {term}`fingerprint<OpenPGP Fingerprint>`. In OpenPGP version 6, manual {term}`fingerprint<OpenPGP Fingerprint>` comparison by end-users is discouraged, with a replacement {term}`verification` mechanism still under development. The {term}`verification` process must occur over a sufficiently secure channel, such as an end-to-end encrypted video call or a face-to-face meeting.
For more on third-party {term}`certifications<Certification>`, see {ref}`third-party-certifications`.

View File

@ -0,0 +1,25 @@
<!--
SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# Compression
Optional compression of data is one element of OpenPGP's composable functionality. Compression within OpenPGP can be convenient to applications.
In one use case, this functionality is particularly helpful: When encrypting a message, the encrypted output is by definition high-entropy, and cannot be compressed anymore - even if the plaintext message was low-entropy, and could have been compressed well (like, for example, a text-file).
This means that to use whatever potential for compression exists, the message must be compressed *before* encryption. OpenPGP offers an integrated compression mechanism to make this convenient (otherwise, messages would need to be compressed and decompressed before and after encryption, to achieve the same space-efficiency).
## Decompression yields a 'wrapped' OpenPGP packet stream
Compression in OpenPGP is a simple mechanism: A [Compressed Data packet](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-12.html#name-compressed-data-packet-type) acts as a compressed container for a series of OpenPGP packets.
The compressed data packet consists of the specification of which compression algorithm is used, followed by a compressed representation of the contained data.
The series of OpenPGP packets inside the Compressed Data packet can be handled like any stream of OpenPGP packets.
## Typical usage
Compressed data packets are often used inside [encrypted data packets](/encryption), or wrapping the data of an [inline-signed message](inline-signature).

110
book/source/conf.py Normal file
View File

@ -0,0 +1,110 @@
# SPDX-FileCopyrightText: 2023 The "Notes on OpenPGP" project
# SPDX-License-Identifier: CC0-1.0
#
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
from datetime import date
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'OpenPGP for application developers'
author = 'The "Notes on OpenPGP" project'
upstream_url = "https://codeberg.org/openpgp/notes"
license_url = "https://creativecommons.org/licenses/by-sa/4.0/"
copyright = f'{date.today().year}, <a href="{upstream_url}">{author}</a>, <a href="{license_url}">CC-BY-SA-4.0</a>'
version = "0.1"
suppress_warnings = [
'epub.unknown_project_files',
]
description = 'The essential OpenPGP guide for application developers. Learn the OpenPGP standard for cryptographic operations and how to implement it in your projects. Gain insights into digital signatures, key management, certificates, and more. Version agnostic.'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
'myst_parser',
'sphinxext.opengraph',
]
source_suffix = ['.md', '.rst']
templates_path = ['_templates']
exclude_patterns = []
# number code-blocks, figures and tables, if they have a caption
numfig = True
# number figures in flat hierarchy
numfig_secnum_depth = 0
# format today as YYYY-MM-DD instead of language specific
today_fmt = "%Y-%m-%d"
# -- Options for MyST-parser -------------------------------------------------
# https://myst-parser.readthedocs.io/en/latest/configuration.html
# we want to circumvent obscure warnings about footnotes following a heading:
# https://github.com/executablebooks/MyST-Parser/issues/352
myst_footnote_transition = False
# Enable definition lists
# https://myst-parser.readthedocs.io/en/latest/syntax/optional.html#syntax-definition-lists
myst_enable_extensions = [
"deflist",
]
# https://myst-parser.readthedocs.io/en/latest/configuration.html#setting-html-metadata
myst_html_meta = {
"description lang=en": description,
"keywords": "openpgp, cryptographic operations, data encryption, digital signatures, key management, identity verification, secure communication, pgp, cryptographic protocols, public key encryption, openpgp v4, openpgp v6, openpgp implementation",
"property=og:locale": "en_US"
}
# -- Options for EPUB output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-epub-output
epub_copyright = f'{date.today().year}, {author} ({upstream_url}), CC-BY-SA-4.0'
epub_cover = ('_static/epub/img/cover.png', 'cover.j2')
epub_description = description
epub_css_files = [
'epub/css/custom.css'
]
epub_basename = project.replace(" ", "_")
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = 'alabaster'
html_static_path = ['_static']
html_css_files = [
('html/css/custom.css', {'priority': 1000})
]
html_favicon = '_static/html/img/favicon.ico'
html_logo = '_static/html/img/logo.svg'
html_show_sphinx = False
html_show_sourcelink = False
html_title = project
# https://github.com/sphinx-doc/alabaster/blob/0.x/alabaster/theme.conf
html_theme_options = {
'code_font_size': '9pt',
'extra_nav_links': {
'Sources on Codeberg': upstream_url,
'Download EPUB': f'https://openpgp.dev/book/{epub_basename}.epub',
},
'show_relbars': 'yes',
'show_powered_by': False,
}
# https://github.com/wpilibsuite/sphinxext-opengraph#simple-config
ogp_site_url = 'https://openpgp.dev/book/'
ogp_image = '_static/html/img/logo.png'
ogp_type = 'book'
ogp_custom_meta_tags = [
f'<meta property="og:description" content="{description}" />',
]

Some files were not shown because too many files have changed in this diff Show More