![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
2^8 = 256. No further explanation needed, really.
2^16 = 65,536. A big number, certainly, but hardly astromonical.
2^24 = 16,777,216. Now that's quite large.
2^32 = 4,294,967,296. In other words, 4.3 billion. Now we're getting
into the territory that normal English is inadequat to describe.
2^64 = 1.844 * 10^19.
Now let's stop and think about that for a moment. Just how large *is*
that, exactly?
Wolfram Alpha claims that the volume of the world's oceans is about
1.338 * 10^21 L. (This estimate probably varies wildly depending on who
you ask.) So that's slightly larger than 2^64 L. [Actually 2^64 L = 1.4%
of the volume of the oceans.]
Wolfram Alpha also claims that the number of grains of sand on this
planet is "between 10^20 and 10^24". So again, 2^64 is somewhat less
than the number of individual grains of sand on our entire planet.
I asked Alpha for "the number of fish in the sea". Well, it gave me an
"estimate of total ocean fish biomass", which comes out to about 3
gigatons. Even if you measure in grams, it's still 2 * 10^15 g. So 2^64
g is [vastly] more than the total weight of all the fish in the sea.
The estimated total number of cells in the human body is a piffling
10^14. So 2^64 is about a hundred thousand times bigger. So... the total
number of living cells in a hundred thousand people then?
The number of stars in the observable universe is reported as 10^22, so
that's somewhat larger than 2^64.
Apparently 2^64 atoms of Carbon-12 works out to just 30.6 micrograms.
And that's pretty unimpressive. So it seems better to quote that against
the number of cells rather than the number of atoms. (Atoms being JUST
SLIGHTLY SMALLER than entire cells of course.)
2^64 seconds = roughly 600 billion years. That's 43 times the current
age of the universe. So that's quite impressive.
2^64 meters = 1,950 light years. That's about a quarter of the distance
from here to the Crab Nebula. Or 3% of the galactic radius.
Now, here's a thought. MD5 produces a 128-bit hash value. So what are
the changes of two random datums having the same hash?
2^128 = 3.40 * 10^38
Hooookay then. That's one God-damned big number!
It's easily way, way more than the number of stars in the observable
portion of the universe. (About 5 * 10^15 times more, in fact.)
2^128 atoms of C12 is 5.65 megatons. (!!) That's apparently about twice
the mass of all the humans on Earth currently alive.
In terms of time, that's obviously going to be stupidly huge, given
thatn 2^64 seconds is already far older than the universe itself.
In distance, 2^128 m = 3.597 * 10^22 light years. (!) Which is almost
quadruple the diameter of the observable universe. (!!)
2^128 L = 1.2 * volume of Betelgeuse. (That actually exists??)
Personally I think the number of "things" type of comparison is the most
impressive (we're thinking about combinations originally, right?), but
I'm struggling to come up with things that there can be 10^38 of.
2^128 E. coli cells would have a volume about 1/5th of planet Earth.
(That's total volume, of course. The cells are actually tubular, so
there'd be some extra space. But then, maybe the cell size depends on
the surrounding pressure anyway? Who knows!)
2^64 E. coli cells weighs about twice as much as a large elephant, or
half the typical weight of a blue whale. But 2^128 cells? That's 4% of
the mass of planet Earth.
Oh, and look at that. Wikipedia claims that the total number of
bacterial cells alive on our planet right now is roughly 10^30. Well
that makes sense then...
When we reach 2^256, Wolfram Alpha happily informs me that this is 0.12%
of the number of atoms in the observable universe. (!!!)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> Now, here's a thought. MD5 produces a 128-bit hash value. So what are
> the changes of two random datums having the same hash?
>
> 2^128 = 3.40 * 10^38
And yet, it's not possible to just keep a record of MD5 hashes and
backward-compute the file that generated it (or even a reasonably small
list and a note as to which one should be used) (and save an awful lot
of storage space).
:(
--
Tim Cook
http://empyrean.freesitespace.net
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tim Cook wrote:
> Invisible wrote:
>> Now, here's a thought. MD5 produces a 128-bit hash value. So what are
>> the changes of two random datums having the same hash?
>>
>> 2^128 = 3.40 * 10^38
>
> And yet, it's not possible to just keep a record of MD5 hashes and
> backward-compute the file that generated it (or even a reasonably small
> list and a note as to which one should be used) (and save an awful lot
> of storage space).
>
> :(
Indeed. For although the number of possible MD5 hashes may be utterly
vast, the number of possible 4GB files is so MIND-PARALYSINGLY GIGANTIC
that you can't shoe-horn all the members of one set into the other.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tim Cook <z99### [at] gmail com> wrote:
> Invisible wrote:
> > Now, here's a thought. MD5 produces a 128-bit hash value. So what are
> > the changes of two random datums having the same hash?
> >
> > 2^128 = 3.40 * 10^38
> And yet, it's not possible to just keep a record of MD5 hashes and
> backward-compute the file that generated it (or even a reasonably small
> list and a note as to which one should be used) (and save an awful lot
> of storage space).
Well, rather obviously. An MD5 has can be used to store at most 64 bytes
of data (meaning that all possible combinations of 64 bytes can be stored
there, but no more).
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> Well, rather obviously. An MD5 has can be used to store at most 64 bytes
> of data
Did you mean 16, or am I missing something? Even if the internals track 64
bytes, a 128-bit resultant hash is only 16 bytes.
--
Darren New, San Diego CA, USA (PST)
Forget "focus follows mouse." When do
I get "focus follows gaze"?
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid XP v8 wrote:
> Indeed. For although the number of possible MD5 hashes may be utterly
> vast, the number of possible 4GB files is so MIND-PARALYSINGLY GIGANTIC
> that you can't shoe-horn all the members of one set into the other.
However, there's a practical difference between possible files and files
that actually exist. And, to a certain extent, a central database of
files and their associated hashes would allow client computers to just
have the hash, and ask the server for the associated file.
...leaving the central server vulnerable, defeating the notion of
widespread data redundancy.
XD
--
Tim Cook
http://empyrean.freesitespace.net
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tim Cook wrote:
> However, there's a practical difference between possible files and files
> that actually exist.
Notionally, of all the 4GB files that can hypothetically exist, only a
vanishingly tiny fraction of them will ever exist in our universe. Even
assuming that every star system in the entire observable universe has a
sentiant lifeform that has built binary computers with secondary storing
using file-based organisation...
...and yet, you can still create any such file you want. Weird, isn't it?
> And, to a certain extent, a central database of
> files and their associated hashes would allow client computers to just
> have the hash, and ask the server for the associated file.
>
> ...leaving the central server vulnerable, defeating the notion of
> widespread data redundancy.
>
> XD
Yay, destruction! :-D
Also: Isn't this almost exactly what Amazon S3 could be considered to be
doing? (Or, in fact, The Internet as a whole?)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Tue, 12 Jan 2010 13:31:34 +0000, Invisible wrote:
> 2^64 = 1.844 * 10^19.
Start looking at tetration if you want big numbers. :-)
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New <dne### [at] san rr com> wrote:
> Warp wrote:
> > Well, rather obviously. An MD5 has can be used to store at most 64 bytes
> > of data
> Did you mean 16, or am I missing something? Even if the internals track 64
> bytes, a 128-bit resultant hash is only 16 bytes.
For some reason I misremembered MD5 as being 512 bits long, even though
it really is only 128 bits. The "512 bits" might have been mentioned in
another context in this thread, which is why I got confused.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid XP v8 wrote:
> Tim Cook wrote:
>> ...leaving the central server vulnerable, defeating the notion of
>> widespread data redundancy.
> Also: Isn't this almost exactly what Amazon S3 could be considered to be
> doing? (Or, in fact, The Internet as a whole?)
Well, the internet as a whole is based around the idea that data gets
spread out and copied over various computers all over the world...the
exact opposite of the central-data-repository idea. Haven't heard of
Amazon S3.
--
Tim Cook
http://empyrean.freesitespace.net
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |