Score:0

ตัวสร้างจำนวนเมล็ดที่ไม่ทับซ้อนกันสำหรับช่วงเอาต์พุตขนาดเล็ก

ธง in

เห็น นี้แต่ก็ไม่มีประโยชน์อะไรเพราะมันช่วยให้แก้ปัญหาเล็กน้อยได้โดยการเพิ่มขนาดพื้นที่ของเอาต์พุตจนถึงจุดที่ฟังก์ชันการแฮชใด ๆ จะทำให้ไม่เกิดการชนกัน

คำถามนี้พยายามที่จะเป็นรุ่นที่ไร้ประโยชน์น้อยกว่า นั่น. เช่น. เกี่ยวกับกรณีที่ช่วงเอาต์พุตมีขนาดเล็ก พูดว่าพื้นที่เอาต์พุตของฉันคือ $\mathcal{S} = \{0, 1, \ldots, 10^{6}\}$. ที่นี่ การชนกันโดยใช้ฟังก์ชันการแฮชจะเกิดขึ้นได้ง่าย

หากต้องการเปลี่ยนคำถาม: มีฟังก์ชั่นใด ๆ $f : \text{seed}, \text{range}, \text{state} \mapsto n$, ดังนั้น:

  • ข้อกำหนด 1: ช่วงเอาต์พุตอาจมีขนาดเล็ก เช่น. จาก $0$ ถึง $10^6$.
  • ข้อกำหนด 2: ไม่มีการชนกันของเมล็ดพืชต่างๆ เช่น. สำหรับเมล็ดพันธุ์และช่วงใด ๆ $f(\text{seed}, \text{range}, \text{state}_1) = f(\text{seed}, \text{range}, \text{state}_2)$ ถ้าและถ้า $\text{state}_1 = \text{state}_2$.
  • ข้อกำหนด 3: ไม่สามารถคาดเดาได้ว่าหมายเลขถัดไปคืออะไรเว้นแต่จะเรียกใช้ฟังก์ชัน $f$. เช่น. ถ้า $f(\text{seed}, \text{range}, \text{state}_1) = 3$นั้นไม่สามารถรู้ได้ว่าเอาต์พุตนั้นคืออะไร $\text{state}_2$ โดยไม่ต้องเสียบเข้ากับฟังก์ชั่น $f$. สิ่งนี้จะกำจัดวิธีแก้ปัญหาเล็กน้อยที่อาจใช้คำจำกัดความ $f' : \text{seed}, \text{range}, \text{state} \mapsto \text{seed} \times \text{state} \mod \text{range}$โดยที่ seed, range และ state เป็นจำนวนบวกทั้งหมด
Score:1
ธง my

มีฟังก์ชั่นใด ๆ $f : \text{seed}, \text{range}, \text{state} \mapsto n$,

ใช่; พวกเขารู้จักกันในนาม รูปแบบการรักษาการเข้ารหัส ฟังก์ชั่น. นี่คือฟังก์ชันที่เป็นรหัสบล็อกขนาดตามอำเภอใจ:

  • ข้อกำหนด 1: ช่วงเอาต์พุตอาจมีขนาดเล็ก เช่น. จาก $0$ ถึง $10^6$.

ใช่ พวกเขาสามารถใช้ช่วงที่ค่อนข้างเล็ก จากประสบการณ์ของฉัน FPE มักจะไม่ชอบช่วงที่มีขนาดเล็กมาก (เช่น ช่วงที่มีค่าน้อยกว่า 100) ช่วงหนึ่งล้านมีมากมายสำหรับคนที่ฉันรู้จัก

  • ข้อกำหนด 2: ไม่มีการชนกันของเมล็ดพืชต่างๆ

หากเราใช้เมล็ดเป็นคีย์ FPE และสถานะเป็นข้อความธรรมดา FPE สิ่งนี้รับประกันได้ - การดำเนินการ FPE นั้นกลับด้านได้ (นั่นคือ โดยการวางการดำเนินการ FPE ในโหมดถอดรหัสและป้อนคีย์เดียวกัน มันจะแปลงข้อความไซเฟอร์ กลับเป็นข้อความธรรมดา) ดังนั้นข้อความธรรมดาสองรายการจึงไม่สามารถแปลงเป็นข้อความไซเฟอร์เดียวกันได้

ข้อกำหนด 3: ไม่สามารถคาดเดาได้ว่าหมายเลขถัดไปคืออะไรเว้นแต่จะเรียกใช้ฟังก์ชัน $f$

จริงด้วย; FPE ได้รับการออกแบบมาให้มีความปลอดภัย (เว้นแต่คุณจะทราบคีย์) ดังนั้นวิธีเดียวที่จะคาดเดาได้ว่าข้อความธรรมดาจะถูกแปลงอย่างไรคือการใช้คีย์

ฟังก์ชั่น FPE ยังใช้ 'ปรับแต่ง' (อินพุตเพิ่มเติมที่ไม่จำเป็นต้องเป็นส่วนตัวซึ่งเปลี่ยนการแมปที่กำหนดโดยการเข้ารหัส) - ฉันขอแนะนำให้ใช้ช่วงเป็นส่วนหนึ่งของการปรับแต่ง (นอกเหนือจากการแก้ไขวิธีการทำงานของฟังก์ชัน FPE ภายใน) - ด้วยวิธีนี้ คุณไม่ต้องกังวลเกี่ยวกับฟังก์ชันที่มีช่วงหนึ่งข้อมูลเกี่ยวกับฟังก์ชันที่มีช่วงอื่นรั่วไหล

ตอนนี้ ถ้าคุณต้องการคำแนะนำว่าจะใช้ฟังก์ชัน FPE ใด ฟังก์ชันที่ดีที่สุดที่ฉันพบคือ FF1 กำหนดไว้ที่นี่ การทำงาน; จากที่ผมเพาะดูจะค่อนข้างแข็ง

โพสต์คำตอบ

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