Improved diagrams (dark/light mode support)

This commit is contained in:
Hendrik Eeckhaut
2025-05-14 16:29:01 +02:00
parent feb2ff2756
commit 961185c4d4
93 changed files with 3918 additions and 79 deletions

View File

@@ -1,8 +1,8 @@
TODO:
* Design/Styling
* drawio/svg cleanup
* ~~drawio/svg cleanup~~
* use cases
* math in SVGs
* ~~math in SVGs~~ (Needed an update of local drawio)
* social card
* review
* deployment flow
@@ -11,7 +11,7 @@ TODO:
* README
* Matomo tracking: https://github.com/karser/docusaurus-plugin-matomo/tree/main ?
* check links
* dark/light theme diagrams
* ~~dark/light theme diagrams~~
* rename repo landing-page -> website
* archive old documentation website
* What to do with drafts etc?

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>

35
diagrams/convert_all.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
FORMAT="svg"
# 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")/")
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
for theme in "dark" "light"; do
SOURCE="$file"
TARGET="${TARGET_DIR}/${theme}/${file%.drawio}.${FORMAT}"
# Only convert if the source is more recent than the target
if [[ "$SOURCE" -nt "${TARGET}" ]]; then
"$DRAW_IO" --export --format ${FORMAT} --scale 2.5 --svg-theme "${theme}" -o "${TARGET}" "$SOURCE"
fi
done
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>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 330 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 65 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 90 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 139 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 114 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 105 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 774 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 266 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 450 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 147 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 42 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 261 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 55 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 177 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 91 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 612 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 301 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 308 KiB

View File

