สตริงสากลเกือบคร่ำครึ


9

นี่คือฟังก์ชันแฮชสองตระกูลบนสตริง x=x0x1x2...xม.:

  1. สำหรับ พี นายกและ xผมZพี, ชั่วโมงa1(x)=Σaผมxผมพอควรพีสำหรับ\ Dietzfelbinger และคณะ แสดงให้เห็นว่าใน "ฟังก์ชั่นแฮพหุนามเชื่อถือ" ที่ paZพีxY,Pa(ชั่วโมงa1(x)=ชั่วโมงa1(Y))ม./พี

  2. สำหรับ ,สำหรับÄ_i \ in \ mathbb {Z} _ {2 ^ {2b}} Lemire และ Kaser แสดงใน "การแฮ็กสายอักขระสากลอย่างรวดเร็วนั้นรวดเร็ว" ที่ตระกูลนี้มี 2 แบบอิสระ นี่หมายความว่า\ forall x \ neq y, P_ \ vec {a} (h ^ 2_ \ vec {a} (x) = h ^ 2_ \ vec {a} (y)) = 2 ^ {- b}xผมZ2ชั่วโมงa=a0a1a2...aม.+12(x)=(a0+Σaผม+1xผมพอควร22)÷2aผมZ22xY,Pa(ชั่วโมงa2(x)=ชั่วโมงa2(Y))=2-

ชั่วโมง1ใช้เฉพาะพื้นที่LGพีบิตและบิตของการสุ่มขณะที่ชั่วโมง2ใช้พื้นที่2ม.+2บิตและบิตของการสุ่ม ในทางกลับกันชั่วโมง2ทำงานกับZ22ซึ่งรวดเร็วในคอมพิวเตอร์จริง

ฉันต้องการที่จะรู้ว่าสิ่งที่ครอบครัวแฮชอื่น ๆ เกือบจะเป็นสากล (เช่น ) แต่ทำงานกับ (เช่น ) และใช้พื้นที่และ สุ่มชั่วโมง1Z2ชั่วโมง2โอ(ม.)

ตระกูลแฮชมีอยู่จริงหรือไม่? สามารถประเมินสมาชิกในเวลาหรือไม่?O(ม.)

คำตอบ:


5

ใช่. Wegman และ Carter ของ "ฟังก์ชันแฮชใหม่และการใช้งานในการรับรองความถูกต้องและการตั้งค่าความเท่าเทียมกัน" ( มิเรอร์ ) แสดงรูปแบบการประชุมตามข้อกำหนดที่ระบุไว้ (เกือบเป็นสากลมากกว่า ) เวลา) ขึ้นอยู่กับฟังก์ชั่นแฮชจำนวนเล็กน้อยที่ดึงมาจากตระกูลสากลที่แข็งแกร่งZ2b

This is sometimes called "tree hashing", and it is used in "Badger - A Fast and Provably Secure MAC" by Boesgaard et al.


-1

หากคุณต้องการบางสิ่งที่รวดเร็วและคุณสามารถใช้ในทางปฏิบัติคุณอาจดูวรรณกรรมการเข้ารหัส ตัวอย่างเช่นpoly1305และUMACนั้นรวดเร็วและมีอีกหลายอย่าง เนื่องจากแฮชแบบ 2 สากลมีประโยชน์สำหรับการเข้ารหัสผู้เข้ารหัสลับจึงได้ศึกษาสิ่งปลูกสร้างจำนวนมากและพบว่ามีประสิทธิภาพมาก

Poly1305 ทำงานเหมือนแฮชชนิดแรกของคุณ (เรียกว่าแฮชการประเมินพหุนาม ) เป็นโมดูโลที่ใช้งานได้21305. โครงการนี้แสดงให้เห็นถึงเทคนิคที่ชาญฉลาดในการทำให้การทำงานนี้รวดเร็วมากบนคอมพิวเตอร์ที่ทันสมัย ปริมาณของการสุ่มมีขนาดเล็ก: 128 บิต

หากคุณต้องการลดจำนวนการสุ่มและไม่สนใจเรื่องการปฏิบัติจริงมากนักคุณอาจดูบทความวิจัยต่อไปนี้:

  • Hashing ที่ใช้ LFSR และการตรวจสอบความถูกต้อง Hugo Krawczyk CRYPTO 1994

Krawczyk อธิบายวิธีการลดปริมาณการสุ่มโดยการปล่อย aผม เป็น ผมแถวที่สองของเมทริกซ์ Toeplitz อย่างไรก็ตาม Krawczyk ทำงานได้ดีกว่าGF(2)ไม่ใช่แบบโมดูโลทางคณิตศาสตร์ 2.


1
ฉันขอขอบคุณที่อ้างอิงของคุณ แต่คำตอบนี้ไม่ได้ตอบคำถาม
jbapple
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.