> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss-
> boun...@opensolaris.org] On Behalf Of Gregg Wonderly
> Since there is a finite number of bit patterns per block, have you tried
> calculate the SHA-256 or SHA-512 for every possible bit pattern to see if
> is ever a collision? If you found an algorithm that produced no
> any possible block bit pattern, wouldn't that be the win?
Maybe I misunderstand what you're saying, but if I got it right, what you're
saying is physically impossible to do in the time of the universe... And
guaranteed to fail even if you had all the computational power of God.
I think you're saying ... In a block of 128k, sequentially step through all
the possible values ... starting with 0, 1, 2, ... 2^128k ... and compute
the hashes of each value, and see if you ever find a hash collision. If
this is indeed what you're saying, recall, the above operation will require
on order 2^128k operations to complete. But present national security
standards accept 2^256 operations as satisfactory to protect data from brute
force attacks over the next 30 years. Furthermore, in a 128k block, there
exist 2^128k possible values, while in a 512bit hash, there exist only 2^512
possible values (which is still a really huge number.) This means there
will exist at least 2^127.5k collisions. However, these numbers are so
astronomically universally magnanimously huge, it will still take more than
a lifetime to find any one of those collisions. So it's impossible to
perform such a computation, and if you could, you would be guaranteed to
find a LOT of collisions.
zfs-discuss mailing list