
在计算机科学领域,如果不遇到散列或散列函数,就很难走得太远。这个概念出现在整个安全领域,从加密到密码存储再到加密,更普遍的是,每当大型或复杂的数据必须有效地映射到较小的固定大小的数据集时。散列使得计算机查找数据的过程比执行搜索快得多,并且掌握后可以变得非常强大。 [Malte] 对哈希函数进行了一些研究, 似乎发现了一种称为斐波那契哈希的方法,该方法不仅似乎已被很大程度上遗忘,而且进一步加快了查找过程。
在典型的散列操作中,数据以某种方式进行转换,其中部分新值用于将其存储在特定位置。第二步通常使用整数模函数来完成。但任何哈希运算的问题是,在执行取模运算后,两个不同的数据最终会得到相同的值,从而导致这两个不同的数据被放置在同一点。另一方面,斐波那契哈希使用黄金比例而不是模函数来映射数据的最终位置,从而减少此类冲突的实例,同时速度也快得多。由于基于斐波那契数,只要输入数据本身没有大量斐波那契数,它似乎也可以更好地更均匀地使用较小的固定大小集。
通过 [Malte] 在他的论文中进行的数学计算表明,至少就执行哈希函数的映射部分而言,斐波那契哈希的性能比整数模要好得多。一些评论提到它是一种更通用的方法的特定类型,称为乘法哈希。对于那些在代码中使用哈希函数的人来说,无论哪种方式都值得一看,并且 [Malte] 承认自己并不了解计算机科学这一分支的所有内容,但仍然对这种特定方法进行了令人难以置信的深入研究。如果您是这个主题的新手,请看一下这个为比特币钱包提供巨额赏金的人,这说明了为什么反向哈希如此困难。
原文: https://hackaday.com/2025/04/25/hash-functions-with-the-golden-ratio/