สมมติว่าฝั่งไคลเอ็นต์มีรหัสผ่านลับ $\pi$. เซิร์ฟเวอร์มีชุดของดัชนี $0..n-1$ และค่าที่เกี่ยวข้องกับเกลือ $s_i$ สำหรับทุกอย่าง $i \in \{0,n-1\}$ เรียกมันว่าชุด $S=\{s_i |
ฉัน \ใน \{0,n-1\}\}$ สำหรับลูกค้าแต่ละราย ลูกค้าต้องการคำนวณฟังก์ชัน OPRF $f(\pi,s)$ อย่างนั้นเขาไม่เรียนรู้ $s$ และเซิร์ฟเวอร์ไม่เรียนรู้อะไรเลย นี่คือสิ่งที่ OPAQUE ทำเพื่อ $f(\pi,s)=H(\pi,H'(\pi)^s)$ ที่ไหน $H'$ แฮชไปยังองค์ประกอบกลุ่มย่อยเพราะเซิร์ฟเวอร์เท่านั้นที่เคยเห็นคนตาบอด $H'(\pi)$ ซึ่งเป็นองค์ประกอบกลุ่มแบบสุ่ม มันสามารถจำลองมุมมองของมันได้ และไม่ว่าไคลเอนต์แบบสอบถามจะทำมากเพียงใด มันก็ไม่เคยเรียนรู้ $s$.
แต่ฉันต้องดำเนินการไปอีกขั้นหนึ่งและต้องการให้อนุญาตให้เข้าสู่ระบบโดยไม่ระบุตัวตน นั่นคือฉันต้องการฟังก์ชั่น $g(i,\pi,S)=f(\pi,s_i)$ เซิร์ฟเวอร์ดังกล่าวไม่ได้เรียนรู้อะไรเลย $i$ หรือ $\pi$ และลูกค้าไม่ได้เรียนรู้สิ่งอื่นใดเกี่ยวกับ $S$ หรือเกี่ยวกับองค์ประกอบอื่นใดใน $S$. อย่างน้อยไม่ $f(\pi,s_j)$ สำหรับอื่น ๆ $เจ$ ที่ช่วยให้สามารถกำหนดเป้าหมายหลายบัญชีในเวลาเดียวกันด้วยการโจมตีด้วยกำลังดุร้าย/พจนานุกรม
วิธีหนึ่งในการทำเช่นนี้สำหรับฟังก์ชันเดียวกับใน OPAQUE คือการใช้ OPAQUE พร้อมกับการถ่ายโอนที่ลืมเลือน ไคลเอนต์ไม่จำเป็นต้องส่งค่าจำนวนมากในแต่ละครั้ง แต่เพียงแค่ใช้ OT ในที่นี้หมายความว่าเซิร์ฟเวอร์จะต้องดำเนินการสิ้นสุดการคำนวณของ $f(\pi,s_i)$ แต่ละ $i$ เช่น $n$ การคูณเลขยกกำลัง/สเกลาร์ และจำเป็นต้องส่ง $n$ ข้อความเข้ารหัสทุกครั้งที่ลูกค้าพยายามเข้าสู่ระบบ และนี่อยู่นอกการคำนวณที่เกี่ยวข้องกับ OT เอง ท้ายที่สุดแล้ว OT สามารถใช้เพื่อถ่ายโอนข้อความตามอำเภอใจ ไม่ใช่แค่คำนวณฟังก์ชันบางอย่างเท่านั้น $n$ ข้อความรหัสในกรณีทั่วไปเป็นธรรม แต่นี่จะไม่สามารถทำได้ที่นี่
ดังนั้น มีใครทราบเกี่ยวกับงานเกี่ยวกับเรื่องนี้หรือกำลังทำสิ่งใดที่สามารถบรรลุสิ่งนี้ได้อย่างมีประสิทธิภาพมากขึ้นในเวลาคงที่หรืออย่างน้อย sublinear ของจำนวนไคลเอนต์ที่จะนำไปใช้ได้จริง มันอาจเป็นสิ่งที่ใช้ตัวสะสมใน $S$ ซึ่งสามารถคำนวณล่วงหน้าหรืออะไรก็ได้ ไม่จำเป็นต้องเป็นฟังก์ชันเดียวกับใน OPAQUE ทุกสิ่งที่มีคุณสมบัติข้างต้นจะทำงานได้
แก้ไข: ฉันไม่แนะนำให้ดำเนินการ OPAQUE แบบเต็มโดยไม่ระบุชื่อ ซึ่งเนื่องจากมีคีย์ DH ส่วนตัวรหัสไคลเอนต์ที่เข้ารหัสและคีย์ DH สาธารณะของเซิร์ฟเวอร์ต้องใช้ OT เพื่อดำเนินการโดยไม่ระบุชื่อ แต่ทำเฉพาะการคำนวณส่วน OPRF โดยไม่ระบุตัวตนและทำการแลกเปลี่ยนคีย์ที่เหลือแยกกัน