9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Nathaniel W Filardo <nwf@cs.jhu.edu>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: [9fans] Some arithmetic [was: Re:  Sources Gone?]
Date: Wed,  4 Feb 2009 11:40:51 -0500	[thread overview]
Message-ID: <20090204164051.GU7757@masters6.cs.jhu.edu> (raw)
In-Reply-To: <140e7ec30902040040m64175f7eq771bf87b38153669@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3489 bytes --]

On Wed, Feb 04, 2009 at 05:40:01PM +0900, sqweek wrote:
> On Tue, Feb 3, 2009 at 9:54 PM, erik quanstrom <quanstro@quanstro.net> wrote:
> >> Yes, but the content isn't guaranteed to be from a single user.  In
> >> fact, venti has no clue.  Change that and it's not venti anymore.
> >
> > exactly.  but it's important to note that it's crypto hard to guess
> > somebody else's block.
> 
>  Is it? Well, to guess a specific block, obviously.
>  I'm pretty ignorant about the structures used to store trees in venti
> - would it be possible to reconstruct the block containing the root of
> a particular tree given say, /n/dump?

Presumably only if you could read all the data under /n/dump, in which case
there isn't a security risk.

>  Presumably something along the lines of "vac /n/dump/2009/0204" would
> suffice, but failing that you still don't need to guess exactly the
> block you are looking for... How long would it take to brute force a
> block of a tree (giving you references to lots of other blocks) from
> venti?

Assuming SHA-1 is indeed cryptographically secure (which is the assumption
made by the venti paper), you know only the type of the target block and no
bits of its score regardless of any partial information you know about the
block (total information obviously gives you the score).  Assuming you don't
care which block you read from the venti, and that the venti is storing K
blocks of the requisite type, the odds of you guessing the score of any
block stored is K/2^160.

If you're after data blocks and the venti is storing an exbibyte (2^60 bytes
== 2^47 8Ki blocks), I expect you'd have to take 2^113 queries to find your
first data block.

Assuming the venti is backing a fossil and has been running for 2^13 days
(roughly 22 years), there are 3*2^13 "root-like" scores stored (AFAIK: one
root for today's dump, one root of all past dumps, and one block that stores
both of these scores), so I expect you'd take 2^(147)/3 queries to find one.
Obviously some of these are more powerful than others, in terms of exposure,
so you might be relatively lucker or unluckier if you found a root block, in
which case you probably want to go buy as many lottery tickets as you can.

Given those odds, if somebody wants my vac scores, they'll break into my
office and steal the venti, or employ rubber hose cryptography.  Or maybe
SHA-1's really, really broken and has a much smaller output domain than
2^160...  in which case, somebody should write a version of venti that uses
one of the SHA2 variants or another hash.

If you need additional assurances, bear in mind that somewhere around 2^192
addition operations requires 32 years with a perfect Dyson sphere around the
sun and a thermodynamically perfect computer at 3.2K. Harnessing a typical
supernova gives 2^219 addition operations (Schneier, Applied Cryptography,
pp 158).  Assuming those figures are right, and that we lack a Dyson sphere
and there are no conveniently nearby supernovae, but that we can turn the
entire sun-facing solid angle of the earth into a similarly perfect
computer, we get 2^192/2^32*(4.5 x 10^(-10)) ~~ 2^129 addition operations in
a year (that magic number is the area of a circle with radius matching that
of the earth to the entire surface area of a sphere with radius one
astronomical unit).  That might be enough to find a data block with high
odds but not a root block under the above assumptions. :)

--nwf;

