mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-20 17:52:50 +00:00
docs/mutable: describe deep-verify-cap scheme, update picture
This commit is contained in:
parent
3a331f6822
commit
456b437608
@ -73,13 +73,13 @@
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0816863"
|
||||
inkscape:cx="380.71238"
|
||||
inkscape:cy="831.05605"
|
||||
inkscape:cy="202.40798"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:window-width="909"
|
||||
inkscape:window-height="818"
|
||||
inkscape:window-x="30"
|
||||
inkscape:window-y="80" />
|
||||
inkscape:window-x="733"
|
||||
inkscape:window-y="78" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
@ -95,35 +95,49 @@
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2.26413918;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect2368"
|
||||
width="315.90887"
|
||||
height="110.6731"
|
||||
x="376.39645"
|
||||
y="630.0058" />
|
||||
<rect
|
||||
y="637.49078"
|
||||
x="566.81403"
|
||||
height="93.854874"
|
||||
width="114.42313"
|
||||
id="rect2376"
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect2158"
|
||||
width="257.28366"
|
||||
height="114.88015"
|
||||
x="47.86673"
|
||||
y="61.520912" />
|
||||
x="39.546387"
|
||||
y="40.257816" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
|
||||
x="70.603424"
|
||||
y="92.634285"
|
||||
x="62.283081"
|
||||
y="71.371185"
|
||||
id="text3129"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3131"
|
||||
x="70.603424"
|
||||
y="92.634285">DSA private key</tspan></text>
|
||||
x="62.283081"
|
||||
y="71.371185">DSA private key</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
|
||||
x="95.733459"
|
||||
y="136.91101"
|
||||
x="87.413116"
|
||||
y="115.64791"
|
||||
id="text3133"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3135"
|
||||
x="95.733459"
|
||||
y="136.91101">(256 bit string)</tspan></text>
|
||||
x="87.413116"
|
||||
y="115.64791">(256 bit string)</tspan></text>
|
||||
<rect
|
||||
y="65.110916"
|
||||
x="397.29385"
|
||||
@ -155,8 +169,9 @@
|
||||
y="144.09102">(2048+ bit string)</tspan></text>
|
||||
<path
|
||||
id="path3353"
|
||||
d="M 238.13697,115.37098 L 463.1106,118.96099"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
d="M 295.45488,119.06891 L 391.92545,138.37512"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3355"
|
||||
@ -232,7 +247,7 @@
|
||||
</g>
|
||||
<path
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 156.76353,177.59773 L 265.66035,235.0378"
|
||||
d="M 180.80007,155.41015 L 265.66035,235.0378"
|
||||
id="path3381"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
@ -245,42 +260,11 @@
|
||||
d="M 246.95959,311.03335 L 335.10982,399.67573"
|
||||
id="path3390"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g3580">
|
||||
<rect
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3571"
|
||||
width="245.91235"
|
||||
height="110.93723"
|
||||
x="414.16815"
|
||||
y="676.09784" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
|
||||
x="419.71503"
|
||||
y="781.48883"
|
||||
id="text3573"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3575"
|
||||
x="419.71503"
|
||||
y="781.48883">storage index</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
id="path3392"
|
||||
d="M 610.28119,571.7374 L 591.19146,679.79391"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 494.72088,326.74954 L 608.75662,464.38949"
|
||||
id="path3394"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 433.70505,568.96395 L 477.48012,682.56736"
|
||||
id="path3400" />
|
||||
<g
|
||||
id="g3439">
|
||||
<rect
|
||||
@ -323,38 +307,17 @@
|
||||
id="tspan3419"
|
||||
sodipodi:role="line">64</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g3434">
|
||||
<rect
|
||||
y="683.49371"
|
||||
x="533.42633"
|
||||
height="76.73204"
|
||||
width="116.48479"
|
||||
id="rect3398"
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3421"
|
||||
y="750.9809"
|
||||
x="622.1767"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="750.9809"
|
||||
x="622.1767"
|
||||
id="tspan3423"
|
||||
sodipodi:role="line">64</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="316.173"
|
||||
y="110.31459"
|
||||
x="312.47507"
|
||||
y="116.78596"
|
||||
id="text3449"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3451"
|
||||
x="316.173"
|
||||
y="110.31459">(math)</tspan></text>
|
||||
x="312.47507"
|
||||
y="116.78596">(math)</tspan></text>
|
||||
<g
|
||||
id="g3465"
|
||||
transform="translate(13.867236,-133.12547)">
|
||||
@ -384,33 +347,9 @@
|
||||
id="path3463"
|
||||
d="M 253.43097,494.08087 L 212.15366,395.97781"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Dot_m);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<g
|
||||
transform="translate(-59.166876,105.391)"
|
||||
id="g3470">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path3472"
|
||||
sodipodi:cx="167.33131"
|
||||
sodipodi:cy="525.40723"
|
||||
sodipodi:rx="28.658955"
|
||||
sodipodi:ry="27.734472"
|
||||
d="M 195.99027 525.40723 A 28.658955 27.734472 0 1 1 138.67236,525.40723 A 28.658955 27.734472 0 1 1 195.99027 525.40723 z" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="150.61719"
|
||||
y="530.36621"
|
||||
id="text3474"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3476"
|
||||
x="150.61719"
|
||||
y="530.36621">AES</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Dot_m);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 253.43096,545.85189 L 136.3461,617.85359"
|
||||
d="M 253.43096,545.85189 L 127.10127,610.45773"
|
||||
id="path3480"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
@ -427,13 +366,13 @@
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="183.972"
|
||||
x="166.40683"
|
||||
y="577.17822"
|
||||
id="text3486"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3488"
|
||||
x="183.972"
|
||||
x="166.40683"
|
||||
y="577.17822">H</tspan></text>
|
||||
<rect
|
||||
style="fill:#aaffaa;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
@ -485,27 +424,63 @@
|
||||
id="rect3508"
|
||||
width="115.5603"
|
||||
height="66.562737"
|
||||
x="90.599281"
|
||||
y="695.51196" />
|
||||
x="28.658957"
|
||||
y="697.3609" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="98.919609"
|
||||
y="731.56677"
|
||||
x="36.979286"
|
||||
y="733.41571"
|
||||
id="text3510"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3512"
|
||||
x="98.919609"
|
||||
y="731.56677">crypttext</tspan></text>
|
||||
x="36.979286"
|
||||
y="733.41571">crypttext</tspan></text>
|
||||
<g
|
||||
id="g4473"
|
||||
transform="translate(-28.658956,0)">
|
||||
<path
|
||||
transform="matrix(1.35846,0,0,1.35846,-107.59243,-82.815611)"
|
||||
sodipodi:type="arc"
|
||||
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:1.47225535;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path3472"
|
||||
sodipodi:cx="167.33131"
|
||||
sodipodi:cy="525.40723"
|
||||
sodipodi:rx="28.658955"
|
||||
sodipodi:ry="27.734472"
|
||||
d="M 195.99027 525.40723 A 28.658955 27.734472 0 1 1 138.67236,525.40723 A 28.658955 27.734472 0 1 1 195.99027 525.40723 z" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="103.00634"
|
||||
y="614.49408"
|
||||
id="text3474"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3476"
|
||||
x="103.00634"
|
||||
y="614.49408">AES</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text4469"
|
||||
y="633.57159"
|
||||
x="90.002838"
|
||||
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="633.57159"
|
||||
x="90.002838"
|
||||
id="tspan4471"
|
||||
sodipodi:role="line">readkey</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 64.836554,591.15152 L 113.23403,694.58562"
|
||||
d="M 36.177598,591.15152 L 84.575074,694.58562"
|
||||
id="path3514"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g3546"
|
||||
transform="translate(5.5468946,-21.263096)">
|
||||
transform="translate(-56.39343,-19.414131)">
|
||||
<rect
|
||||
y="811.99677"
|
||||
x="158.0865"
|
||||
@ -527,7 +502,7 @@
|
||||
</g>
|
||||
<path
|
||||
id="path3522"
|
||||
d="M 143.41756,763.10526 L 163.15609,819.39076"
|
||||
d="M 81.477236,764.95422 L 101.21577,821.23972"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
@ -572,7 +547,7 @@
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 234.01684,874.04316 L 289.81018,934.95107"
|
||||
d="M 203.50892,875.89212 L 269.47157,944.19589"
|
||||
id="path3551" />
|
||||
<path
|
||||
id="path3553"
|
||||
@ -582,26 +557,26 @@
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 317.22025,983.13208 L 476.55563,995.96691"
|
||||
d="M 317.22025,983.13208 L 355.44843,1012.6075"
|
||||
id="path3555" />
|
||||
<rect
|
||||
style="fill:#ccffaa;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3557"
|
||||
width="145.14374"
|
||||
height="63.789288"
|
||||
x="479.80637"
|
||||
y="944.19775" />
|
||||
x="355.92569"
|
||||
y="984.87494" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="493.67361"
|
||||
y="984.875"
|
||||
x="369.79294"
|
||||
y="1025.5521"
|
||||
id="text3559"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3561"
|
||||
x="493.67361"
|
||||
y="984.875">signature</tspan></text>
|
||||
x="369.79294"
|
||||
y="1025.5521">signature</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
@ -664,31 +639,31 @@
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="114.63582"
|
||||
y="793.50708"
|
||||
x="52.695496"
|
||||
y="795.35602"
|
||||
id="text3593"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3595"
|
||||
x="114.63582"
|
||||
y="793.50708">FEC</tspan></text>
|
||||
x="52.695496"
|
||||
y="795.35602">FEC</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="194.14133"
|
||||
x="158.08652"
|
||||
y="893.3512"
|
||||
id="text3597"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3599"
|
||||
x="194.14133"
|
||||
x="158.08652"
|
||||
y="893.3512">H</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="194.14133"
|
||||
x="158.08652"
|
||||
y="911.3512"
|
||||
id="tspan3605">merkle</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="194.14133"
|
||||
x="158.08652"
|
||||
y="929.3512"
|
||||
id="tspan3607">trees</tspan></text>
|
||||
<text
|
||||
@ -705,97 +680,134 @@
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="53.61998"
|
||||
y="169.48146"
|
||||
x="45.299637"
|
||||
y="148.21837"
|
||||
id="text3609"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3611"
|
||||
x="53.61998"
|
||||
y="169.48146">write-cap</tspan></text>
|
||||
x="45.299637"
|
||||
y="148.21837">write-cap</tspan></text>
|
||||
<g
|
||||
id="g3685">
|
||||
<rect
|
||||
y="683.49371"
|
||||
x="438.20468"
|
||||
height="74.88308"
|
||||
width="87.825829"
|
||||
id="rect3396"
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3425"
|
||||
y="753.75439"
|
||||
x="500.14499"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="753.75439"
|
||||
id="g2456"
|
||||
transform="translate(-25.885509,20.338614)">
|
||||
<g
|
||||
transform="translate(21.263096,77.656526)"
|
||||
id="g3580">
|
||||
<rect
|
||||
y="676.09784"
|
||||
x="414.16815"
|
||||
height="110.93723"
|
||||
width="245.91235"
|
||||
id="rect3571"
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3573"
|
||||
y="781.48883"
|
||||
x="419.71503"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
|
||||
xml:space="preserve"><tspan
|
||||
y="781.48883"
|
||||
x="419.71503"
|
||||
id="tspan3575"
|
||||
sodipodi:role="line">storage index</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(21.263096,77.656526)"
|
||||
id="g3685">
|
||||
<rect
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3396"
|
||||
width="87.825829"
|
||||
height="74.88308"
|
||||
x="438.20468"
|
||||
y="683.49371" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="500.14499"
|
||||
id="tspan3427"
|
||||
sodipodi:role="line">64</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3613"
|
||||
y="699.2099"
|
||||
x="442.82709"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="699.2099"
|
||||
y="753.75439"
|
||||
id="text3425"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3427"
|
||||
x="500.14499"
|
||||
y="753.75439">64</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="442.82709"
|
||||
id="tspan3615"
|
||||
sodipodi:role="line">SI:A</tspan></text>
|
||||
y="699.2099"
|
||||
id="text3613"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3615"
|
||||
x="442.82709"
|
||||
y="699.2099">SI:A</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g2449">
|
||||
<rect
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3398"
|
||||
width="116.48479"
|
||||
height="76.73204"
|
||||
x="554.68945"
|
||||
y="761.15027" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="643.43982"
|
||||
y="828.63745"
|
||||
id="text3421"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3423"
|
||||
x="643.43982"
|
||||
y="828.63745">64</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="559.31189"
|
||||
y="775.94189"
|
||||
id="text3617"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3619"
|
||||
x="559.31189"
|
||||
y="775.94189">SI:B</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="538.04877"
|
||||
y="698.2854"
|
||||
id="text3617"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3619"
|
||||
x="538.04877"
|
||||
y="698.2854">SI:B</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;color:#000000;fill:#ffd5d5;fill-opacity:1;fill-rule:nonzero;stroke:#2b0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect3621"
|
||||
width="287.51404"
|
||||
height="86.901352"
|
||||
x="413.24365"
|
||||
y="816.61914" />
|
||||
x="446.52499"
|
||||
y="893.35114" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="419.71503"
|
||||
y="897.04913"
|
||||
x="452.99637"
|
||||
y="973.78113"
|
||||
id="text3623"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3625"
|
||||
x="419.71503"
|
||||
y="897.04913">verify cap</tspan></text>
|
||||
x="452.99637"
|
||||
y="973.78113">verify cap</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="466.86362"
|
||||
y="637.26959"
|
||||
id="text3627"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3629"
|
||||
x="466.86362"
|
||||
y="637.26959">H</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="607.38495"
|
||||
y="640.04303"
|
||||
x="599.06464"
|
||||
y="612.30853"
|
||||
id="text3631"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3633"
|
||||
x="607.38495"
|
||||
y="640.04303">H</tspan></text>
|
||||
x="599.06464"
|
||||
y="612.30853">H</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
@ -810,14 +822,14 @@
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="221.87579"
|
||||
y="210.15868"
|
||||
x="210.782"
|
||||
y="208.30971"
|
||||
id="text3639"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3641"
|
||||
x="221.87579"
|
||||
y="210.15868">H</tspan></text>
|
||||
x="210.782"
|
||||
y="208.30971">H</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3643"
|
||||
@ -853,7 +865,7 @@
|
||||
sodipodi:role="line">H</tspan></text>
|
||||
<g
|
||||
id="g3662"
|
||||
transform="matrix(0.6558602,0,0,0.6558602,296.74467,666.29337)">
|
||||
transform="matrix(0.6558602,0,0,0.6558602,330.02604,743.02541)">
|
||||
<rect
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3664"
|
||||
@ -886,7 +898,7 @@
|
||||
</g>
|
||||
<g
|
||||
id="g3692"
|
||||
transform="matrix(0.7835586,0,0,0.7835586,105.723,286.39228)">
|
||||
transform="matrix(0.7835586,0,0,0.7835586,139.00437,363.12432)">
|
||||
<rect
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3694"
|
||||
@ -935,5 +947,198 @@
|
||||
id="tspan3717"
|
||||
x="56.393429"
|
||||
y="1032.0236">: stored in share</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="446.52499"
|
||||
y="614.15753"
|
||||
id="text3627"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3629"
|
||||
x="446.52499"
|
||||
y="614.15753">H</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 432.78057,566.1905 L 445.12324,634.49427"
|
||||
id="path3400" />
|
||||
<path
|
||||
id="path3392"
|
||||
d="M 610.28119,571.7374 L 622.62386,637.26772"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
|
||||
x="381.81125"
|
||||
y="735.26471"
|
||||
id="text2370"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2417"
|
||||
x="381.81125"
|
||||
y="735.26471">deep-verify cap</tspan></text>
|
||||
<rect
|
||||
y="634.88495"
|
||||
x="384.97354"
|
||||
height="74.105453"
|
||||
width="171.1761"
|
||||
id="rect2384"
|
||||
style="fill:#ffd5d5;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2386"
|
||||
y="704.75684"
|
||||
x="517.71021"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3448"
|
||||
x="517.71021"
|
||||
y="704.75684">192</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text2445"
|
||||
y="722.32196"
|
||||
x="656.38257"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="722.32196"
|
||||
x="656.38257"
|
||||
id="tspan2447"
|
||||
sodipodi:role="line">64</tspan></text>
|
||||
<path
|
||||
id="path3450"
|
||||
d="M 541.8695,710.40976 L 492.27184,780.56249"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 615.82808,731.67286 L 599.5118,779.63802"
|
||||
id="path3452" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3454"
|
||||
y="764.84814"
|
||||
x="514.93671"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="764.84814"
|
||||
x="514.93671"
|
||||
id="tspan3456"
|
||||
sodipodi:role="line">H</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text3458"
|
||||
y="764.84814"
|
||||
x="611.08289"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="764.84814"
|
||||
x="611.08289"
|
||||
id="tspan3460"
|
||||
sodipodi:role="line">H</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path3464"
|
||||
d="M 374.53816,691.92012 L 296.28156,715.84875"
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Dot_m);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<g
|
||||
id="g4458">
|
||||
<path
|
||||
transform="matrix(1.3740452,0,0,1.3740452,-169.82943,-411.35177)"
|
||||
sodipodi:type="arc"
|
||||
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:1.45555615;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path3468"
|
||||
sodipodi:cx="167.33131"
|
||||
sodipodi:cy="525.40723"
|
||||
sodipodi:rx="28.658955"
|
||||
sodipodi:ry="27.734472"
|
||||
d="M 195.99027 525.40723 A 28.658955 27.734472 0 1 1 138.67236,525.40723 A 28.658955 27.734472 0 1 1 195.99027 525.40723 z" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="43.377235"
|
||||
y="292.42844"
|
||||
id="text3470"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3472"
|
||||
x="43.377235"
|
||||
y="292.42844">AES</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text4454"
|
||||
y="314.62518"
|
||||
x="26.809992"
|
||||
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="314.62518"
|
||||
x="26.809992"
|
||||
id="tspan4456"
|
||||
sodipodi:role="line">writekey</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;marker-end:url(#Dot_m);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 119.38102,157.56927 L 73.481292,271.17268"
|
||||
id="path3462"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g4523"
|
||||
transform="translate(45.29964,-9.2448245)">
|
||||
<path
|
||||
d="M 195.99027 525.40723 A 28.658955 27.734472 0 1 1 138.67236,525.40723 A 28.658955 27.734472 0 1 1 195.99027 525.40723 z"
|
||||
sodipodi:ry="27.734472"
|
||||
sodipodi:rx="28.658955"
|
||||
sodipodi:cy="525.40723"
|
||||
sodipodi:cx="167.33131"
|
||||
id="path4482"
|
||||
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:1.47225535;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
sodipodi:type="arc"
|
||||
transform="matrix(1.35846,0,0,1.35846,-18.770385,15.179529)" />
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text4484"
|
||||
y="712.4892"
|
||||
x="191.82838"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="712.4892"
|
||||
x="191.82838"
|
||||
id="tspan4486"
|
||||
sodipodi:role="line">AES</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
x="208.69345"
|
||||
y="731.56671"
|
||||
id="text4488"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
y="731.56671"
|
||||
x="208.69345"
|
||||
id="tspan4517"
|
||||
sodipodi:role="line">deep</tspan><tspan
|
||||
y="745.56671"
|
||||
x="208.69345"
|
||||
id="tspan4519"
|
||||
sodipodi:role="line">verify</tspan><tspan
|
||||
y="759.56671"
|
||||
x="208.69345"
|
||||
id="tspan4521"
|
||||
sodipodi:role="line">key</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
sodipodi:linespacing="100%"
|
||||
id="text4532"
|
||||
y="697.36096"
|
||||
x="325.41782"
|
||||
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
|
||||
xml:space="preserve"><tspan
|
||||
y="697.36096"
|
||||
x="325.41782"
|
||||
id="tspan4534"
|
||||
sodipodi:role="line">H</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 56 KiB |
@ -128,9 +128,14 @@ The pubkey hash is hashed by itself and truncated to 64 bits to form the last
|
||||
write-cap.
|
||||
|
||||
The first 192 bits of the read-cap are hashed and truncated to form the first
|
||||
64 bits of the storage index. The last 64 bits of the read-cap are hashed to
|
||||
form the last 64 bits of the storage index. This gives us a 128-bit storage
|
||||
index.
|
||||
192 bits of the "traversal cap". The last 64 bits of the read-cap are hashed
|
||||
to form the last 64 bits of the traversal cap. This gives us a 256-bit
|
||||
traversal cap.
|
||||
|
||||
The first 192 bits of the traversal-cap are hashed and truncated to form the
|
||||
first 64 bits of the storage index. The last 64 bits of the traversal-cap are
|
||||
hashed to form the last 64 bits of the storage index. This gives us a 128-bit
|
||||
storage index.
|
||||
|
||||
The verification-cap is the first 64 bits of the storage index plus the
|
||||
pubkey hash, 320 bits total. The verification-cap doesn't need to be
|
||||
@ -150,6 +155,10 @@ encrypt the actual file data. This is to avoid key-reuse. An outstanding
|
||||
issue is how to avoid key reuse when files are modified in place instead of
|
||||
being replaced completely; this is not done in SDMF but might occur in MDMF.
|
||||
|
||||
The master data encryption key is used to encrypt data that should be visible
|
||||
to holders of a write-cap or a read-cap, but not to holders of a
|
||||
traversal-cap.
|
||||
|
||||
The private key is hashed one way to form the salt, and a different way to
|
||||
form the "write enabler master". For each storage server on which a share is
|
||||
kept, the write enabler master is concatenated with the server's nodeid and
|
||||
@ -163,6 +172,18 @@ be used by applications which wish to store some data in a form that is only
|
||||
available to those with a write-cap, and not to those with merely a read-cap.
|
||||
This is used to implement transitive read-onlyness of dirnodes.
|
||||
|
||||
The traversal cap is hashed to work the "traversal key", which can be used by
|
||||
applications that wish to store data in a form that is available to holders
|
||||
of a write-cap, read-cap, or traversal-cap.
|
||||
|
||||
The idea is that dirnodes will store child write-caps under the writekey,
|
||||
child names and read-caps under the read-key, and verify-caps (for files) or
|
||||
deep-verify-caps (for directories) under the traversal key. This would give
|
||||
the holder of a root deep-verify-cap the ability to create a verify manifest
|
||||
for everything reachable from the root, but not the ability to see any
|
||||
plaintext or filenames. This would make it easier to delegate filechecking
|
||||
and repair to a not-fully-trusted agent.
|
||||
|
||||
The public key is stored on the servers, as is the encrypted salt, the
|
||||
(non-encrypted) data salt, the encrypted data, and a signature. The container
|
||||
records the write-enabler, but of course this is not visible to readers. To
|
||||
@ -173,19 +194,20 @@ tree, the encoding parameters, and the encrypted salt. "R" itself covers the
|
||||
hash trees and the share data.
|
||||
|
||||
The read-write URI is just the private key. The read-only URI is the read-cap
|
||||
key. The verify-only URI contains the the pubkey hash and the first 64 bits
|
||||
of the storage index.
|
||||
key. The deep-verify URI is the traversal-cap. The verify-only URI contains
|
||||
the the pubkey hash and the first 64 bits of the storage index.
|
||||
|
||||
FMW:b2a(privatekey)
|
||||
FMR:b2a(readcap)
|
||||
FMT:b2a(traversalcap)
|
||||
FMV:b2a(storageindex[:64])b2a(pubkey-hash)
|
||||
|
||||
Note that this allows the read-only and verify-only URIs to be derived from
|
||||
the read-write URI without actually retrieving any data from the share, but
|
||||
instead by regenerating the public key from the private one. Uses of the
|
||||
read-only or verify-only caps must validate the public key against their
|
||||
pubkey hash (or its derivative) the first time they retrieve the pubkey,
|
||||
before trusting any signatures they see.
|
||||
Note that this allows the read-only, deep-verify, and verify-only URIs to be
|
||||
derived from the read-write URI without actually retrieving any data from the
|
||||
share, but instead by regenerating the public key from the private one. Users
|
||||
of the read-only, deep-verify, or verify-only caps must validate the public
|
||||
key against their pubkey hash (or its derivative) the first time they
|
||||
retrieve the pubkey, before trusting any signatures they see.
|
||||
|
||||
The SDMF slot is allocated by sending a request to the storage server with a
|
||||
desired size, the storage index, and the write enabler for that server's
|
||||
|
Loading…
x
Reference in New Issue
Block a user