There are many measures. One realm of them focus on the mixing properties
of the design as would be a consideration in cypher systems. The other
“experimentalist” realm considers how the hash performs compared to an
ideal hash function.

The latter approach is suitable for a broader range of developers. A google
search for measuring hash quality will quickly lead to expectations about
collisions from a random variable and also to equations for statistical
measures.

I recently did just this in an effort (successful!) to make a well-known
simple hash function be its best with minor single CPU cycle changes.

On Mon, Feb 4, 2019 at 11:49 AM Serhat Şevki Dinçer <jfcga...@gmail.com>
wrote:

> Hi,
>
> What is the minimum sum of input lengths len(s1)+len(s2) such that:
>
> - s1, s2 are distinct utf8 strings
> - Txt2int(s1) = Txt2int(s2)
>
> for the below simple hash function ?
>
> func Txt2int(s string) uint64 {
>         x := uint64(len(s))
>         for i := len(s) - 1; i >= 0; i-- {
>                 x = x<<15 ^ x>>49
>                 x += uint64(s[i])
>         }
>         return x
> }
>
> In general, how good is "minimum sum of colliding input lengths" as a
> measure of collision-resistance for a (not necessarily cryptographic) hash
> function ?
>
> Thanks..
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
-- 

*Michael T. jonesmichael.jo...@gmail.com <michael.jo...@gmail.com>*

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to