openpgp-notes/book/assets/drawio/SKESKv6-decryption.drawio

221 lines
18 KiB
Plaintext

<mxfile host="app.diagrams.net" modified="2023-12-07T19:05:31.133Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="F7bl6ZQev9I7Cq7ylksM" version="22.1.7" type="device">
<diagram name="Seite-1" id="ocT50L08296YUH-PY7lG">
<mxGraphModel dx="2261" dy="791" 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="h-jzOOFD72CvbkbpJgZJ-12" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="380" y="70" width="160" height="690" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-12" value="" style="whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry width="160" height="650" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-13" value="Encrypted Message" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="20" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-17" value="" style="whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="20" y="330" width="120" height="310" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-18" value="SEIPDv2" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="50" y="330" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-19" value="Salt: 49f8edc3" style="rounded=0;whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="30" y="480" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="_W93K0Xoa3x0vg-rA2AI-20" value="Ciphertext" style="rounded=0;whiteSpace=wrap;html=1;" parent="h-jzOOFD72CvbkbpJgZJ-12" vertex="1">
<mxGeometry x="30" y="520" width="100" height="70" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-41" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="360" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-42" value="AEAD Mode" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="400" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-43" value="Chunk Size" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="440" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-44" value="AEAD Auth Tag" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-12">
<mxGeometry x="30" y="600" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-4" value="Passphrase" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
<mxGeometry x="-60" y="60" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-13" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="400" y="100" width="120" height="270" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry width="120" height="270" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-3" value="&lt;div&gt;SKESKv6&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="30" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-5" value="Cipher Algo." style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="30" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-6" value="AEAD Mode" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="70" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-7" value="S2K Identifier" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="110" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-8" value="IV: 0xC0FFEE" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="150" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-9" value="Enc. Session-Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="190" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-10" value="AEAD Auth Tag" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="h-jzOOFD72CvbkbpJgZJ-13">
<mxGeometry x="10" y="230" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-14" value="S2K Function" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="185" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-16" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-4" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="140" y="190" as="sourcePoint" />
<mxPoint x="190" y="140" as="targetPoint" />
<Array as="points">
<mxPoint x="80" y="100" />
<mxPoint x="100" y="130" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-31" 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="h-jzOOFD72CvbkbpJgZJ-17" target="h-jzOOFD72CvbkbpJgZJ-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-17" value="&lt;div&gt;HKDF&lt;/div&gt;(no salt)" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="285" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-18" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-14" target="h-jzOOFD72CvbkbpJgZJ-17">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="100" y="250" as="sourcePoint" />
<mxPoint x="300" y="345" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-19" value="IKM" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="50" y="260" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-29" 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;shape=flexArrow;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-20" target="h-jzOOFD72CvbkbpJgZJ-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-20" value="&lt;div&gt;Packet Type ID,&lt;/div&gt;&lt;div&gt;Packet Version,&lt;/div&gt;&lt;div&gt;Cipher Algo,&lt;/div&gt;&lt;div&gt;AEAD Mode&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="210" y="290" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-15" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;shape=flexArrow;entryX=1;entryY=0.5;entryDx=0;entryDy=0;width=10;endSize=4;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-7" target="h-jzOOFD72CvbkbpJgZJ-14">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="410" as="sourcePoint" />
<mxPoint x="270" y="150" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-6" target="h-jzOOFD72CvbkbpJgZJ-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-5" target="h-jzOOFD72CvbkbpJgZJ-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-2" target="h-jzOOFD72CvbkbpJgZJ-20">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="400" y="120" />
<mxPoint x="240" y="120" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-27" value="Packet Type and Version" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="240" y="100" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-36" 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="h-jzOOFD72CvbkbpJgZJ-30" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-30" value="Key Encryption Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="440" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-32" value="Info" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="150" y="290" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-63" 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="h-jzOOFD72CvbkbpJgZJ-34" target="h-jzOOFD72CvbkbpJgZJ-62">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-34" value="AEAD" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="570" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-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.5;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-37" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-37" value="&lt;div&gt;Packet Type ID,&lt;/div&gt;&lt;div&gt;Packet Version,&lt;/div&gt;&lt;div&gt;Cipher Algo,&lt;/div&gt;&lt;div&gt;AEAD Mode&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="210" y="575" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-17" target="h-jzOOFD72CvbkbpJgZJ-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="400" y="420" />
<mxPoint x="240" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-40" value="Packet Type and Version" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="240" y="400" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-41" target="h-jzOOFD72CvbkbpJgZJ-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-42" target="h-jzOOFD72CvbkbpJgZJ-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;shape=flexArrow;" edge="1" parent="1" source="_W93K0Xoa3x0vg-rA2AI-19" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="360" y="565" />
<mxPoint x="360" y="660" />
<mxPoint x="130" y="660" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-48" value="Salt" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="130" y="634.5" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-49" value="AD" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="150" y="570" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-51" value="Key" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="70" y="510" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-9" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="580" as="targetPoint" />
<Array as="points">
<mxPoint x="360" y="305" />
<mxPoint x="360" y="370" />
<mxPoint x="220" y="370" />
<mxPoint x="220" y="500" />
<mxPoint x="120" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-57" value="Ciphertext" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="140" y="480" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="h-jzOOFD72CvbkbpJgZJ-10" target="h-jzOOFD72CvbkbpJgZJ-34">
<mxGeometry relative="1" as="geometry">
<mxPoint x="116" y="540" as="targetPoint" />
<Array as="points">
<mxPoint x="370" y="345" />
<mxPoint x="370" y="380" />
<mxPoint x="230" y="380" />
<mxPoint x="230" y="530" />
<mxPoint x="130" y="530" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-61" value="Auth Tag" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="140" y="510" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="h-jzOOFD72CvbkbpJgZJ-62" value="Session Key" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="40" y="680" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>