と準線形空間におけるほぼ普遍的な文字列ハッシュ


9

ここでは文字列のハッシュ関数の2人の家族がいる:x→=⟨x0x1x2…xm⟩

  1. pxi∈Zpha1(x→)=∑aiximodpa∈Zp∀x≠y,Pa(ha1(x)=ha1(y))≤m/p

  2. 用、のための。LemireとKaserは、「非常に普遍的な文字列ハッシュは速い」で、このファミリが2独立であることを示しました。これは、ことを意味しxi∈Z2bha→=⟨a0a1a2…am+1⟩2(x→)=(a0+∑ai+1ximod22b)÷2bai∈Z22b∀x≠y,Pa→(ha→2(x)=ha→2(y))=2−b

h1はビットのスペースとランダム性のビットのみを使用し、はビットのスペースとランダム性のビットを使用します。一方、は上で動作し、実際のコンピュータでは高速です。lg⁡ph22bm+2bh2Z22b

他のどのハッシュファミリーが(ように)ほぼ普遍的か知りたいのですが、(ように)を操作し、スペースを使用して、ランダム。h1Z2bh2o(m)

そのようなハッシュファミリーは存在しますか?そのメンバーは時間で評価できますか?O(m)

回答:


5

はい。WegmanとCarterの「新しいハッシュ関数と認証およびセットの等価性におけるそれらの使用」(ミラー)は、述べられた要件を満たすスキームを示しています(ほぼ普遍的、を超えて、準線形空間とランダム性、線形評価時間)は、非常に普遍的なファミリから抽出された少数のハッシュ関数に基づいています。Z2b

これは「ツリーハッシュ」と呼ばれることもあり、Boesgaardらによる「Badger-A Fast and Provably Secure MAC」で使用されています。


-1

高速なものが必要で、実際に使用できる場合は、暗号に関する文献を参照してください。たとえば、poly1305とUMACは高速で、他にもたくさんあります。2ユニバーサルハッシュは暗号化に役立つため、暗号学者は多くの構造を研究し、非常に効率的な構造を発見しました。

Poly1305は、最初のタイプのハッシュ(多項式評価ハッシュと呼ばれる)のように機能し、法として機能します。このスキームは、最新のコンピューターでこれを非常に高速に実行するための巧妙なトリックを示しています。ランダム性の量は少なく、128ビットです。2130−5

ランダム性の量を減らし、実用性をあまり気にしない場合は、次の研究論文をご覧ください。

  • LFSRベースのハッシュと認証。Hugo Krawczyk。CRYPTO 1994。

Krawczykは、基本的にテプリッツ行列の番目の行とすることにより、ランダム性の量を減らす方式を説明しています。ただし、Krawczykスキームは、法とする算術演算ではなく、で機能します。 i G F (2 b)2 baiiGF(2b)2b


1
参考にさせていただきますが、この回答は質問には対応していません。
— jbapple 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.