Files
simplex-chat/diagrams/simplex-messaging/simplex-using.svg

1 line
7.7 KiB
XML

<svg id="mermaid-1603362302206" width="100%" xmlns="http://www.w3.org/2000/svg" height="377" style="max-width: 1100px;" viewBox="-50 -10 1100 377"><style>#mermaid-1603362302206{font-family:"trebuchet ms",verdana,arial;font-size:16px;fill:#333;}#mermaid-1603362302206 .error-icon{fill:#552222;}#mermaid-1603362302206 .error-text{fill:#552222;stroke:#552222;}#mermaid-1603362302206 .edge-thickness-normal{stroke-width:2px;}#mermaid-1603362302206 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1603362302206 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1603362302206 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1603362302206 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1603362302206 .marker{fill:#333333;}#mermaid-1603362302206 .marker.cross{stroke:#333333;}#mermaid-1603362302206 svg{font-family:"trebuchet ms",verdana,arial;font-size:16px;}#mermaid-1603362302206 .actor{stroke:hsl(259.6261682243,59.7765363128%,87.9019607843%);fill:#ECECFF;}#mermaid-1603362302206 text.actor &gt; tspan{fill:black;stroke:none;}#mermaid-1603362302206 .actor-line{stroke:grey;}#mermaid-1603362302206 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-1603362302206 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-1603362302206 #arrowhead path{fill:#333;stroke:#333;}#mermaid-1603362302206 .sequenceNumber{fill:white;}#mermaid-1603362302206 #sequencenumber{fill:#333;}#mermaid-1603362302206 #crosshead path{fill:#333;stroke:#333;}#mermaid-1603362302206 .messageText{fill:#333;stroke:#333;}#mermaid-1603362302206 .labelBox{stroke:hsl(259.6261682243,59.7765363128%,87.9019607843%);fill:#ECECFF;}#mermaid-1603362302206 .labelText,#mermaid-1603362302206 .labelText &gt; tspan{fill:black;stroke:none;}#mermaid-1603362302206 .loopText,#mermaid-1603362302206 .loopText &gt; tspan{fill:black;stroke:none;}#mermaid-1603362302206 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243,59.7765363128%,87.9019607843%);fill:hsl(259.6261682243,59.7765363128%,87.9019607843%);}#mermaid-1603362302206 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-1603362302206 .noteText,#mermaid-1603362302206 .noteText &gt; tspan{fill:black;stroke:none;}#mermaid-1603362302206 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-1603362302206 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-1603362302206 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-1603362302206:root{--mermaid-font-family:"trebuchet ms",verdana,arial;}#mermaid-1603362302206 sequence{fill:apa;}</style><g></g><g><line id="actor706" x1="75" y1="5" x2="75" y2="366" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="0" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="75" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-weight: 400; font-family: Open-Sans, sans-serif;"><tspan x="75" dy="0">Bob (sender)</tspan></text></g><g><line id="actor707" x1="467" y1="5" x2="467" y2="366" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="392" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="467" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-weight: 400; font-family: Open-Sans, sans-serif;"><tspan x="467" dy="0">server (queue RID)</tspan></text></g><g><line id="actor708" x1="925" y1="5" x2="925" y2="366" class="actor-line" stroke-width="0.5px" stroke="#999"></line><rect x="850" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="925" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-weight: 400; font-family: Open-Sans, sans-serif;"><tspan x="925" dy="0">Alice (recipient)</tspan></text></g><defs><marker id="arrowhead" refX="5" refY="2" markerWidth="6" markerHeight="4" orient="auto"><path d="M 0,0 V 4 L6,2 Z"></path></marker></defs><defs><marker id="crosshead" markerWidth="15" markerHeight="8" orient="auto" refX="16" refY="4"><path fill="black" stroke="#000000" stroke-width="1px" d="M 9,2 V 6 L16,4 Z" style="stroke-dasharray: 0, 0;"></path><path fill="none" stroke="#000000" stroke-width="1px" d="M 0,1 L 6,7 M 6,1 L 0,7" style="stroke-dasharray: 0, 0;"></path></marker></defs><defs><marker id="sequencenumber" refX="15" refY="15" markerWidth="60" markerHeight="40" orient="auto"><circle cx="15" cy="15" r="6"></circle></marker></defs><g><rect x="0" y="75" fill="#EDF2AE" stroke="#666" width="150" height="52" rx="0" ry="0" class="note"></rect><text x="75" y="80" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="noteText" dy="1em" style="font-family: &quot;trebuchet ms&quot;, verdana, arial; font-size: 14px; font-weight: 400;"><tspan x="75">encrypt message</tspan></text><text x="75" y="96" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="noteText" dy="1em" style="font-family: &quot;trebuchet ms&quot;, verdana, arial; font-size: 14px; font-weight: 400;"><tspan x="75">("public" key EK)</tspan></text></g><text x="271" y="142" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: &quot;trebuchet ms&quot;, verdana, arial; font-size: 16px; font-weight: 400;">1. send message to SID (SK-signed command)</text><line x1="75" y1="173" x2="467" y2="173" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="696" y="188" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: &quot;trebuchet ms&quot;, verdana, arial; font-size: 16px; font-weight: 400;">2. receive messages from RID (RK-signed subscription)</text><line x1="467" y1="219" x2="925" y2="219" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><g><rect x="850" y="229" fill="#EDF2AE" stroke="#666" width="150" height="52" rx="0" ry="0" class="note"></rect><text x="925" y="234" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="noteText" dy="1em" style="font-family: &quot;trebuchet ms&quot;, verdana, arial; font-size: 14px; font-weight: 400;"><tspan x="925">decrypt message</tspan></text><text x="925" y="250" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="noteText" dy="1em" style="font-family: &quot;trebuchet ms&quot;, verdana, arial; font-size: 14px; font-weight: 400;"><tspan x="925">("private" key EK)</tspan></text></g><g><rect x="0" y="301" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="75" y="333.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-weight: 400; font-family: Open-Sans, sans-serif;"><tspan x="75" dy="0">Bob (sender)</tspan></text></g><g><rect x="392" y="301" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="467" y="333.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-weight: 400; font-family: Open-Sans, sans-serif;"><tspan x="467" dy="0">server (queue RID)</tspan></text></g><g><rect x="850" y="301" fill="#eaeaea" stroke="#666" width="150" height="65" rx="3" ry="3" class="actor"></rect><text x="925" y="333.5" dominant-baseline="central" alignment-baseline="central" class="actor" style="text-anchor: middle; font-size: 14px; font-weight: 400; font-family: Open-Sans, sans-serif;"><tspan x="925" dy="0">Alice (recipient)</tspan></text></g></svg>