2
0
mirror of https://github.com/ComradCollective/Comrad synced 2024-11-01 21:40:32 +00:00

Update cryptosystems.drawio

This commit is contained in:
Ryan Heuser 2020-09-03 11:07:10 +01:00
parent 36d4ad4f6b
commit 1599200338

View File

@ -1,62 +1,62 @@
<mxfile host="app.diagrams.net" modified="2020-09-03T10:02:06.276Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36" etag="MTZCW5qzfgb1vfzqVPzt" version="13.6.6" type="github">
<mxfile host="app.diagrams.net" modified="2020-09-03T10:07:06.002Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36" etag="0QaRk_xoEv-CGnJDhgsz" version="13.6.6" type="github">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Login/Register">
<mxGraphModel dx="906" dy="718" 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">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="420" y="52" />
<mxPoint x="420" y="128" />
<mxPoint x="440.462962962963" y="52" />
<mxPoint x="440.462962962963" y="128" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-3" value="I try to login/register with username &quot;marx&quot;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="360" width="120" height="40" as="geometry" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-3" value="I try to login/register with 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="380.462962962963" width="120" height="40" 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="397.5" y="232" />
<mxPoint x="417.962962962963" y="232" />
<mxPoint x="345" y="308" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-5" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-6" target="WIyWlLk6GJQsqaUBKTNV-7" edge="1">
<mxCell id="WIyWlLk6GJQsqaUBKTNV-5" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;noEdgeStyle=1;orthogonal=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-6" target="WIyWlLk6GJQsqaUBKTNV-7" edge="1">
<mxGeometry y="10" relative="1" as="geometry">
<mxPoint as="offset" />
<Array as="points">
<mxPoint x="442.5" y="232" />
<mxPoint x="495" y="308" />
<mxPoint x="462.962962962963" y="232" />
<mxPoint x="537.5" y="308" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-6" value="Key server reachable?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="370" y="140" width="100" height="80" as="geometry" />
<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="390.462962962963" y="140" width="100" height="80" as="geometry" />
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-7" value="Login/register 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="435" y="320" width="120" height="40" as="geometry" />
<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="477.5" y="340" width="132.5" height="40" as="geometry" />
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-3" target="UarGHlLd0uthddKlq-wd-5" edge="1">
<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="345" y="372" />
<mxPoint x="391.50394375857337" y="448" />
<mxPoint x="345" y="412" />
<mxPoint x="394.7383333333334" y="488" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-3" value="Download its 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="285" y="320" width="155" height="60" as="geometry" />
<mxGeometry x="242.5" y="320" 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="369.00394375857337" y="552" />
<mxPoint x="331.4570987654321" y="628" />
<mxPoint x="471.01250000000005" y="892" />
<mxPoint x="341.89" y="968" />
</Array>
</mxGeometry>
</mxCell>
@ -64,69 +64,74 @@
<mxGeometry relative="1" as="geometry">
<mxPoint x="210" y="640" as="targetPoint" />
<Array as="points">
<mxPoint x="414.00394375857337" y="552" />
<mxPoint x="498.054732510288" y="628" />
<mxPoint x="534.6075000000001" y="892" />
<mxPoint x="533.355" y="968" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="UarGHlLd0uthddKlq-wd-5" value="Keyserver storing a public key for &quot;marx&quot;?" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="341.50394375857337" y="460" width="100" height="80" as="geometry" />
<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="434.21500000000003" y="740" 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="468.999732510288" y="752" />
<mxPoint x="475.625" y="828" />
<mxPoint x="504.3" y="1092" />
<mxPoint x="471.63" y="1168" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-1" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-14" target="pqJTde5UYUQTvpoNPmt8-0">
<mxGeometry relative="1" as="geometry" />
<mxCell id="pqJTde5UYUQTvpoNPmt8-1" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;noEdgeStyle=1;orthogonal=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="UarGHlLd0uthddKlq-wd-14" target="pqJTde5UYUQTvpoNPmt8-0">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="562.4100000000001" y="1092" />
<mxPoint x="625.625" y="1168" />
</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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="434.944732510288" y="640" width="126.22" height="100" as="geometry" />
<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="470.245" y="980" 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="331.4570987654321" y="752" />
<mxPoint x="270" y="828" />
<mxPoint x="341.89" y="1092" />
<mxPoint x="266.005" y="1168" />
</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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="271.4570987654321" y="670" width="120" height="40" as="geometry" />
<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="281.89" y="1010" 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="475.625" y="1032" />
<mxPoint x="513.3249999999999" y="1108" />
<mxPoint x="471.63" y="1372" />
<mxPoint x="511.99333333333334" y="1448" />
</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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="415.625" y="910" width="120" height="40" as="geometry" />
<mxCell id="UarGHlLd0uthddKlq-wd-29" value="Attempt login" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#fff2cc;strokeColor=#d6b656;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="411.63" y="1250" 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="270" y="1032" />
<mxPoint x="236.98000000000002" y="1108" />
<mxPoint x="266.005" y="1372" />
<mxPoint x="234.98250000000002" y="1448" />
</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="154.375" y="840" width="231.25" height="180" as="geometry" />
<mxGeometry x="150.38" y="1180" 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="485.82499999999993" y="1301.5" />
<mxPoint x="424.15500000000003" y="1377.5" />
<mxPoint x="484.49333333333334" y="1641.5" />
<mxPoint x="424.15500000000003" y="1717.5" />
</Array>
</mxGeometry>
</mxCell>
@ -134,146 +139,169 @@
<mxGeometry relative="1" as="geometry">
<mxPoint x="700" y="1300" as="targetPoint" />
<Array as="points">
<mxPoint x="540.8249999999999" y="1301.5" />
<mxPoint x="640.1949999999999" y="1377.5" />
<mxPoint x="539.4933333333333" y="1641.5" />
<mxPoint x="640.1949999999999" y="1717.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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="453.32499999999993" y="1139.25" width="120" height="131" as="geometry" />
<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="451.99333333333334" y="1479.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="2195" width="175" height="50" as="geometry" />
<mxGeometry x="205" y="2537.5" 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="203.96000000000004" y="1560.5" />
<mxPoint x="274.3068518518519" y="1636.5" />
<mxPoint x="203.96000000000004" y="1900.5" />
<mxPoint x="274.58722222222224" y="1976.5" />
</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="101.26500000000004" y="1389.5" width="205.39" height="159" as="geometry" />
<mxGeometry x="101.26500000000004" y="1729.5" 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="2195" width="175" height="50" as="geometry" />
<mxGeometry y="2537.5" 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="336.65500000000003" y="1444" width="175" height="50" as="geometry" />
<mxGeometry x="336.65500000000003" y="1784" 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="640.1949999999999" y="1560.5" />
<mxPoint x="643.5876388888889" y="1636.5" />
<mxPoint x="640.1949999999999" y="1900.5" />
<mxPoint x="643.7979166666667" y="1976.5" />
</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="541.655" y="1398.5" width="197.08" height="141" as="geometry" />
<mxGeometry x="541.655" y="1738.5" 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="236.98000000000002" y="1301.5" />
<mxPoint x="203.96000000000004" y="1377.5" />
<mxPoint x="234.98250000000002" y="1641.5" />
<mxPoint x="203.96000000000004" y="1717.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="131.10000000000002" y="1120" width="211.76" height="169.5" as="geometry" />
<mxGeometry x="129.10250000000002" y="1460" 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="247.9418518518519" y="1819.5" />
<mxPoint x="180.90342592592594" y="1895.5" />
<mxPoint x="248.22222222222226" y="2162" />
<mxPoint x="181.0436111111111" y="2238" />
</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="300.6718518518519" y="1819.5" />
<mxPoint x="435.90342592592594" y="1895.5" />
<mxPoint x="300.95222222222225" y="2162" />
<mxPoint x="436.0436111111111" y="2238" />
</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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="216.5768518518519" y="1673" width="115.46" height="110" as="geometry" />
<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="216.85722222222225" y="2014.25" 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="435.90342592592594" y="2092" />
<mxPoint x="292.5" y="2168" />
<mxPoint x="436.0436111111111" y="2434.5" />
<mxPoint x="292.5" y="2510.5" />
</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="323.40342592592594" y="1907.5" width="225" height="172.5" as="geometry" />
<mxGeometry x="323.5436111111111" y="2250" 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="643.5876388888889" y="1819.5" />
<mxPoint x="645.903425925926" y="1895.5" />
<mxPoint x="643.7979166666667" y="2162" />
<mxPoint x="646.0436111111111" y="2238" />
</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="540.89" y="1648.5" width="239.11" height="161.5" as="geometry" />
<mxGeometry x="524.2429166666666" y="1988.5" 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="2195" width="175" height="50" as="geometry" />
<mxGeometry x="410" y="2537.5" 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="614.653425925926" y="2092" />
<mxPoint x="497.5" y="2168" />
<mxPoint x="614.7936111111111" y="2434.5" />
<mxPoint x="497.5" y="2510.5" />
</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="677.153425925926" y="2092" />
<mxPoint x="727.5" y="2168" />
<mxPoint x="677.2936111111111" y="2434.5" />
<mxPoint x="727.5" y="2510.5" />
</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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="578.403425925926" y="1918.125" width="135" height="151.25" as="geometry" />
<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="578.5436111111111" y="2260.625" 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="2272" />
<mxPoint x="727.5" y="2348" />
<mxPoint x="727.5" y="2614.5" />
<mxPoint x="727.5" y="2690.5" />
</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="2180" width="225" height="80" as="geometry" />
<mxGeometry x="615" y="2522.5" 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="180.90342592592594" y="2092" />
<mxPoint x="87.5" y="2168" />
<mxPoint x="181.0436111111111" y="2434.5" />
<mxPoint x="87.5" y="2510.5" />
</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="68.40342592592594" y="1958.75" width="225" height="70" as="geometry" />
<mxGeometry x="68.54361111111112" y="2301.25" 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="640" y="2360" width="175" height="50" as="geometry" />
<mxGeometry x="640" y="2702.5" width="175" height="50" as="geometry" />
</mxCell>
<mxCell id="pqJTde5UYUQTvpoNPmt8-0" value="Login failed. You claim to be marx but do not have his private key." 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="652.01" y="960" width="127.99" height="50" as="geometry" />
<mxGeometry x="561.63" y="1245" width="127.99" 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="365.2408333333334" y="652" />
<mxPoint x="336.40500000000003" y="728" />
</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="424.2358333333334" y="652" />
<mxPoint x="502.81" y="728" />
</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="330.7433333333334" y="500" 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="268.595" y="782.5" width="135.62" height="55" as="geometry" />
</mxCell>
</root>
</mxGraphModel>