lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Sun, Mar 25, 2012 at 2:22 PM, Frank Meier-Dörnberg <frank@md-web.de> wrote:
> Noise? what noise...?
> Please give a pointer to your findings ( I found nothing on a first scim by
> googleing "holomorph hash").
>
> Wouldn't
>
>
> Hash( Str1 .. Str2) == Hash( Str1 ) * Hash( Str2 )
>
> scrictly leads down to
>
> Hash( Str) == Hash( Str[1] ) * Hash( Str[2] ) * ... * Hash(Str[#Str])
>
> (read: Hash have to be defined char wise)
>
> what ever '*' means?
>

I suspect this is the meaning intended:
http://en.wikipedia.org/wiki/Homomorphic_encryption

Since a hash function can be considered a form of encryption, the same
concepts can apply -- ciphertext such that there exists an operation
that is equivalent to enciphering the result of a different operation
on the inputs.

In this case he's suggesting that there may exist a hash function such
that the hash of two concatenated strings is equal to the result of
some operation combining the hashes of the individual strings.

The trivial example of such a function is a checksum. checksum("abc")
+ checksum("def") == checksum("abcdef") trivially from the definition
of a checksum. But obviously a checksum is a bad choice of a hash
function as checksum("abc") == checksum("cba"), which would cause far,
far too many collisions.

/s/ Adam