ฉันกำลังศึกษาโปรโตคอลที่ใช้ OT และทันใดนั้นฉันก็รู้ว่าฉันนึกไม่ถึงว่าโปรโตคอลที่ใช้ OT จะเป็นอันตรายได้อย่างไร
สมมติว่าเรามีโปรโตคอล P ที่ใช้ OT เป็นโปรโตคอลย่อย สมมุติว่าใช้โอที $N$ ครั้ง. แต่ละโอทีมีอินพุต $x_{0,i}$, $x_{1,i}$, ที่ไหน $i$ หมายถึง $i-$ค่าล่วงเวลาตั้งแต่ 1 ถึง $N$. มีเหตุผลที่จะสมมติว่าผู้รับเลือกบิตทุกครั้ง $0$ หรือ $1$ ตามอินพุต (ตัวอย่างเช่น ในกรณีของโปรโตคอล Yao ซึ่งสำหรับแต่ละเกต ผู้รับจะถามหา 0 หากอินพุตเป็น 0 หรือ 1 อย่างอื่น)
ตอนนี้ สมมติว่าผู้ส่งใน OT เป็นอันตรายและตัดสินใจที่จะเปลี่ยนแปลง $x_{0,N}$ ด้วยสิ่งอื่น อาจเป็นค่าสุ่มก็ได้ ค่า $x_{1,N}$ หรืออะไรก็ตาม เรามีความเป็นไปได้สามประการ
- โปรโตคอลยกเลิก จากนั้นผู้ส่งรู้ว่าระหว่าง OT ครั้งล่าสุด ผู้รับขอ 0
- โปรโตคอลไม่ยกเลิกและข้อมูลที่ป้อนนั้นถูกต้อง ตอนนี้ผู้ส่งรู้แล้วว่าในช่วง OT ครั้งล่าสุด ผู้รับขอ 1
- โปรโตคอลไม่ยกเลิก การป้อนข้อมูลผิดและฝ่ายต่าง ๆ สามารถตรวจจับได้ ตอนนี้ผู้ส่งรู้แล้วว่าในช่วง OT ครั้งล่าสุด ผู้รับขอ 0
- โปรโตคอลไม่ยกเลิก การป้อนข้อมูลผิด แต่ฝ่ายต่างๆ ไม่สามารถตรวจจับได้ จากนั้นผู้ส่งสามารถสร้างโปรโตคอลโดยพลการเพื่อส่งออกค่าที่แตกต่างจากค่าที่กำหนด
หากลักษณะการทำงานเป็นหนึ่งในสามข้อแรก ผู้ส่งสามารถเปลี่ยน OT ทุกรายการได้ด้วยวิธีนี้ $\frac{1}{2^N}$ ความน่าจะเป็นที่จะเรียนรู้คำขอทั้งหมดโดยไม่ตรวจพบว่าตั้งแต่นั้นมา $N$ เป็นพารามิเตอร์คงที่ไม่สำคัญ (ยิ่งถ้า $N$ เล็ก). ในกรณีอื่น ๆ ผู้รับจะเรียนรู้ว่าผู้ส่งเป็นอันตราย แต่สิ่งนี้ไม่ได้ป้องกันผู้รับเพื่อเรียนรู้บางสิ่ง
หากพฤติกรรมเป็นครั้งสุดท้าย ฉันไม่เข้าใจว่าโปรโตคอลดังกล่าวได้รับการพิจารณาว่า "ปลอดภัย" ได้อย่างไร เนื่องจากผู้โจมตีสามารถทำการโจมตีแบบ "DoS" ได้ง่ายมาก โดยที่ทุกเอาต์พุตไม่มีความหมาย
ในกรณีของโปรโตคอล Yao สมมติว่าผู้ส่งตั้งค่า OT ล่าสุด $X_{0,N}, X_{0,N}$. เราจะป้องกันได้อย่างไร? หากโปรโตคอล "ผิดพลาด" ผู้ส่งจะรู้ว่าบิตสุดท้ายของ Bob คือ 0 มันใหญ่มากใช่ไหม
และฉันไม่ได้พิจารณากรณีสมมาตร: จะเกิดอะไรขึ้นหากผู้รับแทนที่จะถามตามกฎ กลับถามแบบสุ่ม เท่าที่ฉันเข้าใจพฤติกรรมนี้ไม่ได้รับการพิจารณาในระหว่างการพิสูจน์ความปลอดภัย ฉันผิดหรือไม่?
ฉันพลาดอะไรไปรึเปล่า? การพิจารณาเหล่านี้อยู่นอกขอบเขตและเราอนุญาตให้มีพฤติกรรมแบบนี้หรือไม่ บางทีเราคิดว่าผู้ส่งตั้งค่าเสมอ $x_0$ และ $x_1$ ในทางที่ถูกต้อง?