openpgp-notes/book/assets/drawio/SEIPDv2-decryption-chunks.drawio
2023-12-13 15:18:12 +01:00

257 lines
19 KiB
Text

<mxfile host="app.diagrams.net" modified="2023-12-07T22:36:48.782Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="vz4ePV4Aq_vjx2KqoccW" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="1195" dy="617" 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="0" />
<mxCell id="1" parent="0" />
<mxCell id="DWDa1s29pt83LbMmWAcP-169" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-2" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="80" y="810" />
<mxPoint x="500" y="810" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-170" value="key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-169">
<mxGeometry x="0.9073" y="-1" relative="1" as="geometry">
<mxPoint x="5" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-2" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-151" value="key" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-150">
<mxGeometry x="0.8385" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-2" value="&lt;div&gt;Message-Key&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="425" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-19" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="470" y="390" />
<mxPoint x="354" y="390" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-19" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="370" width="120" height="270" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-20" value="SEIPDv2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="500" y="370" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-21" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="450" y="415" />
<mxPoint x="450" y="435" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-21" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="400" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-22" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-22" value="AEAD Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="440" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-23" target="DWDa1s29pt83LbMmWAcP-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="450" y="488" />
<mxPoint x="450" y="475" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-23" value="Chunk Size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="480" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-24" value="Salt" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="520" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-127" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;jumpStyle=none;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-25" target="DWDa1s29pt83LbMmWAcP-126">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-25" value="Encrypted Data" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="560" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-26" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="600" y="615" />
<mxPoint x="600" y="750" />
<mxPoint x="560" y="750" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-183" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-167">
<mxGeometry x="0.8199" y="1" relative="1" as="geometry">
<mxPoint x="19" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-26" value="&lt;div&gt;Final AEAD&lt;/div&gt;&lt;div&gt;Auth Tag&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="600" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-36" target="DWDa1s29pt83LbMmWAcP-128">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-36" value="IV" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="425" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-143" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;jumpStyle=arc;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-37" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="384" y="510" />
<mxPoint x="450" y="510" />
<mxPoint x="450" y="780" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-144" value="AD" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-143">
<mxGeometry x="0.8948" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-37" value="&lt;div&gt;Packet Type ID,&lt;/div&gt;&lt;div&gt;Version Number,&lt;/div&gt;&lt;div&gt;Cipher Algo,&lt;/div&gt;&lt;div&gt;AEAD Algo,&lt;/div&gt;&lt;div&gt;Chunk Size&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="294" y="415" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-42" value="Packet Type, Version" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="336" y="370" width="124" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-47" value="+" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="120" y="440" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-126" target="DWDa1s29pt83LbMmWAcP-130">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="360" y="630" />
<mxPoint x="335" y="630" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-141" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-126" target="DWDa1s29pt83LbMmWAcP-140">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="360" y="630" />
<mxPoint x="405" y="630" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-126" value="toChunk(i)" style="rhombus;whiteSpace=wrap;html=1;rounded=0;" vertex="1" parent="1">
<mxGeometry x="320" y="535" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-137" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-128" target="DWDa1s29pt83LbMmWAcP-136">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-128" value="&lt;div&gt;append&lt;/div&gt;&lt;div&gt;chunk&lt;/div&gt;&lt;div&gt;index(i)&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="180" y="535" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-130" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="353" y="730" />
<mxPoint x="290" y="730" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-130" value="Chunk #i" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="300" y="650" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-148" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-136" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="780" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-149" value="nonce" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-148">
<mxGeometry x="0.4167" relative="1" as="geometry">
<mxPoint x="5" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-172" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-136" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="790" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-173" value="nonce" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-172">
<mxGeometry x="0.7588" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-136" value="Nonce #i" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="650" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-146" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-140" target="DWDa1s29pt83LbMmWAcP-142">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="405" y="730" />
<mxPoint x="290" y="730" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-147" value="ciphertext" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-146">
<mxGeometry x="0.7838" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-140" value="Tag #i" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="380" y="650" width="50" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-153" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-142" target="DWDa1s29pt83LbMmWAcP-152">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-142" value="AEAD" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="760" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-152" value="Plaintext Block #i" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="870" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-175" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<mxPoint x="540" y="830" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-179" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-156" target="DWDa1s29pt83LbMmWAcP-178">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-156" value="&lt;div&gt;Final&lt;/div&gt;&lt;div&gt;AEAD&lt;/div&gt;&lt;div&gt;Step&lt;br&gt;&lt;/div&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="500" y="770" width="80" height="80" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-160" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="DWDa1s29pt83LbMmWAcP-157" target="DWDa1s29pt83LbMmWAcP-156">
<mxGeometry relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-161" value="AD" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-160">
<mxGeometry x="0.7708" y="1" relative="1" as="geometry">
<mxPoint x="-1" y="-13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-157" value="&lt;div&gt;AD,&lt;/div&gt;&lt;div&gt;#Plaintext Octets&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="650" width="100" height="60" as="geometry" />
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-159" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="DWDa1s29pt83LbMmWAcP-157">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="450" y="680" as="sourcePoint" />
<mxPoint x="250" y="630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-171" value="AD" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="DWDa1s29pt83LbMmWAcP-159">
<mxGeometry x="-0.125" y="-1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DWDa1s29pt83LbMmWAcP-178" value="&quot;&quot;" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="510" y="870" width="60" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>