Files
004_comission/banson_hker/deliver/diagram/decryption.drawio
louiscklaw 72bacdd6b5 update,
2025-01-31 19:28:21 +08:00

105 lines
7.3 KiB
Plaintext

<mxfile host="65bd71144e">
<diagram id="jUaFL9_61w-NF607VE0Q" name="Page-1">
<mxGraphModel dx="2055" dy="1449" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="25" value="Yes" style="edgeStyle=none;html=1;" parent="1" source="21" target="24" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="39" value="No" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="21" target="38" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="570" y="310"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="21" value="Alphabat ?" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="320" y="270" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="27" value="" style="edgeStyle=none;html=1;" parent="1" source="24" target="26" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="24" value="Get offset according letter case&lt;br&gt;&lt;br&gt;i.e.&lt;br&gt;capital letter &quot;M&quot; will use &quot;A&quot; as offset&lt;br&gt;small letter &quot;m&quot; will use &quot;a&quot; as offset" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="385" width="220" height="110" as="geometry"/>
</mxCell>
<mxCell id="29" value="" style="edgeStyle=none;html=1;" parent="1" source="26" target="28" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="26" value="subtract letter ascii code (i.e. &quot;M&quot;) &lt;br&gt;to offset selected above(i.e. &quot;A&quot;)&lt;br&gt;&amp;nbsp;&lt;br&gt;apply guessed k" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="530" width="220" height="80" as="geometry"/>
</mxCell>
<mxCell id="31" value="" style="edgeStyle=none;html=1;" parent="1" source="28" target="30" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="28" value="wrap around if &lt;br&gt;less than 0 / more than 26 &lt;br&gt;by getting the remainder" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="650" width="220" height="70" as="geometry"/>
</mxCell>
<mxCell id="33" value="" style="edgeStyle=none;html=1;" parent="1" source="30" target="32" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="30" value="get letter back after shifting" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="760" width="220" height="60" as="geometry"/>
</mxCell>
<mxCell id="32" value="Append to decrypted message" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="300" y="850" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="34" value="End" style="ellipse;whiteSpace=wrap;html=1;rounded=1;strokeColor=default;" parent="1" vertex="1">
<mxGeometry x="300" y="1050" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="40" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="38" target="32" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="570" y="880"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="38" value="number will not encrypt, append directly" style="whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="510" y="410" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="41" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="42" target="44">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="42" value="Start" style="ellipse;whiteSpace=wrap;html=1;rounded=1;strokeColor=default;" vertex="1" parent="1">
<mxGeometry x="300" y="20" width="120" height="40" as="geometry"/>
</mxCell>
<mxCell id="43" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="44" target="46">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="44" value="loop through message by every letter" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="300" y="90" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="45" value="" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="46" target="21">
<mxGeometry relative="1" as="geometry">
<mxPoint x="360" y="250" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="46" value="get one character" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="300" y="180" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="47" value="" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" target="49" source="32">
<mxGeometry relative="1" as="geometry">
<mxPoint x="360" y="940" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="48" value="Yes" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="49" target="34">
<mxGeometry relative="1" as="geometry">
<mxPoint x="400" y="1050" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="50" value="No" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="49" target="46">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="680" y="980"/>
<mxPoint x="680" y="210"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="49" value="End of message ?" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="320" y="940" width="80" height="80" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>