Update cryptosystems.drawio

operator-time
Ryan Heuser 4 years ago
parent 7097c3af35
commit 532581a1ed

@ -1,6 +1,6 @@
<mxfile host="app.diagrams.net" modified="2020-09-03T12:39:35.582Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36" etag="if4ZmFWnWqMQ3JVI1wa1" version="13.6.6" type="github" pages="2">
<mxfile host="app.diagrams.net" modified="2020-09-03T13:09:13.078Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36" etag="cg_AJrVnw7Sv_hQJrBXA" version="13.6.6" type="github" pages="2">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Login/Register">
<mxGraphModel dx="2205" dy="860" 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">
<mxGraphModel dx="2514" dy="1033" 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="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
@ -40,7 +40,7 @@
<mxCell id="WIyWlLk6GJQsqaUBKTNV-7" value="Boot failed. Keyclient cannot safely connect to Keysever." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="638.485" y="379.5" width="130.05" height="61" as="geometry" />
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-3" target="pqJTde5UYUQTvpoNPmt8-2">
<mxCell id="pqJTde5UYUQTvpoNPmt8-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-3" target="pqJTde5UYUQTvpoNPmt8-2" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="505.985" y="462" />
@ -80,7 +80,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-1" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-14" target="LL1DRk6oRKZlNUp4qJ55-0">
<mxCell id="pqJTde5UYUQTvpoNPmt8-1" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-14" target="LL1DRk6oRKZlNUp4qJ55-0" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="625.625" y="1245" as="targetPoint" />
<Array as="points">
@ -92,7 +92,7 @@
<mxCell id="UarGHlLd0uthddKlq-wd-14" value="Do I have a .marx.key?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="625.0785065157752" y="1030" width="126.22" height="100" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-27" target="vqK7_8CrzfybD09zykYy-2">
<mxCell id="vqK7_8CrzfybD09zykYy-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-27" target="vqK7_8CrzfybD09zykYy-2" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="533.6826131687244" y="1142" />
@ -269,7 +269,7 @@
<mxCell id="UarGHlLd0uthddKlq-wd-123" value="Login successful" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="539.39" y="2839.5" width="175" height="50" as="geometry" />
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-3" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pqJTde5UYUQTvpoNPmt8-2" target="pqJTde5UYUQTvpoNPmt8-4">
<mxCell id="pqJTde5UYUQTvpoNPmt8-3" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pqJTde5UYUQTvpoNPmt8-2" target="pqJTde5UYUQTvpoNPmt8-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="530" as="targetPoint" />
<Array as="points">
@ -278,7 +278,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-6" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pqJTde5UYUQTvpoNPmt8-2" target="UarGHlLd0uthddKlq-wd-5">
<mxCell id="pqJTde5UYUQTvpoNPmt8-6" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="pqJTde5UYUQTvpoNPmt8-2" target="UarGHlLd0uthddKlq-wd-5" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="588.5708333333333" y="702" />
@ -286,13 +286,13 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-2" value="Does decrypted Keyserver pubkey match the one hardcoded into the app code?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="pqJTde5UYUQTvpoNPmt8-2" value="Does decrypted Keyserver pubkey match the one hardcoded into the app code?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="495.0783333333334" y="550" width="127.99" height="140" as="geometry" />
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-4" value="Login/register failed. Keyserver may be inauthentic." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="pqJTde5UYUQTvpoNPmt8-4" value="Login/register failed. Keyserver may be inauthentic." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="434.605" y="832.5" width="135.62" height="55" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-0" target="LL1DRk6oRKZlNUp4qJ55-2">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-0" target="LL1DRk6oRKZlNUp4qJ55-2" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="630" y="1460" as="targetPoint" />
<Array as="points">
@ -301,10 +301,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-0" value="Attempt meet" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-0" value="Attempt meet" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="714.902925240055" y="1280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-4" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-2" target="LL1DRk6oRKZlNUp4qJ55-3">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-4" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-2" target="LL1DRk6oRKZlNUp4qJ55-3" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="829.3698439643347" y="1613" />
@ -312,7 +312,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-7" value="Yes&lt;br&gt;(e.g. logged in as &quot;elon&quot;)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-2" target="LL1DRk6oRKZlNUp4qJ55-6">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-7" value="Yes&lt;br&gt;(e.g. logged in as &quot;elon&quot;)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-2" target="LL1DRk6oRKZlNUp4qJ55-6" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="990" y="1510" as="targetPoint" />
<Array as="points">
@ -321,13 +321,13 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-2" value="Do I have &lt;i&gt;any &lt;/i&gt;private key? (Have I registered and logged in as a user yet?)" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-2" value="Do I have &lt;i&gt;any &lt;/i&gt;private key? (Have I registered and logged in as a user yet?)" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="792.1223439643347" y="1475.5" width="138.99" height="120" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-3" value="Meet failed. Who are you?" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-3" value="Meet failed. Who are you?" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="771.41" y="1771" width="92.26" height="40" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-5" target="LL1DRk6oRKZlNUp4qJ55-9">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-5" target="LL1DRk6oRKZlNUp4qJ55-9" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="989.0082407407408" y="2201.75" />
@ -335,10 +335,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-5" value="&lt;div&gt;&lt;span&gt;[Server]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Receive double-encrypted request from client&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Decrypt first time (to: Keysever, from: Komrade)&amp;nbsp;&lt;span&gt;to reveal a second encryted request [i.e.&amp;nbsp;&lt;/span&gt;&lt;i&gt;Q(i_am:&amp;nbsp;&lt;/i&gt;&lt;span&gt;elon,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;my_req&lt;/i&gt;&lt;span&gt;: elon-encrypted &#39;whois marx&#39;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Get the encrypted public key I have on disk for &#39;elon&#39;, decrypt it (to: Keysever, from: Komrade)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Attempt to decrypt &#39;my_req&#39; using elon&#39;s loaded-from-disk public key&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-5" value="&lt;div&gt;&lt;span&gt;[Server]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Receive double-encrypted request from client&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Decrypt first time (to: Keysever, from: Komrade)&amp;nbsp;&lt;span&gt;to reveal a second encryted request [i.e.&amp;nbsp;&lt;/span&gt;&lt;i&gt;Q(i_am:&amp;nbsp;&lt;/i&gt;&lt;span&gt;elon,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;my_req&lt;/i&gt;&lt;span&gt;: elon-encrypted &#39;whois marx&#39;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Get the encrypted public key I have on disk for &#39;elon&#39;, decrypt it (to: Keysever, from: Komrade)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Attempt to decrypt &#39;my_req&#39; using elon&#39;s loaded-from-disk public key&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="838.8732407407408" y="1981" width="300.27" height="208.75" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-6" target="LL1DRk6oRKZlNUp4qJ55-5">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-6" target="LL1DRk6oRKZlNUp4qJ55-5" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="993.8050000000001" y="1893" />
@ -346,10 +346,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-6" value="&lt;div&gt;&lt;span&gt;[Client]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Encrypt a request for marx&#39;s public key (to: Keyserver, from: elon)&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Form a part-encrypted request&lt;/div&gt;&lt;div&gt;&lt;i&gt;Q(i_am:&lt;/i&gt;&lt;span&gt;&amp;nbsp;unencrypted(elon),&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;my_req&lt;/i&gt;: encrypted(whois marx?))&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt that request (to: Keyserver, from: Komrade)&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-6" value="&lt;div&gt;&lt;span&gt;[Client]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Encrypt a request for marx&#39;s public key (to: Keyserver, from: elon)&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Form a part-encrypted request&lt;/div&gt;&lt;div&gt;&lt;i&gt;Q(i_am:&lt;/i&gt;&lt;span&gt;&amp;nbsp;unencrypted(elon),&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;my_req&lt;/i&gt;: encrypted(whois marx?))&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt that request (to: Keyserver, from: Komrade)&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="893.67" y="1707.25" width="200.27" height="167.5" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-11" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-9" target="LL1DRk6oRKZlNUp4qJ55-10">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-11" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-9" target="LL1DRk6oRKZlNUp4qJ55-10" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="945.644413580247" y="2471.75" />
@ -357,7 +357,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-14" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-9" target="LL1DRk6oRKZlNUp4qJ55-13">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-14" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-9" target="LL1DRk6oRKZlNUp4qJ55-13" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1025.6444135802471" y="2471.75" />
@ -365,13 +365,13 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-9" value="Is the request from &#39;elon&#39; decryptable according to Keysever&#39;s public key for &#39;elon&#39;?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-9" value="Is the request from &#39;elon&#39; decryptable according to Keysever&#39;s public key for &#39;elon&#39;?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="900.644413580247" y="2289.75" width="170" height="170" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-10" value="Meet failed. You say you are elon, but your request was indecipherable in elon-ese." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-10" value="Meet failed. You say you are elon, but your request was indecipherable in elon-ese." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="804.61" y="2584.75" width="160" height="70" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-13" target="LL1DRk6oRKZlNUp4qJ55-15">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-13" target="LL1DRk6oRKZlNUp4qJ55-15" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1083.315" y="2691.75" />
@ -379,10 +379,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-13" value="&lt;div&gt;&lt;span&gt;[Server]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt marx&#39;s public key&lt;/div&gt;&lt;div&gt;(to elon, from Keyserver)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Send marx&#39;s encrypted public key back to client&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-13" value="&lt;div&gt;&lt;span&gt;[Server]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt marx&#39;s public key&lt;/div&gt;&lt;div&gt;(to elon, from Keyserver)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Send marx&#39;s encrypted public key back to client&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="994.61" y="2559.75" width="177.41" height="120" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-15" target="LL1DRk6oRKZlNUp4qJ55-17">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-15" target="LL1DRk6oRKZlNUp4qJ55-17" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="941.4312362111341" y="2961.25" />
@ -390,10 +390,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-15" value="&lt;div&gt;[Client]&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Receive marx&#39;s encrypted public key&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Try to decrypt it (to me, from: Keyserver)&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-15" value="&lt;div&gt;[Client]&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Receive marx&#39;s encrypted public key&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Try to decrypt it (to me, from: Keyserver)&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="876.4312362111341" y="2799.5" width="130" height="130" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-20" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-17" target="LL1DRk6oRKZlNUp4qJ55-19">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-20" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-17" target="LL1DRk6oRKZlNUp4qJ55-19" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="763.5796077198598" y="3220.25" />
@ -401,7 +401,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-24" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-17" target="LL1DRk6oRKZlNUp4qJ55-23">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-24" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-17" target="LL1DRk6oRKZlNUp4qJ55-23" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="838.5796077198598" y="3220.25" />
@ -409,13 +409,13 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-17" value="Can I (elon) decrypt the sever&#39;s response of marx&#39;s encrypted pubkey?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-17" value="Can I (elon) decrypt the sever&#39;s response of marx&#39;s encrypted pubkey?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="721.0796077198598" y="3053.75" width="160" height="150" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-19" value="Meet failed. Either Keysever not authentic according to me, or I&#39;m not authentic according to Keysever." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-19" value="Meet failed. Either Keysever not authentic according to me, or I&#39;m not authentic according to Keysever." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="565.278736211134" y="3318.25" width="155" height="90" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-23" target="LL1DRk6oRKZlNUp4qJ55-26">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="LL1DRk6oRKZlNUp4qJ55-23" target="LL1DRk6oRKZlNUp4qJ55-26" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1350" y="3440" as="targetPoint" />
<Array as="points">
@ -424,13 +424,13 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-23" value="Meet succeeded. I now have marx&#39;s pubic key." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-23" value="Meet succeeded. I now have marx&#39;s pubic key." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="750.278736211134" y="3328.25" width="140" height="70" as="geometry" />
</mxCell>
<mxCell id="LL1DRk6oRKZlNUp4qJ55-26" value="&lt;div&gt;[Client] (optional)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt marx&#39;s public key with my passphrase-key&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Store marx&#39;s symmetric-encrypted public key on disk (.marx.loc)&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="LL1DRk6oRKZlNUp4qJ55-26" value="&lt;div&gt;[Client] (optional)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt marx&#39;s public key with my passphrase-key&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Store marx&#39;s symmetric-encrypted public key on disk (.marx.loc)&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="751.01" y="3539.5" width="180" height="130" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-1" target="UarGHlLd0uthddKlq-wd-35">
<mxCell id="vqK7_8CrzfybD09zykYy-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-1" target="UarGHlLd0uthddKlq-wd-35" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="309.51972222222224" y="1613" />
@ -438,10 +438,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-1" value="[App] Ask user for passphrase to guard this personal account." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="vqK7_8CrzfybD09zykYy-1" value="[App] Ask user for passphrase to guard this personal account." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="245.62472222222223" y="1500.5" width="127.79" height="70" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-3" value="Individual" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-2" target="vqK7_8CrzfybD09zykYy-1">
<mxCell id="vqK7_8CrzfybD09zykYy-3" value="Individual" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-2" target="vqK7_8CrzfybD09zykYy-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="50" y="1500" as="targetPoint" />
<Array as="points">
@ -450,7 +450,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-4" value="Group" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-2" target="vqK7_8CrzfybD09zykYy-5">
<mxCell id="vqK7_8CrzfybD09zykYy-4" value="Group" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-2" target="vqK7_8CrzfybD09zykYy-5" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="1500" as="targetPoint" />
<Array as="points">
@ -459,10 +459,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-2" value="[App] Ask user: will this new persona be for an individual or a group?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="vqK7_8CrzfybD09zykYy-2" value="[App] Ask user: will this new persona be for an individual or a group?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="363.59832304526753" y="1230" width="137.19" height="140" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-5" target="UarGHlLd0uthddKlq-wd-35">
<mxCell id="vqK7_8CrzfybD09zykYy-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-5" target="UarGHlLd0uthddKlq-wd-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="390" y="1610" as="targetPoint" />
<Array as="points">
@ -471,10 +471,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-5" value="Generate non-passworded symmetric key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="vqK7_8CrzfybD09zykYy-5" value="Generate non-passworded symmetric key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="403.4147222222222" y="1497.875" width="105" height="75.25" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-28" value="Members only" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-10" target="vqK7_8CrzfybD09zykYy-20">
<mxCell id="vqK7_8CrzfybD09zykYy-28" value="Members only" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-10" target="vqK7_8CrzfybD09zykYy-20" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="151.17955761316875" y="2471.75" />
@ -482,7 +482,7 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-30" value="Anyone" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-10" target="vqK7_8CrzfybD09zykYy-29">
<mxCell id="vqK7_8CrzfybD09zykYy-30" value="Anyone" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-10" target="vqK7_8CrzfybD09zykYy-29" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="214.77455761316875" y="2471.75" />
@ -490,13 +490,13 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-10" value="[App] Ask user: who can find and send messages to this account?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="vqK7_8CrzfybD09zykYy-10" value="[App] Ask user: who can find and send messages to this account?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="114.38205761316874" y="2304.75" width="137.19" height="140" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-13" value="Restricted effect" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="vqK7_8CrzfybD09zykYy-13" value="Restricted effect" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="1232.02" width="127.79" height="70" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-20" target="UarGHlLd0uthddKlq-wd-97">
<mxCell id="vqK7_8CrzfybD09zykYy-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-20" target="UarGHlLd0uthddKlq-wd-97" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="77.305" y="2691.75" />
@ -504,10 +504,10 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-20" value="Send to Keyclient a version of my public key which is encrypted with my symmetric key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="vqK7_8CrzfybD09zykYy-20" value="Send to Keyclient a version of my public key which is encrypted with my symmetric key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry y="2579.625" width="154.61" height="80.25" as="geometry" />
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-29" target="UarGHlLd0uthddKlq-wd-97">
<mxCell id="vqK7_8CrzfybD09zykYy-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="vqK7_8CrzfybD09zykYy-29" target="UarGHlLd0uthddKlq-wd-97" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="249.61" y="2691.75" />
@ -515,39 +515,94 @@
</Array>
</mxGeometry>
</mxCell>
<mxCell id="vqK7_8CrzfybD09zykYy-29" value="Send to Keyclient my public key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxCell id="vqK7_8CrzfybD09zykYy-29" value="Send to Keyclient my public key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;align=center;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="184.61" y="2582.06" width="130" height="75.38" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-0" value="" style="whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1290" y="200" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CSZ4ZSRscAeOo3NdbIn2-1" target="CSZ4ZSRscAeOo3NdbIn2-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CSZ4ZSRscAeOo3NdbIn2-1" target="CSZ4ZSRscAeOo3NdbIn2-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-1" value="Generate 5 Keys" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1049.99" y="379.5" width="120.01" height="50.5" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-2" value="Asymmetric (Private/Public Pair) (2)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="871.4300000000001" y="485.25" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="CSZ4ZSRscAeOo3NdbIn2-3" target="CSZ4ZSRscAeOo3NdbIn2-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-3" value="Symmetric (3)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1180" y="480" width="120.01" height="50.5" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-4" value="Passwordless (2)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1060.01" y="594.75" width="120.01" height="50.5" as="geometry" />
</mxCell>
<mxCell id="CSZ4ZSRscAeOo3NdbIn2-5" value="Passphrased (1)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1241" y="585" width="120.01" height="50.5" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="389PNDcMlEOF428ntzAT" name="Read Posts">
<mxGraphModel dx="906" dy="718" 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="rmWX_bm3A8y1wPHU716J-0" />
<mxCell id="rmWX_bm3A8y1wPHU716J-1" parent="rmWX_bm3A8y1wPHU716J-0" />
<mxCell id="73GR58doEz6CpVxRXi9i-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="rmWX_bm3A8y1wPHU716J-1" source="73GR58doEz6CpVxRXi9i-1" target="73GR58doEz6CpVxRXi9i-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="73GR58doEz6CpVxRXi9i-1" value="Logged-in user &quot;elon&quot; wants to read the posts stored in a particular channel or inbox (e.g. &quot;/inbox/user&quot; or &quot;/inbox/group&quot; or &quot;/inbox/world&quot;)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="rmWX_bm3A8y1wPHU716J-1">
<mxGeometry x="551.37" width="198.63" height="90" as="geometry" />
</mxCell>
<mxCell id="73GR58doEz6CpVxRXi9i-13" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="rmWX_bm3A8y1wPHU716J-1" source="73GR58doEz6CpVxRXi9i-4" target="73GR58doEz6CpVxRXi9i-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="73GR58doEz6CpVxRXi9i-14" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.574;entryY=0.006;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="rmWX_bm3A8y1wPHU716J-1" source="73GR58doEz6CpVxRXi9i-4" target="73GR58doEz6CpVxRXi9i-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="73GR58doEz6CpVxRXi9i-4" value="Do I have that person&#39;s private key?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="rmWX_bm3A8y1wPHU716J-1">
<mxGeometry x="586.7485185185184" y="190" width="100" height="80" as="geometry" />
</mxCell>
<mxCell id="73GR58doEz6CpVxRXi9i-6" value="Download Keyserver&#39;s public key, which is encrypted for Komrade, from Keyserver&lt;br&gt;&lt;br&gt;Decrypt Keyserver&#39;s public key" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" vertex="1" parent="rmWX_bm3A8y1wPHU716J-1">
<mxGeometry x="801.23" y="450" width="205" height="80" as="geometry" />
</mxCell>
<mxCell id="73GR58doEz6CpVxRXi9i-12" value="Read failed. You can&#39;t decrypt it. Don&#39;t try." style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="rmWX_bm3A8y1wPHU716J-1">
<mxGeometry x="389.99999999999994" y="370" width="130.05" height="61" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Loading…
Cancel
Save