@@ -0,0 +1,45 @@
<mxfile host="65bd71144e">
<diagram name="Page-1" id="E1Tv2Iv79u1PMs5fWFh_">
<mxGraphModel dx="829" dy="769" 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-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-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-2" value="Alice" 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="Bob" 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-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-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=[];labelBackgroundColor=none;" 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-8" 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="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;Origin ⁉️&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="wdAgGlkL8JTToDsr7vY7-1" 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="230" width="60" height="70" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,72 @@
<mxfile host="65bd71144e">
<diagram name="Page-1" id="E1Tv2Iv79u1PMs5fWFh_">
<mxGraphModel dx="829" dy="769" 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-47" value="Status Quo&amp;nbsp;" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="500" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-18" value="&lt;ul style=&quot;font-size: 11px;&quot;&gt;&lt;li&gt;Origin ✅&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="705" 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="645" 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=[];labelBackgroundColor=none;" 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="Alice" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="70" y="535" width="60" height="60" as="geometry"/>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-28" value="Bob" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="390" y="645" 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="575" as="sourcePoint"/>
<mxPoint x="450" y="665" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-30" value="grant access&lt;br&gt;to Bob" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="HxEEL8P-OPklS3m3PPNj-29" vertex="1" connectable="0">
<mxGeometry x="-0.0036" y="-1" relative="1" as="geometry">
<mxPoint y="-19" as="offset"/>
</mxGeometry>
</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;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="HxEEL8P-OPklS3m3PPNj-33" target="HxEEL8P-OPklS3m3PPNj-24" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="2jyW2hphGHJ1HJf9qghL-2" value="delegate&lt;br&gt;access control" style="edgeLabel;html=1;align=right;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;labelBackgroundColor=none;" parent="HxEEL8P-OPklS3m3PPNj-32" vertex="1" connectable="0">
<mxGeometry x="0.24" y="2" relative="1" as="geometry">
<mxPoint x="-4" y="-3" as="offset"/>
</mxGeometry>
</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="535" 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="266" y="535" width="148" height="40" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-13" 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="310" y="700" width="60" height="70" as="geometry"/>
</mxCell>
<mxCell id="2jyW2hphGHJ1HJf9qghL-3" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" source="HxEEL8P-OPklS3m3PPNj-33" target="HxEEL8P-OPklS3m3PPNj-28" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="310" y="645" as="sourcePoint"/>
<mxPoint x="360" y="595" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="2jyW2hphGHJ1HJf9qghL-4" value="access token" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="2jyW2hphGHJ1HJf9qghL-3" vertex="1" connectable="0">
<mxGeometry x="0.2378" relative="1" as="geometry">
<mxPoint x="16" y="-23" as="offset"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,49 @@
<mxfile host="65bd71144e">
<diagram name="Page-1" id="E1Tv2Iv79u1PMs5fWFh_">
<mxGraphModel dx="829" dy="769" 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="0T9UpzUMcqbGcj6tkd16-11" value="TLSNotary" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="832" width="120" height="20" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-1" value="Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="70" y="859" width="60" height="60" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-4" value="Prover&lt;br&gt;Alice" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="230" y="859" width="60" height="60" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-5" value="Verifier&lt;br&gt;Bob" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="403" y="859" width="60" height="60" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-2" 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="0T9UpzUMcqbGcj6tkd16-4" target="0T9UpzUMcqbGcj6tkd16-5" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="3" value="Selective disclosure" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="0T9UpzUMcqbGcj6tkd16-2" vertex="1" connectable="0">
<mxGeometry x="0.14" y="-1" relative="1" as="geometry">
<mxPoint x="-13" y="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-8" 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="899" width="60" height="70" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-9" 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="309" y="899" width="60" height="70" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-10" value="&lt;ul style=&quot;font-size: 11px;&quot;&gt;&lt;li style=&quot;border-color: var(--border-color);&quot;&gt;Origin ✅&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="359" y="918" width="164" height="60" as="geometry"/>
</mxCell>
<mxCell id="0T9UpzUMcqbGcj6tkd16-15" 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="0T9UpzUMcqbGcj6tkd16-1" target="0T9UpzUMcqbGcj6tkd16-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="147.5" y="889" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="2" value="MPC-TLS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="0T9UpzUMcqbGcj6tkd16-15" vertex="1" connectable="0">
<mxGeometry y="-1" relative="1" as="geometry">
<mxPoint y="-10" as="offset"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,50 @@
<mxfile host="65bd71144e">
<diagram name="Page-1" id="E1Tv2Iv79u1PMs5fWFh_">
<mxGraphModel dx="829" dy="769" 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-48" value="Ultimate solution" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="70" y="330" width="120" height="20" 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="360" width="60" height="60" as="geometry"/>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-39" value="Alice" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="230" y="360" width="60" height="60" as="geometry"/>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-40" value="Bob" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="1" vertex="1">
<mxGeometry x="390" y="360" 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=[];labelBackgroundColor=none;" 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-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="530" as="sourcePoint"/>
<mxPoint x="460" y="480" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="HxEEL8P-OPklS3m3PPNj-42" value="Improved TLS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="HxEEL8P-OPklS3m3PPNj-41" vertex="1" connectable="0">
<mxGeometry x="-0.1464" y="-1" relative="1" as="geometry">
<mxPoint x="7" 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="400" 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="400" 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="413" width="164" height="60" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,351 @@
<mxfile host="app.diagrams.net" modified="2023-11-02T10:34:22.379Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0" etag="SDixSy31L28PSCi-7lEa" version="22.0.8" type="device">
<diagram name="Page-1" id="OeXwliGOqlnER99A9c5q">
<mxGraphModel dx="1039" dy="509" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="1" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="NpA3MupIFTiq58dDBDXs-1" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="320" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-4" value="1" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="360" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-5" value="1" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="400" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-6" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="440" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-7" value="1" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="480" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-8" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="520" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-9" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="560" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-10" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="600" y="80" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-12" value="$$w_0^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-13" value="$$w_1^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-14" value="$$w_2^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-15" value="$$w_3^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-16" value="$$w_4^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-17" value="$$w_5^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-18" value="$$w_6^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-19" value="$$w_7^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-36" value="$$w_0^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-37" value="$$w_1^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-38" value="$$w_2^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-39" value="$$w_3^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-40" value="$$w_4^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-41" value="$$w_5^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-42" value="$$w_6^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="NpA3MupIFTiq58dDBDXs-43" value="$$w_7^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-1" value="$$w_1^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-2" value="$$w_2^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-3" value="$$w_4^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-4" value="$$w_0^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-5" value="$$w_3^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-6" value="$$w_5^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-7" value="$$w_6^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-8" value="$$w_7^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="280" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-9" value="$$w_1^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-10" value="$$w_2^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-11" value="$$w_4^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-12" value="$$w_0^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-13" value="$$w_3^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-14" value="$$w_5^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-15" value="$$w_6^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-16" value="$$w_7^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-18" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="320" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-19" value="1" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="360" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-20" value="1" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="400" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-21" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="440" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-22" value="1" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="480" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-23" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="520" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-24" value="1" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#F8CECC;" parent="1" vertex="1">
<mxGeometry x="560" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-25" value="0" style="whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
<mxGeometry x="600" y="520" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-26" value="$$w_0^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-27" value="$$w_1^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-28" value="$$w_2^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-29" value="$$w_3^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-30" value="$$w_4^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-31" value="$$w_5^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-32" value="$$w_6^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#F8CECC;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-33" value="$$w_7^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="600" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-34" value="$$w_0^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-35" value="$$w_1^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-36" value="$$w_2^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-37" value="$$w_3^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-38" value="$$w_4^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-39" value="$$w_5^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-40" value="$$w_6^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-41" value="$$w_7^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="640" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-42" value="$$w_1^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-43" value="$$w_2^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-44" value="$$w_4^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-45" value="$$w_0^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-46" value="$$w_3^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-47" value="$$w_5^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-49" value="$$w_7^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-50" value="$$w_1^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="360" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-51" value="$$w_2^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="400" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-52" value="$$w_4^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillStyle=auto;fillColor=#d5e8d4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="480" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-53" value="$$w_0^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="320" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-54" value="$$w_3^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="440" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-55" value="$$w_5^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="520" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-57" value="$$w_7^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="600" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-58" value="$$w_6^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#F8CECC;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="720" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-59" value="$$w_6^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#F8CECC;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="560" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-60" value="Full&lt;br&gt;Encoding" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="160" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-61" value="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="280" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-62" value="0" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="280" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-63" value="Data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="80" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-64" value="Active&lt;br&gt;Encoding" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="280" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-65" value="Full&lt;br data-darkreader-inline-border=&quot;&quot; style=&quot;border-color: var(--border-color); --darkreader-inline-border: var(--darkreader-border--border-color);&quot;&gt;Encoding" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="600" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-66" value="Purported&lt;br&gt;Data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="520" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-67" value="Active&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;Encoding" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="200" y="720" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-68" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="40" y="470" as="sourcePoint" />
<mxPoint x="720" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-70" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Notary generates full encoding using a PRG&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="180" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-76" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Prover only knows the active encoding during commitment&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="280" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-77" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Prover hashes the active encoding and commits to it in the merkle tree&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="400" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-78" value="&lt;font style=&quot;font-size: 30px; font-weight: normal;&quot;&gt;H(&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="280" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-79" value="&lt;font style=&quot;font-size: 30px; font-weight: normal;&quot;&gt;)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="640" y="400" width="20" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-80" value="&lt;font style=&quot;font-size: 30px; font-weight: normal;&quot;&gt;H(&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="280" y="840" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-81" value="&lt;font style=&quot;font-size: 30px; font-weight: normal;&quot;&gt;)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="640" y="840" width="20" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-82" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Prover sends purported data to the Verifier&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="520" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-83" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Verifier checks Notary signature of PRG seed, and regenerates full encodings&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="620" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-84" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Verifier selects active encoding for the purported data&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="720" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-85" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Verifier computes hash of the active encoding&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="40" y="840" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-86" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;UTF-8: &#39;h&#39; -&amp;gt; 01101000&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="410" y="50" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-87" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="330" as="sourcePoint" />
<mxPoint x="480" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-88" value="Commits" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="qIlj4OkVHRwQaVCLI-OZ-87" vertex="1" connectable="0">
<mxGeometry x="-0.2292" relative="1" as="geometry">
<mxPoint y="9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-89" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;UTF-8: &#39;j&#39; -&amp;gt; 01101010&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="410" y="490" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-90" value="☢️ Flipped bit" style="shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;size=10;position=0.08;position2=0.08;" parent="1" vertex="1">
<mxGeometry x="570" y="480" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-92" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;Prover can not create a merkle proof with this hash in the tree, because he did not know&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBorderColor=default;" parent="1" vertex="1">
<mxGeometry x="360" y="920" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-93" value="&lt;font style=&quot;font-size: 10px;&quot;&gt;when committing. He only knew the authentic encoding&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="360" y="1020" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-94" value="$$w_6^1$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#F8CECC;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="410" y="970" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-95" value="$$w_6^0$$" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D5E8D4;fontColor=#000000;" parent="1" vertex="1">
<mxGeometry x="410" y="1060" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="qIlj4OkVHRwQaVCLI-OZ-96" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" parent="1" source="qIlj4OkVHRwQaVCLI-OZ-92" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="530" y="930" as="sourcePoint" />
<mxPoint x="560" y="890" as="targetPoint" />
</mxGeometry>
</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,141 @@
<mxfile host="Electron" modified="2023-09-14T13:15:23.621Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.8 Chrome/114.0.5735.289 Electron/25.5.0 Safari/537.36" version="21.6.8" etag="U83G3o7G2LZjyDhE_P2v" type="device">
<diagram id="kcIGn_kX_1L25iIxUXLg" name="Page-1">
<mxGraphModel dx="2060" dy="1200" 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-54" value="" 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=#7FBA42;opacity=50;fontStyle=1;expand=0;" parent="1" vertex="1">
<mxGeometry x="650" y="488" width="25" height="53" as="geometry">
<mxRectangle x="300" y="330" width="90" height="20" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="EZAqd18MQriHtEKbU3QA-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="440" y="720" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-1" value="Prover" 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;" parent="1" source="EZAqd18MQriHtEKbU3QA-56" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="720" 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;" parent="1" source="EZAqd18MQriHtEKbU3QA-3" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="680" y="720" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-3" value="Verifier&lt;br&gt;(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;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200.25" y="440" as="sourcePoint" />
<mxPoint x="440.75" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-30" 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="440" as="sourcePoint" />
<mxPoint x="680" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-12" value="Server&lt;br&gt;Public 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=#7FBA42;container=1;" parent="1" vertex="1">
<mxGeometry x="310.25" y="410" width="25" height="53" as="geometry">
<mxRectangle x="300" y="330" width="90" height="20" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-32" value="Server&lt;br&gt;Public 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=#7FBA42;container=1;" parent="1" vertex="1">
<mxGeometry x="545" y="410" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-36" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="679.88" y="329.26" as="sourcePoint" />
<mxPoint x="439.88" y="329.26" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-26" value="Verifier&lt;br&gt;Public 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=#3333FF;" parent="1" vertex="1">
<mxGeometry x="544.88" y="300" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-37" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440.63" y="329.26" as="sourcePoint" />
<mxPoint x="200.13" y="329.26" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-38" value="Verifier&lt;br&gt;Public 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=#3333FF;" parent="1" vertex="1">
<mxGeometry x="259.88" y="300" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-39" value="Prover Public &lt;br&gt;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=#FF3333;" parent="1" vertex="1">
<mxGeometry x="359.88" y="300" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.3;exitY=1.02;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-44" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="440" y="610" as="targetPoint" />
<Array as="points">
<mxPoint x="538" y="610" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-44" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="680" y="610" as="targetPoint" />
<Array as="points">
<mxPoint x="583" y="610" />
<mxPoint x="680" y="610" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-44" value="Secure 2PC" style="rounded=0;whiteSpace=wrap;html=1;shadow=1;sketch=0;strokeColor=#000000;fillColor=#99CCFF;" parent="1" vertex="1">
<mxGeometry x="507.5" y="530" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-47" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.007;entryY=0.458;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="EZAqd18MQriHtEKbU3QA-44" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="548" as="sourcePoint" />
<mxPoint x="347" y="580.3799999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-50" value="PMS 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=#fdff01;fillStyle=solid;gradientColor=#FFFFFF;" parent="1" vertex="1">
<mxGeometry x="476" y="614" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-51" value="PMS 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;gradientColor=#FFFFFF;gradientDirection=north;" parent="1" vertex="1">
<mxGeometry x="615" y="614" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-53" value="Prover&lt;br&gt;Private 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=#FF3333;opacity=50;" parent="1" vertex="1">
<mxGeometry x="462.5" y="493.5" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-52" value="Verifier&lt;br&gt;Private 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=#3333FF;opacity=50;" parent="1" vertex="1">
<mxGeometry x="634" y="493.5" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-55" value="" 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=#7FBA42;opacity=50;" parent="1" vertex="1">
<mxGeometry x="476" y="488" width="25" height="53" as="geometry">
<mxRectangle x="476" y="524" width="90" height="20" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-56" value="PMS 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;" parent="1" vertex="1">
<mxGeometry x="187.5" y="614" width="25" height="53" as="geometry" />
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-57" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;" 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="2" value="" style="endArrow=classic;html=1;rounded=0;entryX=1.01;entryY=0.458;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="EZAqd18MQriHtEKbU3QA-44" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="680" y="548" as="sourcePoint" />
<mxPoint x="608.5" y="548.32" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="3" value="&lt;font style=&quot;font-size: 50px;&quot;&gt;+&lt;/font&gt;" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fillStyle=solid;fontSize=50;" parent="1" vertex="1">
<mxGeometry x="302.88" y="299" width="39.75" height="50" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 330 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 65 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 90 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 139 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 114 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 105 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 774 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 266 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 450 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 147 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 42 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 261 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 55 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 177 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 91 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 612 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 301 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 308 KiB

View File

@@ -0,0 +1,60 @@
<mxfile host="65bd71144e" pages="2">
<diagram name="Page-1" id="mOAZV9J1HD8CvUNmk5yk">
<mxGraphModel dx="829" dy="548" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="4681" pageHeight="3300" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="imKlexnwQG8ijFvp7Sfa-1" style="html=1;fontSize=12;rounded=0;entryX=0.013;entryY=0.284;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="174.83000000000004" y="160.12" as="sourcePoint"/>
<mxPoint x="247.9999999999999" y="160" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-2" value="Key share" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;labelBackgroundColor=none;" parent="imKlexnwQG8ijFvp7Sfa-1" vertex="1" connectable="0">
<mxGeometry relative="1" as="geometry">
<mxPoint y="-11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-12" style="rounded=0;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=12;" parent="1" source="2" target="imKlexnwQG8ijFvp7Sfa-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="293" y="250" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-14" style="html=1;fontSize=12;rounded=0;entryX=0.013;entryY=0.718;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;startArrow=classic;startFill=1;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="175" y="200" as="sourcePoint"/>
<mxPoint x="248.16999999999985" y="200.25999999999993" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-15" value="&lt;font style=&quot;font-size: 11px;&quot;&gt;Plaintext&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;labelBackgroundColor=none;" parent="imKlexnwQG8ijFvp7Sfa-14" vertex="1" connectable="0">
<mxGeometry relative="1" as="geometry">
<mxPoint y="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-4" value="Prover" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="100" y="140" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-13" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;Decrypt&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=10;shadow=1;" parent="1" vertex="1">
<mxGeometry x="248" y="145" width="90" height="70" as="geometry"/>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-18" style="html=1;fontSize=12;rounded=0;entryX=0.013;entryY=0.284;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="338" y="179.98" as="sourcePoint"/>
<mxPoint x="411.1699999999996" y="179.85999999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-19" value="&lt;style=&quot;font-size: 11px;&quot;=&quot;&quot;&gt;Key share&lt;/style=&quot;font-size:&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;labelBackgroundColor=none;" parent="imKlexnwQG8ijFvp7Sfa-18" vertex="1" connectable="0">
<mxGeometry relative="1" as="geometry">
<mxPoint y="-11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-7" value="Verifier" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="405" y="140" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="2" value="&lt;span style=&quot;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; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;Ciphertext&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=11;align=center;" parent="1" vertex="1">
<mxGeometry x="263" y="90" width="60" height="20" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,60 @@
<mxfile host="65bd71144e" pages="2">
<diagram name="Page-1" id="mOAZV9J1HD8CvUNmk5yk">
<mxGraphModel dx="829" dy="548" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="4681" pageHeight="3300" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="imKlexnwQG8ijFvp7Sfa-1" style="html=1;fontSize=12;rounded=0;entryX=0.013;entryY=0.284;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="154.83000000000004" y="150.12" as="sourcePoint"/>
<mxPoint x="227.9999999999999" y="150" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-2" value="Key share" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;labelBackgroundColor=none;" parent="imKlexnwQG8ijFvp7Sfa-1" vertex="1" connectable="0">
<mxGeometry relative="1" as="geometry">
<mxPoint y="-11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-12" style="rounded=0;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=12;" parent="1" source="imKlexnwQG8ijFvp7Sfa-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="273" y="240" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-14" style="html=1;fontSize=12;rounded=0;entryX=0.013;entryY=0.718;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="155" y="190" as="sourcePoint"/>
<mxPoint x="228.16999999999985" y="190.25999999999993" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-15" value="&lt;font style=&quot;font-size: 11px;&quot;&gt;Plaintext&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;labelBackgroundColor=none;" parent="imKlexnwQG8ijFvp7Sfa-14" vertex="1" connectable="0">
<mxGeometry relative="1" as="geometry">
<mxPoint y="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-4" value="Prover" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="80" y="130" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-13" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;Encrypt&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=10;shadow=1;" parent="1" vertex="1">
<mxGeometry x="228" y="135" width="90" height="70" as="geometry"/>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-18" style="html=1;fontSize=12;rounded=0;entryX=0.013;entryY=0.284;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="318" y="169.98" as="sourcePoint"/>
<mxPoint x="391.1699999999996" y="169.85999999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-19" value="&lt;style=&quot;font-size: 11px;&quot;=&quot;&quot;&gt;Key share&lt;/style=&quot;font-size:&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;labelBackgroundColor=none;" parent="imKlexnwQG8ijFvp7Sfa-18" vertex="1" connectable="0">
<mxGeometry relative="1" as="geometry">
<mxPoint y="-11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-7" value="Verifier" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="385" y="130" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="imKlexnwQG8ijFvp7Sfa-22" value="&lt;span style=&quot;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; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;&quot;&gt;Ciphertext&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=11;align=center;" parent="1" vertex="1">
<mxGeometry x="243" y="240" width="60" height="20" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

203
diagrams/overview.drawio Normal file
View File

@@ -0,0 +1,203 @@
<mxfile host="Electron" modified="2023-08-03T09:27:28.067Z" 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="hTLg8wOhsqTRZDaZwdFx" version="21.6.5" type="device">
<diagram id="Ta_ITRcVz4Bdm_ywW9Xz" name="Page-1">
<mxGraphModel dx="1392" dy="828" 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="7FoGzQ1kGSNo0XInAhHn-1" value="" style="shape=singleArrow;whiteSpace=wrap;html=1;fontSize=12;arrowWidth=0.45714285714285713;arrowSize=0.58;fillColor=#CCCCCC;" parent="1" vertex="1">
<mxGeometry x="510" y="415" 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="580" y="140" width="540" height="590" 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="686.0869565217389" y="150" width="327.8260869565217" height="30" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-32" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="600.0017391304348" y="335" width="499.99739130434773" height="230" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-27" value="&lt;b style=&quot;border-color: var(--border-color);&quot;&gt;ZK Proof&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="309.99826086956523" y="92.5" width="80" height="35" 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;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="n7Sm2ovnSprmrU6ltvT2-32" source="n7Sm2ovnSprmrU6ltvT2-27" target="lWufevYBVzTER42Q3oKB-4" edge="1">
<mxGeometry relative="1" 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="n7Sm2ovnSprmrU6ltvT2-32" vertex="1">
<mxGeometry x="419.99739130434773" y="70" 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="n7Sm2ovnSprmrU6ltvT2-32" source="lWufevYBVzTER42Q3oKB-87" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="109.99826086956523" y="115" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-87" value="&lt;b&gt;User&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;" parent="n7Sm2ovnSprmrU6ltvT2-32" vertex="1">
<mxGeometry y="75" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-10" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=21;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="109.99826086956523" width="140" height="230" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-11" value="Notarized Transcript" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="114.99826086956523" width="130" height="28.965517241379313" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-12" value="" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="119.99826086956523" y="38.620000000000005" width="120" height="121.38" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-13" value="&lt;b&gt;Transcript&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="129.99826086956523" y="38.62068965517244" width="100" height="28.965517241379313" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-14" value="&lt;font color=&quot;#cccccc&quot;&gt;1010101010101&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;0101&lt;/font&gt;&lt;font color=&quot;#080808&quot;&gt;&lt;b&gt;0101010&lt;/b&gt;&lt;/font&gt;&lt;font color=&quot;#cccccc&quot;&gt;10&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;1010101110101&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="129.99826086956523" y="96.54999999999995" width="100" height="53.45" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-15" value="Encrypted Data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="134.99826086956523" y="67.58620689655174" width="90" height="28.965517241379313" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-16" value="&lt;b&gt;Signature&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=12;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="119.99826086956523" y="200" width="120" height="21.38" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-17" value="&lt;b&gt;Metadata&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=12;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="119.99826086956523" y="170" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-107" style="edgeStyle=elbowEdgeStyle;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="n7Sm2ovnSprmrU6ltvT2-32" source="n7Sm2ovnSprmrU6ltvT2-16" target="n7Sm2ovnSprmrU6ltvT2-27" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="279.99826086956523" y="155" />
</Array>
<mxPoint x="239.99826086956523" y="235" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-106" style="edgeStyle=elbowEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;fontColor=#000000;startArrow=none;startFill=0;endArrow=classic;endFill=1;fillColor=#000000;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="n7Sm2ovnSprmrU6ltvT2-32" source="n7Sm2ovnSprmrU6ltvT2-17" edge="1" target="n7Sm2ovnSprmrU6ltvT2-27">
<mxGeometry relative="1" as="geometry">
<mxPoint x="319.99826086956523" y="110" as="targetPoint" />
<Array as="points">
<mxPoint x="279.99826086956523" y="145" />
</Array>
<mxPoint x="239.99826086956523" y="195.0344827586207" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-105" value="" style="endArrow=classic;html=1;rounded=0;fontSize=12;fontColor=#000000;fillColor=#000000;edgeStyle=elbowEdgeStyle;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="n7Sm2ovnSprmrU6ltvT2-32" source="n7Sm2ovnSprmrU6ltvT2-22" target="n7Sm2ovnSprmrU6ltvT2-27" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="209.99826086956523" y="109.96000000000004" as="sourcePoint" />
<mxPoint x="319.99826086956523" y="175" as="targetPoint" />
<Array as="points">
<mxPoint x="279.99826086956523" y="115" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-22" value="&lt;b style=&quot;border-color: var(--border-color); color: rgb(8, 8, 8); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; 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;&quot;&gt;0&lt;/b&gt;" style="text;whiteSpace=wrap;html=1;fillColor=none;textOpacity=0;" vertex="1" parent="n7Sm2ovnSprmrU6ltvT2-32">
<mxGeometry x="201.99826086956523" y="118.26999999999998" width="9" height="10" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-31" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;container=0;" parent="1" vertex="1">
<mxGeometry x="20" y="140" width="470" height="590" 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="1" vertex="1">
<mxGeometry x="40" y="198" 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="1" vertex="1">
<mxGeometry x="200" y="198" 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="1" 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="1" 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="1" vertex="1">
<mxGeometry x="360" y="198" 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="1" source="n7Sm2ovnSprmrU6ltvT2-34" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="320" y="238" as="targetPoint" />
<mxPoint x="240" y="343" as="sourcePoint" />
</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="1" source="n7Sm2ovnSprmrU6ltvT2-34" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="160" y="238" as="targetPoint" />
<mxPoint x="240" y="343" as="sourcePoint" />
</mxGeometry>
</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="1" source="lWufevYBVzTER42Q3oKB-2" target="n7Sm2ovnSprmrU6ltvT2-34" edge="1">
<mxGeometry relative="1" 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="1" vertex="1">
<mxGeometry x="140" y="145.31914893617022" width="200" height="45.95744680851064" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-3" style="edgeStyle=elbowEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n7Sm2ovnSprmrU6ltvT2-34" target="lWufevYBVzTER42Q3oKB-10">
<mxGeometry relative="1" as="geometry">
<mxPoint x="340" y="388" as="targetPoint" />
<mxPoint x="270" y="358" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-8" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="330" y="485" width="140" height="230" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-49" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=21;" parent="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry width="140" height="230" 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="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="5" width="130" height="28.965517241379313" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-41" value="" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="10" y="38.620000000000005" width="120" height="121.38" 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="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="20" y="38.62068965517244" width="100" height="28.965517241379313" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-43" value="1010101010101&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;0101010101010&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;1010101110101" style="rounded=0;whiteSpace=wrap;html=1;" parent="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="20" y="96.54999999999995" width="100" height="53.45" 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="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="25" y="67.58620689655174" width="90" height="28.965517241379313" 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="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="10" y="200" width="120" height="21.38" 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="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="10" y="170" width="120" height="20" 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="n7Sm2ovnSprmrU6ltvT2-8" vertex="1">
<mxGeometry x="100" y="38.620000000000005" width="27.97" height="22.38" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-6" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="340" y="285" width="120" height="120" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-10" value="" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="n7Sm2ovnSprmrU6ltvT2-6" vertex="1">
<mxGeometry width="120" height="120" 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="n7Sm2ovnSprmrU6ltvT2-6" vertex="1">
<mxGeometry x="10" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="lWufevYBVzTER42Q3oKB-26" value="1010101010101&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;0101010101010&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;1010101110101" style="rounded=0;whiteSpace=wrap;html=1;" parent="n7Sm2ovnSprmrU6ltvT2-6" vertex="1">
<mxGeometry x="10" y="60" width="100" height="50" 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="n7Sm2ovnSprmrU6ltvT2-6" vertex="1">
<mxGeometry x="15" y="30" width="90" height="30" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-26" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="330" y="582.8" as="sourcePoint" />
<mxPoint x="250" y="583" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-33" value="&lt;b style=&quot;border-color: var(--border-color);&quot;&gt;Notarize&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="430" width="80" height="35" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-34" value="&lt;b style=&quot;border-color: var(--border-color);&quot;&gt;Multi-party request&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="327.5" width="80" height="35" as="geometry" />
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-35" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="lWufevYBVzTER42Q3oKB-10" target="n7Sm2ovnSprmrU6ltvT2-33">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370" y="418" as="sourcePoint" />
<mxPoint x="420" y="368" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="n7Sm2ovnSprmrU6ltvT2-37" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="n7Sm2ovnSprmrU6ltvT2-33" target="lWufevYBVzTER42Q3oKB-50">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="458" as="sourcePoint" />
<mxPoint x="420" y="438" as="targetPoint" />
</mxGeometry>
</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>

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>

View File

@@ -0,0 +1,87 @@
<mxfile host="65bd71144e">
<diagram id="kcIGn_kX_1L25iIxUXLg" name="Page-1">
<mxGraphModel dx="1757" dy="531" 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;" parent="1" vertex="1">
<mxGeometry x="170" y="220" width="140" height="285" as="geometry"/>
</mxCell>
<mxCell id="EZAqd18MQriHtEKbU3QA-1" value="Prover" 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="30" y="262" 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="blindly&lt;br&gt;signed&lt;br style=&quot;font-size: 11px;&quot;&gt;data" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;fontSize=11;shadow=1;" parent="1" vertex="1">
<mxGeometry x="251" y="346" width="50" height="58" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-43" value="Verifier" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="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;entryY=0.5;entryDx=0;entryDy=0;exitX=1.028;exitY=0.462;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-2" target="EZAqd18MQriHtEKbU3QA-1" edge="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-46" value="TLS" style="whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;fontSize=11;" parent="1" vertex="1">
<mxGeometry x="116" y="284" width="60" height="10" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-47" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-3" target="EZAqd18MQriHtEKbU3QA-1" edge="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="vS6lQRuDm8DtBRq3Yqvl-2" value="notarize" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GdnXkJGOJiVmK7E47u4y-47" vertex="1" connectable="0">
<mxGeometry x="-0.0599" y="2" relative="1" as="geometry">
<mxPoint x="-21" y="1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-48" value="redacted signed&lt;br style=&quot;font-size: 11px;&quot;&gt;data" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;fontSize=11;shadow=1;" parent="1" vertex="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;" parent="1" source="EZAqd18MQriHtEKbU3QA-1" target="GdnXkJGOJiVmK7E47u4y-43" edge="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-50" value="&lt;span style=&quot;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; 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;" parent="1" vertex="1">
<mxGeometry x="330" y="262" width="50" height="40" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-53" value="&lt;span style=&quot;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; 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;" parent="1" vertex="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;" parent="1" vertex="1">
<mxGeometry x="138.5" y="268" width="13" height="13" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-55" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" parent="1" vertex="1">
<mxGeometry x="210" y="357" width="13" height="13" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-56" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" parent="1" vertex="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;" parent="1" vertex="1">
<mxGeometry x="425" y="310" width="13" height="13" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-59" value="&lt;span style=&quot;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; 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;" parent="1" vertex="1">
<mxGeometry x="438" y="302" width="40" height="20" as="geometry"/>
</mxCell>
<mxCell id="_06KIDZZ9NYgVlEzEhfi-3" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;edgeStyle=elbowEdgeStyle;elbow=vertical;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-1" target="EZAqd18MQriHtEKbU3QA-3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="180" y="330" as="sourcePoint"/>
<mxPoint x="110" y="354" as="targetPoint"/>
<Array as="points">
<mxPoint x="180" y="370"/>
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@@ -0,0 +1,65 @@
<mxfile host="65bd71144e">
<diagram id="kcIGn_kX_1L25iIxUXLg" name="Page-1">
<mxGraphModel dx="1242" dy="845" 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-1" value="Prover" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1;connectable=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="38" y="260" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-43" value="Verifier" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="360" 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;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="EZAqd18MQriHtEKbU3QA-2" target="EZAqd18MQriHtEKbU3QA-1" edge="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-46" value="TLS" style="whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;fontSize=10;" parent="1" vertex="1">
<mxGeometry x="126.5" y="286" width="67.5" height="10" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-49" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="289" as="sourcePoint"/>
<mxPoint x="360" y="289" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="10" value="MPC-TLS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=10;labelBackgroundColor=none;" parent="GdnXkJGOJiVmK7E47u4y-49" vertex="1" connectable="0">
<mxGeometry x="-0.5071" relative="1" as="geometry">
<mxPoint x="20" y="-9" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-54" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" parent="1" vertex="1">
<mxGeometry x="153.75" y="270" width="13" height="13" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-56" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" parent="1" vertex="1">
<mxGeometry x="380" y="317.5" width="13" height="13" as="geometry"/>
</mxCell>
<mxCell id="GdnXkJGOJiVmK7E47u4y-58" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" parent="1" vertex="1">
<mxGeometry x="313.5" y="320" width="13" height="13" as="geometry"/>
</mxCell>
<mxCell id="13" value="Verify" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;fontSize=10;align=left;" parent="1" vertex="1">
<mxGeometry x="393" y="304" width="30" height="40" as="geometry"/>
</mxCell>
<mxCell id="14" value="" style="endArrow=classic;html=1;entryX=0;entryY=0.625;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="GdnXkJGOJiVmK7E47u4y-43" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="310" as="sourcePoint"/>
<mxPoint x="360" y="310" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="21" value="&lt;span style=&quot;font-size: 10px;&quot;&gt;Selective disclosure&lt;/span&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=10;labelBackgroundColor=none;" parent="14" vertex="1" connectable="0">
<mxGeometry x="-0.2624" y="-1" relative="1" as="geometry">
<mxPoint x="10" y="29" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="18" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=10;" parent="1" vertex="1">
<mxGeometry x="313.5" y="260" width="13" height="13" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

1952
diagrams/protocol.drawio Normal file

File diff suppressed because it is too large Load Diff

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">7Vxde6I6EP41XnYfIIB42dpuu2e7ffrU7Z6ze5dClGyB0BBXPb/+BAkKJNb2yJdt7YVmEpC8M+9kZpI6AONweUlh7H8jHgoGhuYtB+B8YBg60DX+lkpWmWRo6plgRrEnBm0FE/wvEkJx3WyOPZSUBjJCAobjstAlUYRcVpJBSsmiPGxKgvK3xnCGJMHEhYEs/Rt7zBfSoaZtO64Qnvn5V+t5Twjz0UKQ+NAji4IIXAzAmBLCsk/hcoyCFL0cmOy6zzt6N09GUcRecsGPm3tw+XV19xecPv5yv9wsrjE+MbK7/IHBXMxYPCxb5RBQMo88lN5EG4CzhY8ZmsTQTXsXXOlc5rMw4C2df5ziIBiTgND1tWBqpX+pnESsIM9eXJ4wSh5Rocdev3iPeDBEGVrunLG+wZFbICIhYnTFh4gLho6AXhifbov2YqvKjaX5BS1auc6gMJ/Z5t5bgPkHgfEr8AZ1481xFawxNBn/8fpVE5qjMpoGsCQ09ZECTRM0hab5lq3X0ip46wrr1VR4203hbSnwtgP+tWcPJdTtp3nq1da4nSRr8zzlA/jsl2ts8n7+aZa+f6cwSlyKY5bfjz/eQ94r6ZRjysqKKysiIhGqaFOIYIBnEW+6XAeIy89SDWHu7k9FR4g9L/0apaWUbalKvTpUbg8/WXuVbit03hjF7ON1WJZeJpBlyljqjgJMvTH3P5TQHJMwxCzkU0r6b+e6kbfFQ+p1qMmsGr1SUSpP15jVO5IukMfjQtEklPlkRiIYXGylFdS2Y64JiYX6fiPGVgJLOGekrFyOF139I65fN36mjU9W3jxfFjvPV6KVMEjZaRrsbg1gLfuM01mLK7x8hBvAJMFuJhRD9A3j0nk+r0gOC5lTFz0D3ygbx59hhthz0aejtgyKAsjwn/KDqJS8vpRPDK4KA2KCBZvEnW9TQSGQMSt+wakEznvGA82qGFj2BFtz20zl/1vgSPIUmmSTr3K8dTDVqAA3VPBUtTo15k91GZQPor6CqHqeU+9jKjA6YapVNjhb28PUynizDabmGBaoqktW2TlVR51TVQ4cP6j6GqqCl1J12AlV7QpVq9WoPeOtVqgql18OTGcaoKqtSPlapqr5QdWDqGq9kKrmDstomKrDisGZe6haHd8KVeVaE+gfVUHnVG2wPpNl++3VZ0yV42u3PqPLBZoJonyWdzDySNg7AzRVGZhltWmAjoTYFccq8eEjOocMSpD1qKjVaBFLac2tFrF0uYZwtL7BsF7qG6ym4MwpVIDzlhJGXBL8QDTBJKoX3QbcheF0vV4ZcrI8xrGP6GTOwek9gKDz2DznsHILYeL6KDwCFFX1/XZRlBPBKwQ9vqq8k+VquN+9trrNaMhb+d9xiHgeF8b9t+fO6+BGUzvzE5SkK9sEuRSlOeV73p13rHKEpzpO1BRpft0b92E8fjof0pvfy59n2l307UQuM7dZptk0jrVMY4jceW+ZJkuyWy/TgIqPFtXLnWWayvg8N2y0TGPI9YcsYR6n1J1y8vYwqpNOsmkK/606yZa72fr9t1x3OI3jIIWPe993lEc7lb121SFDlWaaC0zk+saB9lxOmh80BJAtaY/3aMjRHKempat6ltBWnN0cKnB1GsNVLk5chBAHh4FbB1TVysNIAZXVZnCX23ax8MAXxwWhXu/QAnrnaMkVhjxsTWIY5WHrHXqa8/QiC3+vyQxHheC2OPAIHK9WhyJB5eCpykO0Wr4EcqXjDXheYL3Q827Arh9Yufhx6ro80fvOYTiwiNmAS8kP8XToUuTixB2aUpT4PUXM6Byx3fWIshNOYhIloggxma+t8J37Ya26kaT0GKo9vuY8sZzk3SeIfulh+OF0bvlyJvcGVi2z83wBqPKwokfZVeRciKdLPUxEaAgDZaGzFA9eorSucksJBx8drz+qJSGvri0qS1AxrDlvJGeOfQ5frM4zIlPOH3vqvs3Oc21TlT0evfu2uk86TDmbu0YzGNzAQzesG7BDu/OUw1TkaJ5H1+Fx38DqPNswVflZMbPYrOS9XLJrIbz0P5SdZw2mnAP2dNmxOs8aTDnDGgeYT6ev505VJ3haPXdq7jqpexGnZ6AoDL6iVe9ws1Q7jTXhxpvbH5PJ9ne3v8kDLv4D</diagram></mxfile>

File diff suppressed because one or more lines are too long

View File

@@ -11,5 +11,5 @@ The high-level idea is that the `Prover` creates a commitment to the active plai
We also hide the amount of commitments (to preserve `Prover` privacy) by having the `Prover` commit to the Merkle tree of commitments.
![Commitment](../diagrams/encoding_commitment.svg)
![Commitment](../../diagrams/light/encoding_commitment.svg#gh-light-mode-only)
![Commitment](../../diagrams/dark/encoding_commitment.svg#gh-dark-mode-only)

View File

@@ -11,7 +11,8 @@ This section explains how the `Prover` and `Verifier` use MPC to encrypt data se
To encrypt the plaintext, both parties input their TLS key shares as private inputs to the [MPC](../../mpc/deap.md) protocol, along with some other public data. Additionally, the `Prover` inputs her plaintext as a private input.
![Encryption](../../diagrams/mpc-encryption.svg)
![Encryption](../../../diagrams/light/mpc-encryption.svg#gh-light-mode-only)
![Encryption](../../../diagrams/dark/mpc-encryption.svg#gh-dark-mode-only)
Both parties see the resulting ciphertext and execute the [2PC MAC](../../mpc/mac.md) protocol to compute the MAC for the ciphertext.
@@ -23,7 +24,8 @@ Once the `Prover` receives the ciphertext and its associated MAC from the server
Next, the parties decrypt the ciphertext by providing their key shares as private inputs to the [MPC](../../mpc/deap.md) protocol, along with the ciphertext and some other public data.
![Decryption](../../diagrams/mpc-decryption.svg)
![Decryption](../../../diagrams/light/mpc-decryption.svg#gh-light-mode-only)
![Decryption](../../../diagrams/dark/mpc-decryption.svg#gh-dark-mode-only)
The resulting plaintext is revealed ONLY to the `Prover`.

View File

@@ -4,7 +4,8 @@ sidebar_position: 1
# Handshake
![](../../diagrams/key_exchange.svg)
![Encryption](../../../diagrams/light/key_exchange.svg#gh-light-mode-only)
![Encryption](../../../diagrams/dark/key_exchange.svg#gh-dark-mode-only)
A TLS handshake is the first step in establishing a TLS connection between a `Prover` and a `Server`. In TLSNotary the `Prover` is the one who starts the TLS handshake and physically communicates with the `Server`, but all cryptographic TLS operations are performed together with the `Verifier` using MPC.

View File

@@ -18,4 +18,4 @@ Next, the `Verifier` parses the `opening` with an application-specific parser (e
Below is an example of a verification output for an HTTP 1.1 request and response. Note that since the `Prover` chose not to disclose some sensitive information like their HTTP session token and address, that information will be withheld from the `Verifier` and will appear to him as redacted (in red).
![Verification example](../diagrams/verification_example.svg)
![Verification example](../../diagrams/light/verification_example.svg)

View File

@@ -30,4 +30,4 @@ To summarize: the `Verifier` will only learn those portions of the TLS session t
<!-- // paste here a picture of an HTTP request with redacted fields -->
![Verification example](../diagrams/verification_example.svg)
![](../../diagrams/light/verification_example.svg)

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 116 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 54 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 9.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 9.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 38 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 32 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 82 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 44 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -19,7 +19,8 @@ The TLSNotary protocol consists of 3 steps:
2. The `Prover` **selectively discloses** the data to the `Verifier`.
3. The `Verifier` **verifies** the data.
![](./diagrams/overview_prover_verifier.svg)
![](../diagrams/light/overview_prover_verifier.svg#gh-light-mode-only)
![](../diagrams/dark/overview_prover_verifier.svg#gh-dark-mode-only)
### ① Multi-party TLS Request
@@ -41,7 +42,8 @@ The `Verifier` now validates the proof received from the `Prover`. The data orig
Since the validation of the TLS traffic neither reveals anything about the plaintext of the TLS session nor about the `Server`, it is possible to outsource the MPC-TLS verification ① to a general-purpose TLS verifier, which we term a `Notary`. This `Notary` can sign (aka *notarize*) ② the data, making it portable. The `Prover` can then take this signed data and selectively disclose ③ sections to an application-specific `Verifier`, who then verifies the data ④.
![](./diagrams/overview_notary.svg)
![](../diagrams/light/overview_notary.svg#gh-light-mode-only)
![](../diagrams/dark/overview_notary.svg#gh-dark-mode-only)
In this setup, the `Notary` cryptographically signs commitments to the data and the server's identity. The `Prover` can store this signed data, redact it, and share it with any `Verifier` as they see fit, making the signed data both reusable and portable.

View File

@@ -12,7 +12,8 @@ Data provenance will make data truly portable, empowering users to share it with
## Non-repudiation: TLS is not enough
![](diagrams/data_provenance_none.svg)
![](../diagrams/light/data_provenance_none.svg#gh-light-mode-only)
![](../diagrams/dark/data_provenance_none.svg#gh-dark-mode-only)
Transport Layer Security (TLS) plays a crucial role in digital security. TLS protects communication against eavesdropping and tampering. It ensures that the data received by a user (_"Alice"_) indeed originated from the `Server` and was not changed. The `Server`'s identity is verified by Alice through trusted Certificate Authorities (CAs). Data integrity is maintained by transmitting a cryptographic hash (called Message Authentication Code or MAC in TLS) alongside the data, which safeguards against deliberate alterations.
@@ -24,7 +25,8 @@ While the concept seems straightforward, enabling servers to sign data is not a
## Status Quo: delegate access
![](diagrams/data_provenance_oauth.svg)
![](../diagrams/light/data_provenance_oauth.svg#gh-light-mode-only)
![](../diagrams/dark/data_provenance_oauth.svg#gh-dark-mode-only)
Currently, when Alice wants to share data from a `Server` with another party, OAuth can be used to facilitate this if the application supports it. In this way, the other party receives the data directly from the `Server`, ensuring authentic and unchanged data. However, applications often do not provide fine-grained control over which data to share, leading to the other party gaining access to more information than strictly necessary.
@@ -34,7 +36,8 @@ It's worth noting that in many instances, OAuth is not even presented as an opti
## TLSNotary: data provenance and privacy with secure multi-party computation
![](diagrams/data_provenance_tlsn.svg)
![](../diagrams/light/data_provenance_tlsn.svg#gh-light-mode-only)
![](../diagrams/dark/data_provenance_tlsn.svg#gh-dark-mode-only)
TLSNotary operates by executing the TLS communication using **multi-party computation** (MPC). MPC allows Alice and Bob to jointly manage the TLS connection.
With TLSNotary, Alice can selectively prove the authenticity of arbitrary portions of the data to Bob. Since Bob participated in the MPC-TLS communication, he is guaranteed that the data is authentic.

View File

@@ -7,7 +7,8 @@ In TLS, the first step towards obtaining TLS session keys is to compute a shared
With TLSNotary, at the end of the key exchange, the `Server` gets the `PMS` as usual. The `Prover` and the `Verifier`, jointly operating as the TLS client, compute additive shares of the `PMS`. This prevents either party from unilaterally sending or receiving messages with the `Server`. Subsequently, the authenticity and integrity of the messages are guaranteed to both the `Prover` and `Verifier`, while also keeping the plaintext hidden from the `Verifier`.
![](../diagrams/key_exchange.svg)
![](../../diagrams/light/key_exchange.svg#gh-light-mode-only)
![](../../diagrams/dark/key_exchange.svg#gh-dark-mode-only)
The 3-party ECDH protocol between the `Server` the `Prover` and the `Verifier` works as follows:

View File

@@ -18,7 +18,8 @@ Before we start, make sure you have cloned the `tlsn` repository and have a rece
## Simple Interactive Verifier: Verifying Data from an API in Rust<a name="interactive"></a>
![](../diagrams/overview_prover_verifier.svg)
![](../../diagrams/light/overview_prover_verifier.svg#gh-light-mode-only)
![](../../diagrams/dark/overview_prover_verifier.svg#gh-dark-mode-only)
This example demonstrates how to use TLSNotary in a simple interactive session between a Prover and a Verifier. It involves the Verifier first verifying the MPC-TLS session and then confirming the correctness of the data.
@@ -27,7 +28,8 @@ https://github.com/tlsnotary/tlsn/tree/main/crates/examples/interactive#readme
## Simple Attestation Example: Verifying Data from an API in Rust with a Notary<a name="attestation"></a>
![](../diagrams/overview_notary.svg)
![](../../diagrams/light/overview_notary.svg#gh-light-mode-only)
![](../../diagrams/dark/overview_notary.svg#gh-dark-mode-only)
TLSNotary can also be used in a setup where MPC-TLS verification is delegated to a notary server. In this example, the notary attests to the data served to the prover. Next, the prover can share this attestation with a Verifier who can verify the data.

View File

@@ -60,7 +60,8 @@ In this demo, we will request JSON data from the Star Wars API at https://swapi.
## Interactive verification with `tlsn-js` <a name="interactive-demo"></a>
![](../diagrams/overview_prover_verifier.svg)
![](../../diagrams/light/overview_prover_verifier.svg#gh-light-mode-only)
![](../../diagrams/dark/overview_prover_verifier.svg#gh-dark-mode-only)
Follow the instructions from:
https://github.com/tlsnotary/tlsn-js/blob/main/demo/interactive-demo/README.md

View File

@@ -28,3 +28,8 @@
--ifm-color-primary-lightest: #4fddbf;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}
[data-theme='light'] img[src$='#gh-dark-mode-only'],
[data-theme='dark'] img[src$='#gh-light-mode-only'] {
display: none;
}