和亚线性空间中的几乎通用字符串哈希


9

这是字符串上的两个哈希函数族:x→=⟨x0x1x2…xm⟩

  1. 对于素数和,对于\ in \ mathbb {Z} _p。Dietzfelbinger等。在“多项式哈希函数可靠”中显示\ forall x \ neq y,P_a(h ^ 1_a(x)= h ^ 1_a(y))\ leq m / p。pxi∈Zpha1(x→)=∑aiximodpa∈Zp∀x≠y,Pa(ha1(x)=ha1(y))≤m/p

  2. 对于xi∈Z2b,ha→=⟨a0a1a2…am+1⟩2(x→)=(a0+∑ai+1ximod22b)÷2b用于ai∈Z22b。Lemire和Kaser在“完全通用的字符串哈希运算非常快”中表明,该家族独立于2。这意味着∀x≠y,Pa→(ha→2(x)=ha→2(y))=2−b

h1仅使用lg⁡p位的空间和随机位,而h2使用2bm+2b位的空间和随机位。另一方面,h2在Z22b,在实际计算机上运行很快。

我想知道还有哪些其他哈希家族几乎是通用的(例如h1),但是要对Z2b(例如h2)进行操作,并使用o(m)空间和随机性。

这样的哈希家族存在吗?是否可以在O(m)时间内评估其成员?

Answers:



-1

如果您想快速获得一些东西并且可以在实践中使用,则可以查看密码文献。例如,poly1305和UMAC很快,还有很多其他。由于2通用散列对于密码学很有用,因此密码学家研究了许多构造并发现了极其有效的构造。

Poly1305的工作方式类似于您的第一类哈希(称为多项式求值哈希),以模。该方案显示了一些巧妙的技巧,可以使此方法在现代计算机上快速运行。随机量很小:128位。2130−5

如果您想减少随机性而又不太在意实用性,则可以查看以下研究论文:

  • 基于LFSR的哈希和身份验证。雨果·克拉维奇(Hugo Krawczyk)。加密货币1994。

Krawczyk描述了一种基本上通过使为Toeplitz矩阵的第行来减少随机量的方案。但是,Krawczyk方案适用于,而不适用于算术模。aiiGF(2b)2b


1
感谢您的参考,但此答案并未解决问题。
— jbapple
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.