Improved diagrams (dark/light mode support)
6
TODO.md
@@ -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?
|
||||
1
diagrams/client-state-diagram.drawio
Normal 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
@@ -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
|
||||
1
diagrams/crate_structure.drawio
Normal 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>
|
||||
3
diagrams/dark/client-state-diagram.svg
Normal file
|
After Width: | Height: | Size: 330 KiB |
3
diagrams/dark/crate_structure.svg
Normal file
|
After Width: | Height: | Size: 65 KiB |
3
diagrams/dark/data_provenance_none.svg
Normal file
|
After Width: | Height: | Size: 90 KiB |
3
diagrams/dark/data_provenance_oauth.svg
Normal file
|
After Width: | Height: | Size: 139 KiB |
3
diagrams/dark/data_provenance_tlsn.svg
Normal file
|
After Width: | Height: | Size: 114 KiB |
3
diagrams/dark/data_provenance_ultimate.svg
Normal file
|
After Width: | Height: | Size: 105 KiB |
3
diagrams/dark/encoding_commitment.svg
Normal file
|
After Width: | Height: | Size: 774 KiB |
3
diagrams/dark/gc-types.svg
Normal file
|
After Width: | Height: | Size: 266 KiB |
3
diagrams/dark/intro-diagram.svg
Normal file
|
After Width: | Height: | Size: 450 KiB |
3
diagrams/dark/key_exchange.svg
Normal file
|
After Width: | Height: | Size: 147 KiB |
3
diagrams/dark/mpc-decryption.svg
Normal file
|
After Width: | Height: | Size: 43 KiB |
3
diagrams/dark/mpc-encryption.svg
Normal file
|
After Width: | Height: | Size: 42 KiB |
3
diagrams/dark/overview.svg
Normal file
|
After Width: | Height: | Size: 261 KiB |
3
diagrams/dark/overview2.svg
Normal file
|
After Width: | Height: | Size: 55 KiB |
3
diagrams/dark/overview_notarization.svg
Normal file
|
After Width: | Height: | Size: 177 KiB |
3
diagrams/dark/overview_notary.svg
Normal file
|
After Width: | Height: | Size: 91 KiB |
3
diagrams/dark/overview_prover_verifier.svg
Normal file
|
After Width: | Height: | Size: 46 KiB |
3
diagrams/dark/protocol.svg
Normal file
|
After Width: | Height: | Size: 612 KiB |
3
diagrams/dark/transcript.svg
Normal file
|
After Width: | Height: | Size: 301 KiB |
3
diagrams/dark/verification_example.svg
Normal file
|
After Width: | Height: | Size: 308 KiB |
45
diagrams/data_provenance_none.drawio
Normal 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="<br>signed<br>data<br>⁉️" 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="<ul style="font-size: 11px;"><li>Origin ⁉️</li><li style="border-color: var(--border-color);">Integrity ⁉️</li><li><span style="background-color: initial;">Too much info&nbsp;</span>⁉️<br></li></ul>" 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="🔐<br>signed<br>data<br>" 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>
|
||||
72
diagrams/data_provenance_oauth.drawio
Normal 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&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="<ul style="font-size: 11px;"><li>Origin ✅</li><li style="border-color: var(--border-color);">Integrity&nbsp;✅</li><li><span style="background-color: initial;">Too much info&nbsp;</span>⁉️<br></li></ul>" 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<br>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<br>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<br>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="<ul style="font-size: 11px;"><li><span style="background-color: initial;">censoring possible</span>&nbsp;⁉️</li><li><span style="background-color: initial;">sees all requests</span>&nbsp;⁉️</li></ul>" 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="🔐<br>signed<br>data<br>" 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>
|
||||
49
diagrams/data_provenance_tlsn.drawio
Normal 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<br>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<br>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="🔐<br>signed<br>data<br>" 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<br>signed<br style="border-color: var(--border-color);">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="<ul style="font-size: 11px;"><li style="border-color: var(--border-color);">Origin ✅</li><li style="border-color: var(--border-color);">Integrity&nbsp;✅</li><li style="border-color: var(--border-color);">Only required info&nbsp;✅<br></li></ul>" 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>
|
||||
50
diagrams/data_provenance_ultimate.drawio
Normal 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="🔐<br>signed<br>data<br>" 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<br>signed<br style="border-color: var(--border-color);">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="<ul style="font-size: 11px;"><li style="border-color: var(--border-color);">Authenticity ✅</li><li style="border-color: var(--border-color);">Integrity&nbsp;✅</li><li style="border-color: var(--border-color);">Only required info&nbsp;✅<br></li></ul>" 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>
|
||||
351
diagrams/encoding_commitment.drawio
Normal 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<br>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<br>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<br data-darkreader-inline-border="" style="border-color: var(--border-color); --darkreader-inline-border: var(--darkreader-border--border-color);">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<br>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<br style="border-color: var(--border-color);">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="<font style="font-size: 10px;">Notary generates full encoding using a PRG</font>" 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="<font style="font-size: 10px;">Prover only knows the active encoding during commitment</font>" 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="<font style="font-size: 10px;">Prover hashes the active encoding and commits to it in the merkle tree</font>" 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="<font style="font-size: 30px; font-weight: normal;">H(</font>" 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="<font style="font-size: 30px; font-weight: normal;">)</font>" 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="<font style="font-size: 30px; font-weight: normal;">H(</font>" 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="<font style="font-size: 30px; font-weight: normal;">)</font>" 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="<font style="font-size: 10px;">Prover sends purported data to the Verifier</font>" 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="<font style="font-size: 10px;">Verifier checks Notary signature of PRG seed, and regenerates full encodings</font>" 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="<font style="font-size: 10px;">Verifier selects active encoding for the purported data</font>" 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="<font style="font-size: 10px;">Verifier computes hash of the active encoding</font>" 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="<font style="font-size: 10px;">UTF-8: 'h' -&gt; 01101000</font>" 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="<font style="font-size: 10px;">UTF-8: 'j' -&gt; 01101010</font>" 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="<font style="font-size: 10px;">Prover can not create a merkle proof with this hash in the tree, because he did not know</font>" 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="<font style="font-size: 10px;">when committing. He only knew the authentic encoding</font>" 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
@@ -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>
|
||||
286
diagrams/intro-diagram.drawio
Normal 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="<font style="font-size: 10px;">Notary Public Key Share<br></font>" 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="<div style="font-size: 10px;"><font style="font-size: 10px;">Combined PK =</font></div><div style="font-size: 10px;"><font style="font-size: 10px;">User Public Key Share +</font></div><div style="font-size: 10px;"><font style="font-size: 10px;">Notary Public Key Share<font style="font-size: 10px;"><br></font></font></div>" 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="<b>Key Exchange</b>" 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="<div style="font-size: 11px;">PMSLabel</div><div style="font-size: 11px;">Computation<br style="font-size: 11px;"></div>" 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="<b>Session Key Derivation<br></b>" 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="<b>Encrypt Request<br></b>" 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="<b>Decrypt Response<br></b>" 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>
|
||||
141
diagrams/key_exchange.drawio
Normal 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<br>(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<br>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<br>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<br>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<br>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 <br>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<br>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<br>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="<font style="font-size: 50px;">+</font>" 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>
|
||||
3
diagrams/light/client-state-diagram.svg
Normal file
|
After Width: | Height: | Size: 330 KiB |
3
diagrams/light/crate_structure.svg
Normal file
|
After Width: | Height: | Size: 65 KiB |
3
diagrams/light/data_provenance_none.svg
Normal file
|
After Width: | Height: | Size: 90 KiB |
3
diagrams/light/data_provenance_oauth.svg
Normal file
|
After Width: | Height: | Size: 139 KiB |
3
diagrams/light/data_provenance_tlsn.svg
Normal file
|
After Width: | Height: | Size: 114 KiB |
3
diagrams/light/data_provenance_ultimate.svg
Normal file
|
After Width: | Height: | Size: 105 KiB |
3
diagrams/light/encoding_commitment.svg
Normal file
|
After Width: | Height: | Size: 774 KiB |
3
diagrams/light/gc-types.svg
Normal file
|
After Width: | Height: | Size: 266 KiB |
3
diagrams/light/intro-diagram.svg
Normal file
|
After Width: | Height: | Size: 450 KiB |
3
diagrams/light/key_exchange.svg
Normal file
|
After Width: | Height: | Size: 147 KiB |
3
diagrams/light/mpc-decryption.svg
Normal file
|
After Width: | Height: | Size: 43 KiB |
3
diagrams/light/mpc-encryption.svg
Normal file
|
After Width: | Height: | Size: 42 KiB |
3
diagrams/light/overview.svg
Normal file
|
After Width: | Height: | Size: 261 KiB |
3
diagrams/light/overview2.svg
Normal file
|
After Width: | Height: | Size: 55 KiB |
3
diagrams/light/overview_notarization.svg
Normal file
|
After Width: | Height: | Size: 177 KiB |
3
diagrams/light/overview_notary.svg
Normal file
|
After Width: | Height: | Size: 91 KiB |
3
diagrams/light/overview_prover_verifier.svg
Normal file
|
After Width: | Height: | Size: 46 KiB |
3
diagrams/light/protocol.svg
Normal file
|
After Width: | Height: | Size: 612 KiB |
3
diagrams/light/transcript.svg
Normal file
|
After Width: | Height: | Size: 301 KiB |
3
diagrams/light/verification_example.svg
Normal file
|
After Width: | Height: | Size: 308 KiB |
60
diagrams/mpc-decryption.drawio
Normal 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="<font style="font-size: 11px;">Plaintext</font>" 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="<font style="font-size: 12px;">Decrypt</font>" 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="<style="font-size: 11px;"="">Key share</style="font-size:>" 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="<span style="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;">Ciphertext</span>" 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>
|
||||
60
diagrams/mpc-encryption.drawio
Normal 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="<font style="font-size: 11px;">Plaintext</font>" 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="<font style="font-size: 12px;">Encrypt</font>" 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="<style="font-size: 11px;"="">Key share</style="font-size:>" 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="<span style="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;">Ciphertext</span>" 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
@@ -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="<b style="border-color: var(--border-color);">ZK Proof</b>" 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="<b>Verifier</b>" 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="<b>User</b>" 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="<b>Transcript</b>" 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="<font color="#cccccc">1010101010101<br style="border-color: var(--border-color);">0101</font><font color="#080808"><b>0101010</b></font><font color="#cccccc">10<br style="border-color: var(--border-color);">1010101110101</font>" 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="<b>Signature</b>" 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="<b>Metadata</b>" 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="<b style="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;">0</b>" 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="<b>Server</b>" 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="<b>User</b>" 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="<b>Notary</b>" 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="<b>Transcript</b>" 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<br style="border-color: var(--border-color);">0101010101010<br style="border-color: var(--border-color);">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="<b>Signature</b>" 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="<b>Metadata</b>" 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<br style="border-color: var(--border-color);">0101010101010<br style="border-color: var(--border-color);">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="<b style="border-color: var(--border-color);">Notarize</b>" 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="<b style="border-color: var(--border-color);">Multi-party request</b>" 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
@@ -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>
|
||||
213
diagrams/overview_notarization.drawio
Normal 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<br style="border-color: var(--border-color);">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<br>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="<p style="line-height: 120%;">combined public key</p>" 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<br>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<br>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>
|
||||
87
diagrams/overview_notary.drawio
Normal 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<br>signed<br style="font-size: 11px;">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<br style="font-size: 11px;">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="<span style="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;">selective disclosure</span>" 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="<span style="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;">Multi party computation</span>" 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="<span style="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;">verify</span>" 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>
|
||||
65
diagrams/overview_prover_verifier.drawio
Normal 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="<span style="font-size: 10px;">Selective disclosure</span>" 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
1
diagrams/transcript.drawio
Normal file
@@ -0,0 +1 @@
|
||||
<mxfile host="app.diagrams.net" modified="2022-07-12T05:41:23.096Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36" etag="TI2nD-Opnp1nnzWseBNg" version="20.0.4" type="device" pages="2"><diagram id="3qa5J4Up4GtHv7x0exYA" name="notarized">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</diagram><diagram id="BUbIXdflcml9okfC_udS" name="transcript">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</diagram></mxfile>
|
||||
13
diagrams/verification_example.drawio
Normal 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.
|
||||
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
The resulting plaintext is revealed ONLY to the `Prover`.
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@ sidebar_position: 1
|
||||
|
||||
# Handshake
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||

|
||||

|
||||
@@ -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 -->
|
||||
|
||||

|
||||

|
||||
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
@@ -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.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
### ① 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 ④.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ Data provenance will make data truly portable, empowering users to share it with
|
||||
|
||||
## Non-repudiation: TLS is not enough
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
@@ -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`.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
The 3-party ECDH protocol between the `Server` the `Prover` and the `Verifier` works as follows:
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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>
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
Follow the instructions from:
|
||||
https://github.com/tlsnotary/tlsn-js/blob/main/demo/interactive-demo/README.md
|
||||
|
||||
@@ -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;
|
||||
}
|
||||