[-- Attachment #2: Type: application/pgp-signature, Size: 204 bytes --]

  reply	other threads:[~2009-02-04 16:40 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-23 11:56 [9fans] Sources Gone? Gregory Pavelcak
2009-01-23 14:15 ` erik quanstrom
2009-01-23 14:54 ` lucio
2009-01-23 15:09   ` erik quanstrom
2009-01-27 22:59   ` Uriel
2009-01-27 23:32     ` Russ Cox
2009-01-28  0:58       ` Kenji Arisawa
2009-01-28  5:06       ` Uriel
2009-01-28 11:46         ` Iruata Souza
2009-01-28 12:41           ` Charles Forsyth
2009-01-28 13:53         ` erik quanstrom
2009-01-29 12:12           ` Uriel
2009-01-29 13:37             ` erik quanstrom
2009-01-29 16:45               ` Roman V. Shaposhnik
2009-01-29 16:15             ` ron minnich
2009-01-29 16:34               ` Roman V. Shaposhnik
2009-01-29 16:30             ` Roman V. Shaposhnik
2009-01-29 17:18               ` Russ Cox
2009-01-29 17:30                 ` erik quanstrom
2009-01-29 17:43                   ` Russ Cox
2009-01-29 17:39                 ` gas
2009-01-29 21:09                 ` Roman V. Shaposhnik
2009-01-29 21:42                   ` erik quanstrom
2009-01-29 23:05                     ` Roman V. Shaposhnik
2009-01-29 23:49                       ` erik quanstrom
2009-01-30  0:28                         ` Russ Cox
2009-01-30  4:46                           ` [9fans] Venti and version control (Was: Sources Gone?) lucio
2009-01-30  5:18                       ` [9fans] Sources Gone? lucio
2009-01-31 13:45                         ` Bruce Ellis
2009-01-31 18:12                           ` Akshat Kumar
2009-01-31 18:44                             ` Bruce Ellis
2009-02-02 22:33                         ` Roman V. Shaposhnik
2009-02-02 22:43                           ` erik quanstrom
2009-02-02 23:26                             ` Roman V. Shaposhnik
2009-02-02 23:39                               ` erik quanstrom
2009-02-03 10:04                             ` Richard Miller
2009-02-03  4:23                           ` lucio
2009-02-03  5:23                             ` erik quanstrom
2009-02-03  5:47                               ` lucio
2009-02-03 12:54                                 ` erik quanstrom
2009-02-03 13:38                                   ` roger peppe
2009-02-03 14:01                                     ` erik quanstrom
2009-02-03 16:13                                       ` Anthony Sorace
2009-02-03 16:22                                         ` erik quanstrom
2009-02-03 16:51                                       ` roger peppe
2009-02-03 16:55                                         ` erik quanstrom
2009-02-03 17:30                                         ` Brian L. Stuart
2009-02-05  1:24                                           ` Roman V. Shaposhnik
2009-02-03 17:42                                       ` lucio
2009-02-03 17:40                                     ` lucio
2009-02-03 17:51                                       ` erik quanstrom
2009-02-04  8:40                                   ` sqweek
2009-02-04 16:40                                     ` Nathaniel W Filardo [this message]
2009-02-04 17:10                                       ` [9fans] Some arithmetic [was: Re: Sources Gone?] Nathaniel W Filardo
2009-02-04 17:49                                       ` hiro
2009-02-05 11:19                                         ` Dave Eckhardt
2009-02-05 17:38                                           ` Russ Cox
2009-02-05 17:41                                             ` erik quanstrom
2009-02-05 18:08                                               ` Roman V. Shaposhnik
2009-02-05 18:22                                                 ` Micah Stetson
2009-02-05 18:29                                                   ` Roman V. Shaposhnik
2009-02-05 18:31                                                     ` erik quanstrom
2009-02-05 18:32                                               ` hiro
2009-01-30  4:25                     ` [9fans] Sources Gone? lucio
2009-01-29 22:33                   ` Russ Cox
2009-01-29 22:58                     ` Roman V. Shaposhnik
2009-01-29 23:06                       ` Russ Cox
2009-01-29 12:13           ` kokamoto
2009-01-27 23:11   ` Patrick Kristiansen
2009-01-28  0:11     ` Tharaneedharan Vilwanathan
2009-01-28  5:55       ` lucio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090204164051.GU7757@masters6.cs.jhu.edu \
    --to=nwf@cs.jhu.edu \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).