[tahoe-lafs-trac-stream] [tahoe-lafs] #280: get_hash method in webapi for extension caching logic.

tahoe-lafs trac at tahoe-lafs.org
Wed Feb 22 00:53:10 UTC 2012


#280: get_hash method in webapi for extension caching logic.
------------------------------+--------------------------------------------
     Reporter:  nejucomo      |      Owner:  zooko
         Type:  enhancement   |     Status:  assigned
     Priority:  minor         |  Milestone:  undecided
    Component:  code-         |    Version:  0.7.0
  frontend-web                |   Keywords:  webapi cache extension newcaps
   Resolution:                |
Launchpad Bug:                |
------------------------------+--------------------------------------------

Comment (by davidsarah):

 Replying to [comment:12 nejucomo]:
 > So for this use case to be satisfied by verify caps I need this command:
 >
 > {{{ $ tahoe spit_out_verify_cap < myblob.bin }}}
 >
 > This command should only read {{{myblob.bin}}} but should not do any
 networking or use any state other than the cap and {{{myblob.bin}}} (so
 that any tahoe user on any grid can run it).
 >
 > Is it feasible to make this command?  That would satisfy my goal for
 this ticket.

 Yes, it is feasible to make this command. Depending on the cap protocol,
 it might have to do all the work of erasure coding the file and computing
 a Merkle hash of the ciphertext shares before it can compute the verify
 cap.

 Your use case could also be met with a Merkle hash of the plaintext and
 convergence secret, which could be computed without erasure coding. But
 there's a tradeoff between being able to do that and the cap size: in
 order to be able to recover the plaintext hash from the read cap without
 network access, the encryption bits and the integrity bits of the read cap
 must be separate, which means that the minimum immutable read cap size for
 a security level of 2^K^ against 2^T^ targets is 3K + T (2K integrity bits
 and K+T confidentiality bits). In contrast the scheme with the shortest
 read caps so far without this constraint is Rainhill 3, which has an
 immutable read cap size of only 2K, the minimum possible to achieve 2^K^
 security against collision attacks.

 (A simplified version of Rainhill 3 without traversal caps is [https
 ://tahoe-lafs.org/~davidsarah/immutable-rainhill-3x.png here]. It does
 allow you to compute a plaintext hash P, or an encrypted hash EncP_R,
 before doing erasure coding, but in order to recover that value from the
 read cap, you also need EncK_R which is stored on the server.)

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/280#comment:14>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list