]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
docs/mutable: describe deep-verify-cap scheme, update picture
authorBrian Warner <warner@allmydata.com>
Wed, 5 Mar 2008 23:54:26 +0000 (16:54 -0700)
committerBrian Warner <warner@allmydata.com>
Wed, 5 Mar 2008 23:54:26 +0000 (16:54 -0700)
docs/mutable-DSA.svg
docs/mutable-DSA.txt

index c60b9d431d47a29a4b9cc2056646b68b95c1106e..6870d834a53e2df6d4ae426cfd384442102553c8 100644 (file)
      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>
      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"
          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"
     </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
        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
            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)">
        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
     <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"
        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"
     </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
     <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"
     <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"
     <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
     <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"
     <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"
          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"
     </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"
          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>
index 568f3db4df95eea51720694e4283c4ca88111dfb..4875d8742e06bbb72f82785197030327b859b0f0 100644 (file)
@@ -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