This commit is contained in:
Hendrik Eeckhaut
2023-08-02 11:51:53 +02:00
32 changed files with 1020 additions and 5 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
book
.DS_Store

View File

@@ -13,4 +13,9 @@ Then build and serve
```bash
mdbook serve
```
```
## Diagrams
All diagrams are made with [draw.io](https://app.diagrams.net/). The diagram source files are stored in the `diagrams` folder.
The diagram sources can be converted to `png` with the `convert_all.sh` script in the diagrams folder.

View File

@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-06-03T01:45:18.560Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36" etag="7kz6cC5QjGoVDeZ1rP9-" version="18.2.1" type="device"><diagram id="L_tK45wmRM6DJ-EOD-vB" name="Page-1">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</diagram></mxfile>

26
diagrams/convert_all.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Convert all diagrams in the diagrams folder to pngs in the mdbook src/png-diagrams folder
SOURCE_DIR=$(dirname "$0")
TARGET_DIR=$(realpath "$(dirname "$0")/../src/png-diagrams/")
OS=$(uname)
case "$OS" in
"Darwin") # Mac
DRAW_IO="/Applications/draw.io.app/Contents/MacOS/draw.io"
;;
"Linux") # Linux
DRAW_IO="drawio"
;;
esac
if ! command -v "$DRAW_IO" &>/dev/null; then
echo "Error: draw.io executable not found. Please install draw.io and make sure it's in your PATH."
exit 1
fi
pushd "$SOURCE_DIR" >/dev/null
for file in *.drawio; do
"$DRAW_IO" -x -f png --scale 2.5 -o "${TARGET_DIR}/${file%.drawio}.png" "$file"
done
popd >/dev/null

View File

@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-06-04T08:51:11.798Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36" etag="oL7MEAuQHYHFvtbwb_oL" version="19.0.0" type="device"><diagram id="CEkUc7t8Aq7GvisyquvB" name="Page-1">5VrbcpswEP0aP6YDAmL7Mc2lmbaZtpN0EvelI4MKuAIxQvjSr68I4mqMscEWaZ+MVgtIZ4/OroRH2rW3/kBh4DwQC+ERUKz1SLsZAaAqU8B/YssmsRjTcWKwqWsJp9zw6P5B6Z3CGrkWCkuOjBDM3KBsNInvI5OVbJBSsiq7/SK4/NYA2mjL8GhCvG19di3mJNaJoeT2e+TaTvpmVRE9c2j+timJfPE+n/go6fFg+hjhGjrQIqvC+7TbkXZNCWHJlbe+RjiGNUUsue9uR282ZIp81uYG/BHP7qMZtZ7vpvZirtpPTLnQJmJwbJNigSwOjWgSyhxiEx/i29z6/nW+KH6swluLyAtSf0hNbsnv+kxIwM1q7IYY24jIw4gRbnKYh0UvnwPdvBQbs/jx74y0ebMWr0tam6yVsknjrWQu8QR2YiRMIYmoKbx+mJ8mT+Him7fCj+76ylj+fFhdpCyE1EasyS8PJV8diHiID4/fSBGGzF2WBwIFTe3ML48XvxAhqw9f0yiXEEfiTV5gXpiEoq2w5kGLIV45LkOPAXzFYMUXdTkcO3FbIsrQukri0sxFr57yXkiCni6mVWGBCZNTWFu60h2reqrrjVRHeE5Wp2b52mUvKXP5dYHjvJVTPG7kDB/YytDbrgztTCujPtqG/GinkSsEa1aK1VAjJ1PS9FpJgy4ZnKJpk/MpWn2cmhWtTfLuImKZcM0KPXtErIelcAzzjYM0a2u5SROx8UCqsyzkYzkx70X+2pJA7xjy11uvKIWbgkNAXJ+FhSd/jQ25uGRikorLpVGu5iv++mWjP79IRpCTL5tKBz5Oh8ZHcBQfx4MlZC3swJDCSP0wRoJmBh/KyO8hol/mi3i3DxQM5wgnj2U4zKsBcUhQ09OYOIt4Ct5LrCu0al2hnqyu4M0CroeUGjt2mi41Izdh0aAwPOdus7GSKAAWMbfI0AGhJb2SBc27tRNXsmohh7TejiulFHLUdvyoc6lxyyoG6LWZSlYpC4DMCB9buIJhFAqtgy6lUKgmfjBtLhSqhUXF/zSlq6525t+/eShUx61aBNXpmfSjcZiFfBpQwlNet2RqwdDJfHvIrKCSWbOUKS2zXkrVXUkH3UcthMkbzaya3Mz6prfgrYMuJbPqulFWk0nlE+8+/32ZuDlzd87EjZAXlNwnHP/NsJS8etovX8m3v4x0/9DbN2rVneU5UatXRznfSHrcJR6qcw3F2xl0rlOwUhb8z0V66/Cd5qh4R/yaTmNN7MYTAu0OZPfvLXo5kd2SrBrgW1fx5z2RbcQ6U/wjkQa9n333i/TpTiJrkOam/P93SX2T/79Ru/0L</diagram></mxfile>

View File

@@ -0,0 +1,131 @@
<mxfile host="Electron" modified="2023-08-01T12:50:38.332Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.5 Chrome/114.0.5735.243 Electron/25.3.1 Safari/537.36" etag="tLbQ2Tcs3b02EW_tnZjy" version="21.6.5" type="device">
<diagram name="Page-1" id="E1Tv2Iv79u1PMs5fWFh_">
<mxGraphModel dx="748" dy="686" 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="HxEEL8P-OPklS3m3PPNj-1" value="Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="70" y="190" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-5" 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="HxEEL8P-OPklS3m3PPNj-2" target="HxEEL8P-OPklS3m3PPNj-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-2" value="User A" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="230" y="190" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-3" value="User B" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="390" y="190" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-4" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="HxEEL8P-OPklS3m3PPNj-1" target="HxEEL8P-OPklS3m3PPNj-2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="360" as="sourcePoint" />
<mxPoint x="460" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-6" value="TLS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HxEEL8P-OPklS3m3PPNj-4" vertex="1" connectable="0">
<mxGeometry x="-0.1464" y="-1" relative="1" as="geometry">
<mxPoint y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-7" value="data" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;" parent="1" vertex="1">
<mxGeometry x="150" y="230" width="60" height="70" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-8" value="data&lt;br&gt;⁉️" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;" parent="1" vertex="1">
<mxGeometry x="310" y="230" width="60" height="70" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-9" value="&lt;ul style=&quot;font-size: 11px;&quot;&gt;&lt;li&gt;Authenticity ⁉️&lt;/li&gt;&lt;li style=&quot;border-color: var(--border-color);&quot;&gt;Integrity ⁉️&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Too much info&amp;nbsp;&lt;/span&gt;⁉️&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=none;strokeColor=none;horizontal=1;" parent="1" vertex="1">
<mxGeometry x="346" y="250" width="136" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-18" value="&lt;ul style=&quot;font-size: 11px;&quot;&gt;&lt;li&gt;Authenticity ✅&lt;/li&gt;&lt;li style=&quot;border-color: var(--border-color);&quot;&gt;Integrity&amp;nbsp;✅&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Too much info&amp;nbsp;&lt;/span&gt;⁉️&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=none;strokeColor=none;horizontal=1;" parent="1" vertex="1">
<mxGeometry x="350" y="525" width="136" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-24" value="Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="230" y="465" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-25" style="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="HxEEL8P-OPklS3m3PPNj-24" target="HxEEL8P-OPklS3m3PPNj-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-26" value="TLS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HxEEL8P-OPklS3m3PPNj-25" vertex="1" connectable="0">
<mxGeometry x="-0.1121" y="2" relative="1" as="geometry">
<mxPoint x="6" y="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-27" value="User A" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="70" y="355" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-28" value="User B" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="390" y="465" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-29" value="" style="endArrow=none;html=1;rounded=0;startArrow=classic;startFill=1;endFill=0;" parent="1" source="HxEEL8P-OPklS3m3PPNj-33" target="HxEEL8P-OPklS3m3PPNj-27" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="110" y="395" as="sourcePoint" />
<mxPoint x="450" y="485" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-30" value="grant access" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HxEEL8P-OPklS3m3PPNj-29" vertex="1" connectable="0">
<mxGeometry x="-0.0036" y="-1" relative="1" as="geometry">
<mxPoint y="-13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-31" value="data" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;" parent="1" vertex="1">
<mxGeometry x="310" y="505" width="60" height="70" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-32" 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="HxEEL8P-OPklS3m3PPNj-33" target="HxEEL8P-OPklS3m3PPNj-24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-33" value="OAuth&lt;br&gt;Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="230" y="355" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-34" value="&lt;ul style=&quot;font-size: 11px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;censoring possible&lt;/span&gt;&amp;nbsp;⁉️&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;sees all requests&lt;/span&gt;&amp;nbsp;⁉️&lt;/li&gt;&lt;/ul&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=none;strokeColor=none;horizontal=1;" parent="1" vertex="1">
<mxGeometry x="272" y="365" width="148" height="40" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-37" value="Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="70" y="620" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-38" 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="HxEEL8P-OPklS3m3PPNj-39" target="HxEEL8P-OPklS3m3PPNj-40" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-49" value="ZKP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HxEEL8P-OPklS3m3PPNj-38" vertex="1" connectable="0">
<mxGeometry x="-0.2352" y="1" relative="1" as="geometry">
<mxPoint x="12" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-39" value="User A" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="230" y="620" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-40" value="User B" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="390" y="620" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-41" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="HxEEL8P-OPklS3m3PPNj-37" target="HxEEL8P-OPklS3m3PPNj-39" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="790" as="sourcePoint" />
<mxPoint x="460" y="740" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-42" value="TLS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="HxEEL8P-OPklS3m3PPNj-41" vertex="1" connectable="0">
<mxGeometry x="-0.1464" y="-1" relative="1" as="geometry">
<mxPoint y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-43" value="🔐&lt;br&gt;signed&lt;br&gt;data&lt;br&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;" parent="1" vertex="1">
<mxGeometry x="150" y="660" width="60" height="70" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-44" value="🔐redacted&lt;br&gt;signed&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;data" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;" parent="1" vertex="1">
<mxGeometry x="310" y="660" width="60" height="70" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-45" value="&lt;ul style=&quot;font-size: 11px;&quot;&gt;&lt;li style=&quot;border-color: var(--border-color);&quot;&gt;Authenticity ✅&lt;/li&gt;&lt;li style=&quot;border-color: var(--border-color);&quot;&gt;Integrity&amp;nbsp;✅&lt;/li&gt;&lt;li style=&quot;border-color: var(--border-color);&quot;&gt;Only required info&amp;nbsp;✅&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=left;fillColor=none;strokeColor=none;horizontal=1;" parent="1" vertex="1">
<mxGeometry x="346" y="673" width="164" height="60" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-46" value="No Data Provenance" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="160" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-47" value="Status Quo&amp;nbsp;" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="325" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-48" value="Desired solution" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="590" width="120" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

1
diagrams/gc-types.drawio Normal file
View File

@@ -0,0 +1 @@
<mxfile host="Electron" modified="2023-01-18T18:21:57.200Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.2.3 Chrome/102.0.5005.167 Electron/19.0.11 Safari/537.36" etag="60YorzGP6y3ohCO94Poq" version="20.2.3" type="device"><diagram id="kpe8PfQCO1v1qYzAWRtj" name="Page-1">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</diagram></mxfile>

View File

@@ -0,0 +1,286 @@
<mxfile host="app.diagrams.net" modified="2023-03-24T09:51:40.108Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:111.0) Gecko/20100101 Firefox/111.0" etag="h3CG53iG5ZOzR4rXlG7G" version="21.1.0">
<diagram name="Page-1" id="eszlM19UStC2sOhDblEI">
<mxGraphModel dx="1759" dy="928" 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="yljYMQVLApDA5sVLynB2-1" value="TLSNotary Protocol Overview" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="260" y="30" width="330" height="60" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-3" value="Web Server" style="text;html=1;strokeColor=default;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="170" y="110" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-4" value="User" style="text;html=1;strokeColor=default;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="380" y="110" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-5" value="Notary" style="text;html=1;strokeColor=default;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="590" y="110" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-8" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="472" y="170" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-6" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="yljYMQVLApDA5sVLynB2-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="120" y="30" as="sourcePoint" />
<mxPoint y="30" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-7" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Notary Public Key Share&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="yljYMQVLApDA5sVLynB2-8">
<mxGeometry width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-11" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="380" y="240" as="sourcePoint" />
<mxPoint x="260" y="240" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-12" value="&lt;div style=&quot;font-size: 10px;&quot;&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Combined PK =&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 10px;&quot;&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;User Public Key Share +&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 10px;&quot;&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;Notary Public Key Share&lt;font style=&quot;font-size: 10px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&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="260" y="200" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-13" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="264" y="280" as="sourcePoint" />
<mxPoint x="384" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-14" value="Web Server Public Key" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="264" y="250" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-15" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="475" y="320" as="sourcePoint" />
<mxPoint x="595" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-16" value="Web Server Public Key" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="475" y="290" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-17" value="&lt;b&gt;Key Exchange&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="454" y="360" width="152" height="120" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-18" value="Point Addition" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="473.75" y="400" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-20" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="411" as="sourcePoint" />
<mxPoint x="454" y="411" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-21" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="453" y="454" as="sourcePoint" />
<mxPoint x="419" y="454" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-22" value="&lt;div style=&quot;font-size: 11px;&quot;&gt;PMSLabel&lt;/div&gt;&lt;div style=&quot;font-size: 11px;&quot;&gt;Computation&lt;br style=&quot;font-size: 11px;&quot;&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="473.75" y="440" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-23" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="639" y="411" as="sourcePoint" />
<mxPoint x="605" y="410.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-24" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="607" y="454.58" as="sourcePoint" />
<mxPoint x="641" y="454.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-25" value="&lt;b&gt;Session Key Derivation&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="455" y="521" width="152" height="120" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-26" value="Master Key" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="474.75" y="561" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-27" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="421" y="572" as="sourcePoint" />
<mxPoint x="455" y="572" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-28" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="454" y="615" as="sourcePoint" />
<mxPoint x="420" y="615" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-29" value="Session Key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="474.75" y="601" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-30" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="572" as="sourcePoint" />
<mxPoint x="606" y="571.5799999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-31" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="608" y="615.5799999999999" as="sourcePoint" />
<mxPoint x="642" y="615.5799999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-33" value="&lt;b&gt;Encrypt Request&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="457" y="680" width="152" height="120" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-34" value="Encrypt" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="476.75" y="720" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-35" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="423" y="721" as="sourcePoint" />
<mxPoint x="457" y="721" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-36" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="456" y="777" as="sourcePoint" />
<mxPoint x="422" y="777" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-37" value="Compute MAC" style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="476.75" y="760" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-38" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="642" y="721" as="sourcePoint" />
<mxPoint x="608" y="720.5799999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-39" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610" y="774.5799999999999" as="sourcePoint" />
<mxPoint x="644" y="774.5799999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-40" value="PMS EC Additive Share" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="294" y="396" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-41" value="&lt;b&gt;Decrypt Response&lt;br&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="454" y="880" width="152" height="120" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-42" value="Decrypt" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="473.75" y="920" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-45" value="Verify MAC" style="rounded=1;whiteSpace=wrap;html=1;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="473.75" y="960" width="112.5" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-46" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="639" y="931" as="sourcePoint" />
<mxPoint x="605" y="930.5799999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-47" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="607" y="974.5799999999999" as="sourcePoint" />
<mxPoint x="641" y="974.5799999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-48" value="PMS EC Additive Share" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="640" y="396" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-49" value="Encoded PMS" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="305" y="440" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-50" value="Encoded PMS" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="630" y="440" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-51" value="Encoded PMS" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="305" y="558" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-52" value="Encoded PMS" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="630" y="558" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-53" value="Encoded Session Keys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="305" y="601" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-54" value="Encoded Session Keys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="640" y="601" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-55" value="Encoded Session Keys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="305" y="704" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-56" value="Encoded Session Keys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="640" y="708" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-57" value="Encrypted Request" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="305" y="765" width="115" height="35" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-58" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="422" y="747" as="sourcePoint" />
<mxPoint x="456" y="747" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-61" value="Request" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="308" y="731" width="115" height="35" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-62" value="Encrypted Request" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="630" y="757.5" width="115" height="35" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-63" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="422" y="917" as="sourcePoint" />
<mxPoint x="456" y="917" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-64" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="455" y="973" as="sourcePoint" />
<mxPoint x="421" y="973" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-65" value="Encoded Session Keys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="304" y="900" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-66" value="Response" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="330" y="954" width="115" height="35" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-67" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="421" y="943" as="sourcePoint" />
<mxPoint x="455" y="943" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-68" value="Encrypted Response" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="290" y="924" width="132" height="35" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-69" value="Encrypted Response" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="640" y="957.5" width="132" height="35" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-70" value="Encoded Session Keys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="640" y="910" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-71" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="380" y="840" as="sourcePoint" />
<mxPoint x="260" y="840" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-72" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="260" y="870" as="sourcePoint" />
<mxPoint x="380" y="870" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-73" value="Encrypted Request" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="257" y="813" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-74" value="Encrypted Response" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="261" y="845" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-75" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="600" y="1060" as="sourcePoint" />
<mxPoint x="457" y="1060" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="yljYMQVLApDA5sVLynB2-76" value="Sign Transcript" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="471" y="1030" width="120" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-07-12T05:02:59.309Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36" etag="9Thzvw0-MVdKURfvbQUH" version="20.0.4" type="device"><diagram id="kcIGn_kX_1L25iIxUXLg" name="Page-1">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</diagram></mxfile>

198
diagrams/overview.drawio Normal file
View File

@@ -0,0 +1,198 @@
<mxfile host="Electron" modified="2023-08-01T13:32:38.607Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.5 Chrome/114.0.5735.243 Electron/25.3.1 Safari/537.36" etag="J53KrDbPkxDRDJ4fZzPF" version="21.6.5" type="device">
<diagram id="Ta_ITRcVz4Bdm_ywW9Xz" name="Page-1">
<mxGraphModel dx="1309" dy="1200" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1700" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="lWufevYBVzTER42Q3oKB-60" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="540" y="120" width="460" height="470" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-35" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="lWufevYBVzTER42Q3oKB-60" vertex="1">
<mxGeometry width="460" height="470" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-36" value="Notarization Phase" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=21;" parent="lWufevYBVzTER42Q3oKB-60" vertex="1">
<mxGeometry x="130" y="10" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-55" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontSize=12;startArrow=none;startFill=0;endArrow=classic;endFill=1;fillColor=#000000;" parent="lWufevYBVzTER42Q3oKB-60" source="lWufevYBVzTER42Q3oKB-38" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="160" y="234.75862068965512" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-38" value="&lt;b&gt;Notary&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="lWufevYBVzTER42Q3oKB-60" vertex="1">
<mxGeometry x="40" y="195" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-47" value="&lt;b&gt;User&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="lWufevYBVzTER42Q3oKB-60" vertex="1">
<mxGeometry x="340" y="195" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-53" value="" style="group" parent="lWufevYBVzTER42Q3oKB-60" vertex="1" connectable="0">
<mxGeometry x="160" y="90" width="150" height="290" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=21;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry width="140" height="290" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-50" value="Notarized Transcript" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="5" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-41" value="" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="10" y="40" width="120" height="160" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-42" value="&lt;b&gt;Transcript&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="20" y="40" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-43" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="20" y="100" width="100" height="90" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-44" value="Encrypted Data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="25" y="70" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-45" value="1010101010101&lt;br&gt;0101010101010&lt;br&gt;1010101110101&lt;br&gt;0101010010101&lt;br&gt;0010101010101&lt;br&gt;0101011001011" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;whiteSpace=wrap;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="40" y="100" width="60" height="90" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-51" value="&lt;b&gt;Signature&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=12;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="10" y="250" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-52" value="&lt;b&gt;Metadata&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=12;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="10" y="210" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-48" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;align=center;verticalAlign=top;fillColor=#2D9C5E;shape=mxgraph.gcp2.check;fontSize=21;" parent="lWufevYBVzTER42Q3oKB-53" vertex="1">
<mxGeometry x="100" y="30" width="50" height="40" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-56" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;startArrow=none;startFill=0;endArrow=classic;endFill=1;fillColor=#000000;" parent="lWufevYBVzTER42Q3oKB-60" source="lWufevYBVzTER42Q3oKB-49" target="lWufevYBVzTER42Q3oKB-47" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-63" value="" style="shape=singleArrow;whiteSpace=wrap;html=1;fontSize=12;arrowWidth=0.45714285714285713;arrowSize=0.58;fillColor=#CCCCCC;" parent="1" vertex="1">
<mxGeometry x="480" y="320" width="50" height="70" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-57" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="1070" y="120" width="600" height="470" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-58" value="Selective Disclosure Phase" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="1229.9969565217389" y="130" width="327.8260869565217" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-4" value="&lt;b&gt;Verifier&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="1569.9991304347825" y="310" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;fontColor=#000000;startArrow=none;startFill=0;endArrow=classic;endFill=1;fillColor=#000000;" parent="1" source="lWufevYBVzTER42Q3oKB-87" target="lWufevYBVzTER42Q3oKB-90" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-87" value="&lt;b&gt;User&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="1090.0017391304348" y="315" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;fontColor=#000000;startArrow=none;startFill=0;endArrow=classic;endFill=1;fillColor=#000000;" parent="1" source="lWufevYBVzTER42Q3oKB-100" target="lWufevYBVzTER42Q3oKB-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-90" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="1200" y="210" width="140" height="290" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-91" value="Notarized Transcript" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="1205" y="210" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-92" value="" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="1210" y="250" width="120" height="160" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-93" value="&lt;b&gt;Transcript&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="1220" y="250" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-94" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="1220" y="310" width="100" height="90" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-95" value="Encrypted Data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="1225" y="280" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-96" value="&lt;font color=&quot;#cccccc&quot;&gt;1010101010101&lt;br&gt;0101010101010&lt;br&gt;1010&lt;/font&gt;&lt;b&gt;1011101&lt;/b&gt;&lt;font color=&quot;#cccccc&quot;&gt;01&lt;br&gt;0101010010101&lt;br&gt;0010101010101&lt;br&gt;0101011001011&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;whiteSpace=wrap;" parent="1" vertex="1">
<mxGeometry x="1240" y="310" width="60" height="90" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-97" value="&lt;b&gt;Signature&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1210" y="460" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;fontColor=#000000;startArrow=none;startFill=0;endArrow=classic;endFill=1;fillColor=#000000;" parent="1" source="lWufevYBVzTER42Q3oKB-98" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1470" y="350" as="targetPoint" />
<Array as="points">
<mxPoint x="1370" y="435" />
<mxPoint x="1370" y="350" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-98" value="&lt;b&gt;Metadata&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1210" y="420" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-100" value="&lt;b&gt;ZK Proof&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=12;fillColor=default;" parent="1" vertex="1">
<mxGeometry x="1410" y="320" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-107" 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;fontSize=12;fontColor=#000000;startArrow=none;startFill=0;endArrow=classic;endFill=1;fillColor=#000000;" parent="1" source="lWufevYBVzTER42Q3oKB-97" target="lWufevYBVzTER42Q3oKB-100" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1370" y="475" />
<mxPoint x="1370" y="350" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-105" value="" style="endArrow=classic;html=1;rounded=0;fontSize=12;fontColor=#000000;fillColor=#000000;edgeStyle=orthogonalEdgeStyle;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.444;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="lWufevYBVzTER42Q3oKB-96" target="lWufevYBVzTER42Q3oKB-100" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="920" y="370" as="sourcePoint" />
<mxPoint x="970" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7FoGzQ1kGSNo0XInAhHn-1" value="" style="shape=singleArrow;whiteSpace=wrap;html=1;fontSize=12;arrowWidth=0.45714285714285713;arrowSize=0.58;fillColor=#CCCCCC;" vertex="1" parent="1">
<mxGeometry x="1010" y="320" width="50" height="70" as="geometry" />
</mxCell>
<mxCell id="7FoGzQ1kGSNo0XInAhHn-2" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="30" y="120" width="440" height="470" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-31" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="7FoGzQ1kGSNo0XInAhHn-2" vertex="1">
<mxGeometry width="440" height="470" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-33" value="Request Phase" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1;fontSize=21;" parent="7FoGzQ1kGSNo0XInAhHn-2" vertex="1">
<mxGeometry x="120" y="10" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-1" value="&lt;b&gt;Server&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="7FoGzQ1kGSNo0XInAhHn-2" vertex="1">
<mxGeometry x="20" y="80" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-2" value="&lt;b&gt;User&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="7FoGzQ1kGSNo0XInAhHn-2" vertex="1">
<mxGeometry x="180" y="80" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-23" style="edgeStyle=orthogonalEdgeStyle;curved=1;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;startArrow=classic;startFill=1;endArrow=classic;endFill=1;" parent="7FoGzQ1kGSNo0XInAhHn-2" source="lWufevYBVzTER42Q3oKB-1" target="lWufevYBVzTER42Q3oKB-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-29" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=classic;endFill=1;" parent="7FoGzQ1kGSNo0XInAhHn-2" source="lWufevYBVzTER42Q3oKB-3" target="lWufevYBVzTER42Q3oKB-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-3" value="&lt;b&gt;Notary&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="7FoGzQ1kGSNo0XInAhHn-2" vertex="1">
<mxGeometry x="340" y="80" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-30" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="7FoGzQ1kGSNo0XInAhHn-2" source="lWufevYBVzTER42Q3oKB-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="300" y="120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-24" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="7FoGzQ1kGSNo0XInAhHn-2" source="lWufevYBVzTER42Q3oKB-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="140" y="120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-39" value="" style="group" parent="7FoGzQ1kGSNo0XInAhHn-2" vertex="1" connectable="0">
<mxGeometry x="160" y="230" width="120" height="160" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-10" value="" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="lWufevYBVzTER42Q3oKB-39" vertex="1">
<mxGeometry width="120" height="160" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-11" value="Transcript" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="lWufevYBVzTER42Q3oKB-39" vertex="1">
<mxGeometry x="10" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-26" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="lWufevYBVzTER42Q3oKB-39" vertex="1">
<mxGeometry x="10" y="60" width="100" height="90" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-27" value="Encrypted Data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="lWufevYBVzTER42Q3oKB-39" vertex="1">
<mxGeometry x="15" y="30" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-28" value="1010101010101&lt;br&gt;0101010101010&lt;br&gt;1010101110101&lt;br&gt;0101010010101&lt;br&gt;0010101010101&lt;br&gt;0101011001011" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;whiteSpace=wrap;" parent="lWufevYBVzTER42Q3oKB-39" vertex="1">
<mxGeometry x="30" y="60" width="60" height="90" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-32" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=none;endFill=0;" parent="7FoGzQ1kGSNo0XInAhHn-2" source="lWufevYBVzTER42Q3oKB-2" target="lWufevYBVzTER42Q3oKB-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

76
diagrams/overview2.drawio Normal file
View File

@@ -0,0 +1,76 @@
<mxfile host="Electron" modified="2023-07-31T09:56:29.009Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.5 Chrome/114.0.5735.243 Electron/25.3.1 Safari/537.36" version="21.6.5" etag="9WZp-M7jsxI9gkbHdLvW" type="device">
<diagram name="Page-1" id="OGyZDZ-4g5QOT8xqb29B">
<mxGraphModel dx="2032" dy="1214" 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="2" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="gjHeZdjlkoXC6GVvdKDz-1" target="gjHeZdjlkoXC6GVvdKDz-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-1" value="Server" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
<mxGeometry x="112" y="259" width="60" height="70" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-2" value="" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3F8624;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.certificate_manager;" parent="1" vertex="1">
<mxGeometry x="162" y="304" width="30.26" height="40" as="geometry" />
</mxCell>
<mxCell id="3" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="gjHeZdjlkoXC6GVvdKDz-4" target="gjHeZdjlkoXC6GVvdKDz-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-4" value="encrypted data" style="shape=message;html=1;html=1;outlineConnect=0;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="252" y="273.75" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-5" value="" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3F8624;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.certificate_manager;" parent="1" vertex="1">
<mxGeometry x="312" y="274" width="22.7" height="30" as="geometry" />
</mxCell>
<mxCell id="6" style="edgeStyle=elbowEdgeStyle;rounded=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="gjHeZdjlkoXC6GVvdKDz-6" target="gjHeZdjlkoXC6GVvdKDz-9" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="410" y="370" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-6" value="Notary" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
<mxGeometry x="381" y="390" width="58" height="70" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-7" value="" style="sketch=0;outlineConnect=0;fillColor=#FF99FF;strokeColor=#b85450;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.certificate_manager;" parent="1" vertex="1">
<mxGeometry x="418" y="440" width="30.26" height="40" as="geometry" />
</mxCell>
<mxCell id="5" style="edgeStyle=elbowEdgeStyle;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="gjHeZdjlkoXC6GVvdKDz-8" target="gjHeZdjlkoXC6GVvdKDz-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="530" y="360" as="targetPoint" />
<Array as="points">
<mxPoint x="410" y="350" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-8" value="User" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="372" y="255" width="75.5" height="77.5" as="geometry" />
</mxCell>
<mxCell id="7" style="edgeStyle=none;rounded=0;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="gjHeZdjlkoXC6GVvdKDz-9" target="gjHeZdjlkoXC6GVvdKDz-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-9" value="signed data" style="shape=message;html=1;html=1;outlineConnect=0;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="530" y="338.75" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-10" value="Verifier" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="660" y="320" width="77.5" height="77.5" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-11" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#030303;" parent="1" vertex="1">
<mxGeometry x="548" y="341" width="24" height="6.25" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-12" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#030303;" parent="1" vertex="1">
<mxGeometry x="565" y="362" width="20" height="6.25" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-13" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#030303;" parent="1" vertex="1">
<mxGeometry x="536" y="369.25" width="20" height="6.25" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-14" value="" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#3F8624;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.certificate_manager;" parent="1" vertex="1">
<mxGeometry x="590" y="338.25" width="22.7" height="30" as="geometry" />
</mxCell>
<mxCell id="gjHeZdjlkoXC6GVvdKDz-15" value="" style="sketch=0;outlineConnect=0;fillColor=#FF99FF;strokeColor=#b85450;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.certificate_manager;" parent="1" vertex="1">
<mxGeometry x="612.7" y="338.25" width="24.02" height="31.75" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

73
diagrams/overview3.drawio Normal file
View File

@@ -0,0 +1,73 @@
<mxfile host="Electron" modified="2023-07-31T13:54:50.992Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.5 Chrome/114.0.5735.243 Electron/25.3.1 Safari/537.36" etag="ULuF8GtXYlD2jlOd8ATy" version="21.6.5" type="device">
<diagram id="kcIGn_kX_1L25iIxUXLg" name="Page-1">
<mxGraphModel dx="830" dy="486" 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="GdnXkJGOJiVmK7E47u4y-44" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;dashed=1;dashPattern=8 8;" vertex="1" parent="1">
<mxGeometry x="170" y="220" width="140" height="285" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-1" value="User" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="260" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-2" value="Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="10" y="330" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-3" value="Notary" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="410" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-40" value="signed&lt;br style=&quot;font-size: 11px;&quot;&gt;transcript" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;fontSize=11;shadow=1;" vertex="1" parent="1">
<mxGeometry x="250" y="348" width="50" height="60" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-43" value="Verifier" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="410" y="260" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-45" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=-0.008;entryY=0.515;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1.028;exitY=0.462;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="EZAqd18MQriHtEKbU3QA-2" target="GdnXkJGOJiVmK7E47u4y-44">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="350" y="490" as="sourcePoint" />
<mxPoint x="400" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-46" value="notarized request" style="whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;fontSize=11;" vertex="1" parent="1">
<mxGeometry x="100" y="336.5" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-47" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="EZAqd18MQriHtEKbU3QA-3" target="EZAqd18MQriHtEKbU3QA-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="350" y="490" as="sourcePoint" />
<mxPoint x="400" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-48" value="redacted signed&lt;br style=&quot;font-size: 11px;&quot;&gt;transcript" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;fontSize=11;shadow=1;" vertex="1" parent="1">
<mxGeometry x="330" y="310" width="50" height="60" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-49" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="EZAqd18MQriHtEKbU3QA-1" target="GdnXkJGOJiVmK7E47u4y-43">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="350" y="490" as="sourcePoint" />
<mxPoint x="400" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-50" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;selective disclosure&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="330" y="262" width="50" height="40" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-53" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;Multi party computation&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;align=center;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="177" y="215" width="125" height="40" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-54" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="122" y="341" width="13" height="13" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-55" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="220" y="371.5" width="13" height="13" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-56" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="344.5" y="256" width="13" height="13" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-58" value="4" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="425" y="310" width="13" height="13" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-59" value="&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;verify&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="438" y="302" width="40" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,213 @@
<mxfile host="Electron" modified="2023-08-01T13:33:06.700Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.5 Chrome/114.0.5735.243 Electron/25.3.1 Safari/537.36" etag="h-yNfCY2aOArdqLaUR1r" version="21.6.5" type="device">
<diagram id="kcIGn_kX_1L25iIxUXLg" name="Page-1">
<mxGraphModel dx="903" dy="828" 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="EZAqd18MQriHtEKbU3QA-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="EZAqd18MQriHtEKbU3QA-50" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="440" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-1" value="User" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="400" y="200" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-56" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-2" value="Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="160" y="200" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="GdnXkJGOJiVmK7E47u4y-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="680" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-3" value="Notary" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="640" y="200" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-29" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.642;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="359.52" as="sourcePoint" />
<mxPoint x="510" y="359.014" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-28" value="public key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="EZAqd18MQriHtEKbU3QA-29" vertex="1" connectable="0">
<mxGeometry x="0.016" y="2" relative="1" as="geometry">
<mxPoint x="-28" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-36" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" parent="1" target="GdnXkJGOJiVmK7E47u4y-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="679.88" y="329.26" as="sourcePoint" />
<mxPoint x="640" y="329" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-26" value="public key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="EZAqd18MQriHtEKbU3QA-36" vertex="1" connectable="0">
<mxGeometry x="0.0604" y="-2" relative="1" as="geometry">
<mxPoint x="7" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-37" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" parent="1" target="GdnXkJGOJiVmK7E47u4y-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440.63" y="329.26" as="sourcePoint" />
<mxPoint x="510" y="329" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-25" value="public key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="EZAqd18MQriHtEKbU3QA-37" vertex="1" connectable="0">
<mxGeometry x="-0.3719" y="1" relative="1" as="geometry">
<mxPoint x="7" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-44" value="Multi-party&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;request" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;sketch=0;strokeColor=#000000;fillColor=#99CCFF;" parent="1" vertex="1">
<mxGeometry x="512" y="450" width="100" height="60" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-46" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-51" target="EZAqd18MQriHtEKbU3QA-44" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="680" y="510" as="sourcePoint" />
<mxPoint x="450" y="500" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-47" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-50" target="EZAqd18MQriHtEKbU3QA-44" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="450" y="480" as="sourcePoint" />
<mxPoint x="510" y="430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-1" value="Multi-party&lt;br&gt;key exchange" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;sketch=0;strokeColor=#000000;fillColor=#99CCFF;" parent="1" vertex="1">
<mxGeometry x="510" y="313" width="100" height="67" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-8" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" target="EZAqd18MQriHtEKbU3QA-51" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610" y="379.52" as="sourcePoint" />
<mxPoint x="670" y="379.52" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-12" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.01;exitY=0.633;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="512" y="479.76" as="sourcePoint" />
<mxPoint x="200" y="479.76" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-30" value="encrypted request" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];spacingBottom=5;" parent="GdnXkJGOJiVmK7E47u4y-12" vertex="1" connectable="0">
<mxGeometry x="0.308" y="1" relative="1" as="geometry">
<mxPoint x="22" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-13" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="500" as="sourcePoint" />
<mxPoint x="510" y="500" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-31" value="encrypted response" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];spacingBottom=5;" parent="GdnXkJGOJiVmK7E47u4y-13" vertex="1" connectable="0">
<mxGeometry x="-0.1407" y="-1" relative="1" as="geometry">
<mxPoint x="-3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-15" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-51" target="GdnXkJGOJiVmK7E47u4y-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="680" y="760" as="targetPoint" />
<mxPoint x="680" y="280" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-14" value="Notarize" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;sketch=0;" parent="1" vertex="1">
<mxGeometry x="630" y="530" width="100" height="43" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-16" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="630" y="560" as="sourcePoint" />
<mxPoint x="440" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-20" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="GdnXkJGOJiVmK7E47u4y-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="517" y="346.26" as="sourcePoint" />
<mxPoint x="200" y="346.26" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-24" value="&lt;p style=&quot;line-height: 120%;&quot;&gt;combined public key&lt;/p&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;spacingBottom=8;" parent="GdnXkJGOJiVmK7E47u4y-20" vertex="1" connectable="0">
<mxGeometry x="0.5352" y="-3" relative="1" as="geometry">
<mxPoint x="58" y="-3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-21" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-2" target="EZAqd18MQriHtEKbU3QA-56" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="760" as="targetPoint" />
<mxPoint x="200" y="280" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-56" value="Session Key" style="sketch=0;pointerEvents=1;shadow=1;dashed=0;html=1;strokeColor=default;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#FFFF00;fontSize=11;labelBackgroundColor=default;" parent="1" vertex="1">
<mxGeometry x="195" y="403" width="10" height="23" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="EZAqd18MQriHtEKbU3QA-1" target="EZAqd18MQriHtEKbU3QA-50" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="440" y="760" as="targetPoint" />
<mxPoint x="440" y="280" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-50" value="Session Key Share" style="sketch=0;pointerEvents=1;shadow=1;dashed=0;html=1;strokeColor=default;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#FFFF00;fontSize=11;labelBackgroundColor=default;" parent="1" vertex="1">
<mxGeometry x="435" y="403" width="10" height="23" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-23" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-3" target="EZAqd18MQriHtEKbU3QA-51" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="680" y="500" as="targetPoint" />
<mxPoint x="680" y="280" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-51" value="Session Key Share" style="sketch=0;pointerEvents=1;shadow=1;dashed=0;html=1;strokeColor=default;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#FFFF00;fontSize=11;labelBackgroundColor=default;" parent="1" vertex="1">
<mxGeometry x="675" y="403" width="10" height="23" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-29" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" target="EZAqd18MQriHtEKbU3QA-50" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="510" y="380" as="sourcePoint" />
<mxPoint x="450" y="392" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-32" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" parent="1" target="GdnXkJGOJiVmK7E47u4y-14" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="612" y="489.52" as="sourcePoint" />
<mxPoint x="672" y="500" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-39" value="encrypted&lt;br&gt;response" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="1" vertex="1" connectable="0">
<mxGeometry x="650.0033333333331" y="498" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-40" value="notarized&lt;br&gt;transcript" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document" parent="1" vertex="1">
<mxGeometry x="520" y="570" width="55" height="70" as="geometry" />
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-41" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="460" as="sourcePoint" />
<mxPoint x="510" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-42" value="request" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];spacingBottom=5;" parent="GdnXkJGOJiVmK7E47u4y-41" vertex="1" connectable="0">
<mxGeometry x="-0.1407" y="-1" relative="1" as="geometry">
<mxPoint x="-3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="ecrsGYnIi1MkhdEf1Ya3-1" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="140" y="520" as="sourcePoint" />
<mxPoint x="720" y="520" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ecrsGYnIi1MkhdEf1Ya3-3" value="Request" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;horizontal=0;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="120" y="389" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ecrsGYnIi1MkhdEf1Ya3-4" value="Notarize" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;horizontal=0;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="120" y="540" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="ecrsGYnIi1MkhdEf1Ya3-5" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="140" y="300" as="sourcePoint" />
<mxPoint x="720" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

1
diagrams/protocol.drawio Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-07-12T05:41:23.096Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36" etag="TI2nD-Opnp1nnzWseBNg" version="20.0.4" type="device" pages="2"><diagram id="3qa5J4Up4GtHv7x0exYA" name="notarized">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</diagram><diagram id="BUbIXdflcml9okfC_udS" name="transcript">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</diagram></mxfile>

View File

@@ -3,4 +3,4 @@
The following diagram is a high-level protocol overview introducing the main components of
TLSNotary.
![TLSNotary Overview](tlsnotary_overview.png)
![TLSNotary Overview](./png-diagrams/intro-diagram.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

View File

@@ -20,7 +20,7 @@ The `Notary` is the party of which the authenticity of the `Transcript` relies o
The `Server` can be any server which supports TLS. The TLSNotary protocol is entirely transparent to the `Server`, thus it can not be censored nor does it have to support any additional functionality.
<img src="https://raw.githubusercontent.com/tlsnotary/docs-assets/main/diagrams/tls12-multiround.png">
<img src="../../png-diagrams/tls12-multiround.png">
## Transcript
@@ -29,4 +29,4 @@ The primary artifact generated from this phase is called the `Transcript`. It co
> Note that the server ephemeral key does not reveal the identity of the server to the `Notary`.
<img src="https://raw.githubusercontent.com/tlsnotary/docs-assets/main/diagrams/transcript.png">
<img src="../../png-diagrams/transcript.png">

View File

@@ -2,7 +2,7 @@
In TLS, the first step towards obtaining TLS session keys is to compute a shared secret between the client and the server by running the [ECDH protocol](https://en.wikipedia.org/wiki/Elliptic-curve_DiffieHellman). The resulting shared secret in TLS terms is called the pre-master secret `PMS`.
<img src="https://raw.githubusercontent.com/tlsnotary/docs-assets/main/diagrams/key_exchange.png" width="800">
<img src="../../png-diagrams/key_exchange.png" width="800">
Using the notation from Wikipedia, below is the 3-party ECDH protocol between the `Server` the `Requester` and the `Notary`, enabling the `Requester` and the `Notary` to arrive at shares of `PMS`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB