Update cryptosystems.drawio

operator-time
Ryan Heuser 4 years ago
parent 2952bf07b8
commit 4ed0f19d38

@ -1,27 +1,27 @@
<mxfile host="app.diagrams.net" modified="2020-09-03T11:12:14.139Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36" etag="370wp7n6MphRSGGjts0S" version="13.6.6" type="github" pages="3">
<mxfile host="app.diagrams.net" modified="2020-09-03T11:14:57.947Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36" etag="Ru32pL9l5nMVrsjM5Et-" version="13.6.6" type="github" pages="3">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Login/Register">
<mxGraphModel dx="2265" dy="1795" 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="1066" dy="845" 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" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-2" value="" style="rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;edgeStyle=orthogonalEdgeStyle;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-3" target="WIyWlLk6GJQsqaUBKTNV-6" edge="1">
<mxCell id="WIyWlLk6GJQsqaUBKTNV-2" value="" style="rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;edgeStyle=orthogonalEdgeStyle;noEdgeStyle=1;orthogonal=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-3" target="WIyWlLk6GJQsqaUBKTNV-6" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="636.1587037037037" y="54" />
<mxPoint x="636.1587037037037" y="130" />
<mxPoint x="636.1587037037038" y="101" />
<mxPoint x="636.1587037037037" y="177" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-3" value="I try to meet/login as/register username &quot;marx&quot;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="576.1587037037037" y="1" width="120" height="40" as="geometry" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-3" value="Keyclient attempts to &quot;boot&quot; the user &quot;marx&quot; from Keysever&lt;br&gt;(i.e. Login as, Register as, or Meet &quot;marx&quot; as appropriate)" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="539.2387037037038" width="193.84" height="89" as="geometry" />
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-4" value="Yes" style="rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;edgeStyle=orthogonalEdgeStyle;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-6" target="UarGHlLd0uthddKlq-wd-3" edge="1">
<mxGeometry y="20" relative="1" as="geometry">
<mxPoint as="offset" />
<mxPoint x="60" y="331.53846153846143" as="targetPoint" />
<Array as="points">
<mxPoint x="613.6587037037037" y="234" />
<mxPoint x="537.4549999999999" y="310" />
<mxPoint x="613.6587037037037" y="281" />
<mxPoint x="537.4549999999999" y="357" />
</Array>
</mxGeometry>
</mxCell>
@ -29,34 +29,34 @@
<mxGeometry y="10" relative="1" as="geometry">
<mxPoint as="offset" />
<Array as="points">
<mxPoint x="658.6587037037037" y="234" />
<mxPoint x="736.2049999999999" y="310" />
<mxPoint x="658.6587037037037" y="281" />
<mxPoint x="736.2049999999999" y="357" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-6" value="Is key server reachable via Tor requests?" 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="586.1587037037037" y="142" width="100" height="80" as="geometry" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-6" value="Is Keyserver reachable via Tor requests?" 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="586.1587037037037" y="189" width="100" height="80" as="geometry" />
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-7" value="Login/register failed. Cannot safely connect." 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="669.9549999999999" y="342" width="132.5" height="40" as="geometry" />
<mxGeometry x="669.9549999999999" y="389" width="132.5" height="40" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="537.4549999999999" y="414" />
<mxPoint x="591.3599999999999" y="490" />
<mxPoint x="537.4549999999999" y="461" />
<mxPoint x="591.3599999999999" y="537" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-3" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="434.9549999999999" y="322" width="205" height="80" as="geometry" />
<mxGeometry x="434.9549999999999" y="369" width="205" height="80" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-9" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-5" target="UarGHlLd0uthddKlq-wd-27" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="660" as="targetPoint" />
<Array as="points">
<mxPoint x="669.7174999999999" y="894" />
<mxPoint x="563.8608333333332" y="970" />
<mxPoint x="669.7174999999999" y="941" />
<mxPoint x="563.8608333333332" y="1017" />
</Array>
</mxGeometry>
</mxCell>
@ -64,19 +64,19 @@
<mxGeometry relative="1" as="geometry">
<mxPoint x="210" y="640" as="targetPoint" />
<Array as="points">
<mxPoint x="733.3124999999999" y="894" />
<mxPoint x="716.9708333333332" y="970" />
<mxPoint x="733.3124999999999" y="941" />
<mxPoint x="716.9708333333332" y="1017" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-5" value="Is keyserver storing a public key for username &quot;marx&quot;?" 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="632.9199999999998" y="742" width="137.19" height="140" as="geometry" />
<mxGeometry x="632.9199999999998" y="789" width="137.19" height="140" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-31" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;exitX=0;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-14" target="UarGHlLd0uthddKlq-wd-29" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="687.9158333333332" y="1094" />
<mxPoint x="649.6987499999999" y="1170" />
<mxPoint x="687.9158333333332" y="1141" />
<mxPoint x="649.6987499999999" y="1217" />
</Array>
</mxGeometry>
</mxCell>
@ -84,55 +84,55 @@
<mxGeometry relative="1" as="geometry">
<mxPoint x="625.625" y="1245" as="targetPoint" />
<Array as="points">
<mxPoint x="746.0258333333333" y="1094" />
<mxPoint x="799.6987499999999" y="1170" />
<mxPoint x="746.0258333333333" y="1141" />
<mxPoint x="799.6987499999999" y="1217" />
</Array>
</mxGeometry>
</mxCell>
<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="653.8608333333332" y="982" width="126.22" height="100" as="geometry" />
<mxGeometry x="653.8608333333332" y="1029" width="126.22" height="100" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-28" 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-27" target="UarGHlLd0uthddKlq-wd-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="115.625" y="820" as="targetPoint" />
<Array as="points">
<mxPoint x="563.8608333333332" y="1094" />
<mxPoint x="444.0737499999999" y="1170" />
<mxPoint x="563.8608333333332" y="1141" />
<mxPoint x="444.0737499999999" y="1217" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-27" value="Attempt registration" 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="503.8608333333332" y="1012" width="120" height="40" as="geometry" />
<mxGeometry x="503.8608333333332" y="1059" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-55" 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-29" target="UarGHlLd0uthddKlq-wd-59" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="421.25" y="1069" as="targetPoint" />
<Array as="points">
<mxPoint x="649.6987499999999" y="1374" />
<mxPoint x="586.3095833333333" y="1450" />
<mxPoint x="649.6987499999999" y="1421" />
<mxPoint x="586.3095833333333" y="1497" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-29" value="Attempt login" 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="589.6987499999999" y="1252" width="120" height="40" as="geometry" />
<mxGeometry x="589.6987499999999" y="1299" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-98" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-35" target="UarGHlLd0uthddKlq-wd-97" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="444.0737499999999" y="1374" />
<mxPoint x="335.23687499999994" y="1450" />
<mxPoint x="444.0737499999999" y="1421" />
<mxPoint x="335.23687499999994" y="1497" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-35" value="&lt;div&gt;&lt;span&gt;[Client]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;span&gt;Generate pub/private key pair&lt;br&gt;(Themis, GenerateKeyPair, EC)&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;Encrypt pub/private key pair with passphrase&amp;nbsp;&lt;/span&gt;&lt;span&gt;(Themis, SecureCell)&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;Save in:&amp;nbsp;&lt;/span&gt;&lt;span&gt;~/.komrade/.keys/.marx.key&lt;/span&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="328.4487499999999" y="1182" width="231.25" height="180" as="geometry" />
<mxGeometry x="328.4487499999999" y="1229" width="231.25" height="180" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-85" 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="UarGHlLd0uthddKlq-wd-59" target="UarGHlLd0uthddKlq-wd-86" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="471.25" y="1400" as="targetPoint" />
<Array as="points">
<mxPoint x="558.8095833333333" y="1643.5" />
<mxPoint x="446.595" y="1719.5" />
<mxPoint x="558.8095833333333" y="1690.5" />
<mxPoint x="446.595" y="1766.5" />
</Array>
</mxGeometry>
</mxCell>
@ -140,184 +140,184 @@
<mxGeometry relative="1" as="geometry">
<mxPoint x="700" y="1300" as="targetPoint" />
<Array as="points">
<mxPoint x="613.8095833333333" y="1643.5" />
<mxPoint x="662.635" y="1719.5" />
<mxPoint x="613.8095833333333" y="1690.5" />
<mxPoint x="662.635" y="1766.5" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-59" value="Can I decrypt .marx.key using passphrase? (SecureCell)" 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="526.3095833333333" y="1481.25" width="120" height="131" as="geometry" />
<mxGeometry x="526.3095833333333" y="1528.25" width="120" height="131" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-65" value="Registration 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="205" y="2615.25" width="175" height="50" as="geometry" />
<mxGeometry x="205" y="2662.25" width="175" height="50" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-72" target="UarGHlLd0uthddKlq-wd-100" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="226.39999999999998" y="1911" />
<mxPoint x="285.7301851851852" y="1987" />
<mxPoint x="226.39999999999998" y="1958" />
<mxPoint x="285.7301851851852" y="2034" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-72" 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 2 encryped public keys from user&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Decrypt first public key:&lt;/div&gt;&lt;div&gt;&lt;i&gt;to&lt;/i&gt;: me,&amp;nbsp;&lt;span&gt;&lt;i&gt;from&lt;/i&gt;: komrade&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Decrypt second public key:&lt;/div&gt;&lt;div&gt;&lt;i&gt;to&lt;/i&gt;: me, &lt;i&gt;from:&lt;/i&gt;&amp;nbsp;&lt;span&gt;decrypted first pubkey&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="123.70499999999998" y="1735.75" width="205.39" height="159" as="geometry" />
<mxGeometry x="123.70499999999998" y="1782.75" width="205.39" height="159" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-80" value="Registration failed" 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 y="2615.25" width="175" height="50" as="geometry" />
<mxGeometry y="2662.25" width="175" height="50" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-86" value="Login failed. You claim to be marx but cannot decrypt his key." 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="359.09499999999997" y="1790.25" width="175" height="50" as="geometry" />
<mxGeometry x="359.09499999999997" y="1837.25" width="175" height="50" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-107" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-88" target="UarGHlLd0uthddKlq-wd-105" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="662.635" y="1911" />
<mxPoint x="526.3" y="1987" />
<mxPoint x="662.635" y="1958" />
<mxPoint x="526.3" y="2034" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-88" value="&lt;div&gt;[Client]&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;As before, encrypt my public key twice:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;(1) to keyserver, from komrade&lt;/div&gt;&lt;div&gt;(2) to keyserver, from me&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Send both to server&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="564.095" y="1744.75" width="197.08" height="141" as="geometry" />
<mxGeometry x="564.095" y="1791.75" width="197.08" height="141" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-99" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-97" target="UarGHlLd0uthddKlq-wd-72" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="335.23687499999994" y="1643.5" />
<mxPoint x="226.39999999999998" y="1719.5" />
<mxPoint x="335.23687499999994" y="1690.5" />
<mxPoint x="226.39999999999998" y="1766.5" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-97" value="&lt;div&gt;&lt;span&gt;[Client] -&amp;gt; [Server]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt my public key,&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;i&gt;to&lt;/i&gt;: keyserver,&amp;nbsp;&lt;/span&gt;&lt;i&gt;from&lt;/i&gt;&lt;span&gt;: komrade&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Encrypt my public key again,&lt;/div&gt;&lt;div&gt;&lt;i&gt;to&lt;/i&gt;: keyserver,&amp;nbsp;&lt;i&gt;from&lt;/i&gt;&lt;span&gt;: me&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Send my 2 encrypted public keys to 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="229.35687499999995" y="1462" width="211.76" height="169.5" as="geometry" />
<mxGeometry x="229.35687499999995" y="1509" width="211.76" height="169.5" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-118" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;exitX=0;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-100" target="UarGHlLd0uthddKlq-wd-114" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="259.36518518518517" y="2219.75" />
<mxPoint x="186.6150925925926" y="2295.75" />
<mxPoint x="259.36518518518517" y="2266.75" />
<mxPoint x="186.6150925925926" y="2342.75" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-119" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-100" target="UarGHlLd0uthddKlq-wd-101" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="312.0951851851852" y="2219.75" />
<mxPoint x="441.61509259259265" y="2295.75" />
<mxPoint x="312.0951851851852" y="2266.75" />
<mxPoint x="441.61509259259265" y="2342.75" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-100" value="[Server] Decrypted keys match?" 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="228.0001851851852" y="2048.375" width="115.46" height="110" as="geometry" />
<mxGeometry x="228.0001851851852" y="2095.375" width="115.46" height="110" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-101" target="UarGHlLd0uthddKlq-wd-65" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="441.61509259259265" y="2492.25" />
<mxPoint x="292.5" y="2568.25" />
<mxPoint x="441.61509259259265" y="2539.25" />
<mxPoint x="292.5" y="2615.25" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-101" value="&lt;div&gt;&lt;span&gt;[Server]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Save first decrypted key&lt;/div&gt;&lt;div&gt;(to me, from komrade) to&lt;/div&gt;&lt;div&gt;~/.komrade/.keyserver/.marx.loc&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Send second decrypted pubkey&lt;/div&gt;&lt;div&gt;(to me, from user) to&lt;/div&gt;&lt;div&gt;~/.komrade/.keyserver/.marx.loc.box&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Send back to user OK response&lt;/div&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="329.1150925925926" y="2307.75" width="225" height="172.5" as="geometry" />
<mxGeometry x="329.1150925925926" y="2354.75" width="225" height="172.5" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-113" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-105" target="UarGHlLd0uthddKlq-wd-111" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="526.3" y="2219.75" />
<mxPoint x="668.2574999999999" y="2295.75" />
<mxPoint x="526.3" y="2266.75" />
<mxPoint x="668.2574999999999" y="2342.75" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-105" 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 2 encryped public keys from user&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Decrypt first public key:&lt;/div&gt;&lt;div&gt;&lt;i&gt;to&lt;/i&gt;: me,&amp;nbsp;&lt;span&gt;&lt;i&gt;from&lt;/i&gt;: komrade&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Decrypt second public key:&lt;/div&gt;&lt;div&gt;&lt;i&gt;to&lt;/i&gt;: me, &lt;i&gt;from:&lt;/i&gt;&amp;nbsp;&lt;span&gt;decrypted first pubkey&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;Do same with those 2 already on disk&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="406.74499999999995" y="2022.625" width="239.11" height="161.5" as="geometry" />
<mxGeometry x="406.74499999999995" y="2069.625" width="239.11" height="161.5" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-108" value="Login failed" 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="410" y="2615.25" width="175" height="50" as="geometry" />
<mxGeometry x="410" y="2662.25" width="175" height="50" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-109" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-111" target="UarGHlLd0uthddKlq-wd-108" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="637.0074999999999" y="2492.25" />
<mxPoint x="497.5" y="2568.25" />
<mxPoint x="637.0074999999999" y="2539.25" />
<mxPoint x="497.5" y="2615.25" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-110" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-111" target="UarGHlLd0uthddKlq-wd-112" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="699.5074999999999" y="2492.25" />
<mxPoint x="727.5" y="2568.25" />
<mxPoint x="699.5074999999999" y="2539.25" />
<mxPoint x="727.5" y="2615.25" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-111" value="[Server] All four decrypted keys match each other?" 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="600.7574999999999" y="2318.375" width="135" height="151.25" as="geometry" />
<mxGeometry x="600.7574999999999" y="2365.375" width="135" height="151.25" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-112" target="UarGHlLd0uthddKlq-wd-123" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="727.5" y="2712.25" />
<mxPoint x="538.7049999999999" y="2788.25" />
<mxPoint x="727.5" y="2759.25" />
<mxPoint x="538.7049999999999" y="2835.25" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-112" value="&lt;div&gt;&lt;span&gt;[Server]&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;Send back to user OK response&lt;/span&gt;&lt;br&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="615" y="2600.25" width="225" height="80" as="geometry" />
<mxGeometry x="615" y="2647.25" width="225" height="80" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-121" 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-114" target="UarGHlLd0uthddKlq-wd-80" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="186.6150925925926" y="2492.25" />
<mxPoint x="87.5" y="2568.25" />
<mxPoint x="186.6150925925926" y="2539.25" />
<mxPoint x="87.5" y="2615.25" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-114" value="&lt;div&gt;&lt;span&gt;[Server]&lt;/span&gt;&lt;br&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;Send back to user FAIL response&lt;/span&gt;&lt;br&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="74.11509259259259" y="2359" width="225" height="70" as="geometry" />
<mxGeometry x="74.11509259259259" y="2406" width="225" height="70" as="geometry" />
</mxCell>
<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="451.2049999999999" y="2840.25" width="175" height="50" as="geometry" />
<mxGeometry x="451.2049999999999" y="2887.25" 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">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="530" as="targetPoint" />
<Array as="points">
<mxPoint x="561.8625" y="654" />
<mxPoint x="535.1099999999999" y="730" />
<mxPoint x="561.8625" y="701" />
<mxPoint x="535.1099999999999" y="777" />
</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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="620.8575" y="654" />
<mxPoint x="701.5149999999999" y="730" />
<mxPoint x="620.8575" y="701" />
<mxPoint x="701.5149999999999" y="777" />
</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">
<mxGeometry x="527.3649999999999" y="502" width="127.99" height="140" as="geometry" />
<mxGeometry x="527.3649999999999" y="549" 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">
<mxGeometry x="467.2999999999999" y="784.5" width="135.62" height="55" as="geometry" />
<mxGeometry x="467.2999999999999" y="831.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">
<mxGeometry relative="1" as="geometry">
<mxPoint x="630" y="1460" as="targetPoint" />
<Array as="points">
<mxPoint x="799.6987499999999" y="1374" />
<mxPoint x="883.5245833333333" y="1450" />
<mxPoint x="799.6987499999999" y="1421" />
<mxPoint x="883.5245833333333" y="1497" />
</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">
<mxGeometry x="739.6987499999999" y="1252" width="120" height="40" as="geometry" />
<mxGeometry x="739.6987499999999" y="1299" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="851.2770833333334" y="1643.5" />
<mxPoint x="837.305" y="1719.5" />
<mxPoint x="851.2770833333334" y="1690.5" />
<mxPoint x="837.305" y="1766.5" />
</Array>
</mxGeometry>
</mxCell>
@ -325,119 +325,119 @@
<mxGeometry relative="1" as="geometry">
<mxPoint x="990" y="1510" as="targetPoint" />
<Array as="points">
<mxPoint x="915.7720833333334" y="1643.5" />
<mxPoint x="1013.5699999999999" y="1719.5" />
<mxPoint x="915.7720833333334" y="1690.5" />
<mxPoint x="1013.5699999999999" y="1766.5" />
</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">
<mxGeometry x="814.0295833333333" y="1486.75" width="138.99" height="120" as="geometry" />
<mxGeometry x="814.0295833333333" y="1533.75" 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">
<mxGeometry x="791.175" y="1795.25" width="92.26" height="40" as="geometry" />
<mxGeometry x="791.175" y="1842.25" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1026.9483101851852" y="2219.75" />
<mxPoint x="1041.884436728395" y="2295.75" />
<mxPoint x="1026.9483101851852" y="2266.75" />
<mxPoint x="1041.884436728395" y="2342.75" />
</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">
<mxGeometry x="876.8133101851852" y="1999" width="300.27" height="208.75" as="geometry" />
<mxGeometry x="876.8133101851852" y="2046" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1013.5699999999999" y="1911" />
<mxPoint x="1026.9483101851852" y="1987" />
<mxPoint x="1013.5699999999999" y="1958" />
<mxPoint x="1026.9483101851852" y="2034" />
</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">
<mxGeometry x="913.435" y="1731.5" width="200.27" height="167.5" as="geometry" />
<mxGeometry x="913.435" y="1778.5" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1001.884436728395" y="2492.25" />
<mxPoint x="950" y="2568.25" />
<mxPoint x="1001.884436728395" y="2539.25" />
<mxPoint x="950" y="2615.25" />
</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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1081.884436728395" y="2492.25" />
<mxPoint x="1148.705" y="2568.25" />
<mxPoint x="1081.884436728395" y="2539.25" />
<mxPoint x="1148.705" y="2615.25" />
</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">
<mxGeometry x="956.884436728395" y="2309" width="170" height="170" as="geometry" />
<mxGeometry x="956.884436728395" y="2356" 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">
<mxGeometry x="870" y="2605.25" width="160" height="70" as="geometry" />
<mxGeometry x="870" y="2652.25" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1148.705" y="2712.25" />
<mxPoint x="962.8672455464828" y="2788.25" />
<mxPoint x="1148.705" y="2759.25" />
<mxPoint x="962.8672455464828" y="2835.25" />
</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">
<mxGeometry x="1060" y="2580.25" width="177.41" height="120" as="geometry" />
<mxGeometry x="1060" y="2627.25" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="962.8672455464828" y="2942.25" />
<mxPoint x="778.4703488087521" y="3018.25" />
<mxPoint x="962.8672455464828" y="2989.25" />
<mxPoint x="778.4703488087521" y="3065.25" />
</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">
<mxGeometry x="897.8672455464828" y="2800.25" width="130" height="130" as="geometry" />
<mxGeometry x="897.8672455464828" y="2847.25" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="740.9703488087521" y="3192.25" />
<mxPoint x="598.1910973242464" y="3268.25" />
<mxPoint x="740.9703488087521" y="3239.25" />
<mxPoint x="598.1910973242464" y="3315.25" />
</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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="815.9703488087521" y="3192.25" />
<mxPoint x="777.0807230664992" y="3268.25" />
<mxPoint x="815.9703488087521" y="3239.25" />
<mxPoint x="777.0807230664992" y="3315.25" />
</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">
<mxGeometry x="698.4703488087521" y="3030.25" width="160" height="150" as="geometry" />
<mxGeometry x="698.4703488087521" y="3077.25" 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">
<mxGeometry x="520.6910973242464" y="3280.25" width="155" height="90" as="geometry" />
<mxGeometry x="520.6910973242464" y="3327.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">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1350" y="3440" as="targetPoint" />
<Array as="points">
<mxPoint x="777.0807230664992" y="3382.25" />
<mxPoint x="777.0807230664992" y="3458.25" />
<mxPoint x="777.0807230664992" y="3429.25" />
<mxPoint x="777.0807230664992" y="3505.25" />
</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">
<mxGeometry x="707.0807230664992" y="3290.25" width="140" height="70" as="geometry" />
<mxGeometry x="707.0807230664992" y="3337.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">
<mxGeometry x="687.0807230664992" y="3470.25" width="180" height="130" as="geometry" />
<mxGeometry x="687.0807230664992" y="3517.25" width="180" height="130" as="geometry" />
</mxCell>
</root>
</mxGraphModel>

Loading…
Cancel
Save