ฉันต้องการความช่วยเหลือในการทำความเข้าใจเกี่ยวกับความปลอดภัยทางความหมาย โดยเฉพาะในส่วนของ 'เกม'
แต่ก่อนอื่น จากความเข้าใจของฉัน การรักษาความปลอดภัยเชิงความหมายเป็นวิธีที่ 'อ่อนแอ' และยืดหยุ่นกว่าในการตัดสินว่าฟังก์ชันการเข้ารหัสมีความปลอดภัยเพียงพอสำหรับการใช้งานหรือไม่ ฉันเข้าใจว่าคำจำกัดความของความลับที่สมบูรณ์แบบมักจะเข้มงวดเกินไป ดังนั้นการรักษาความปลอดภัยเชิงความหมายจึงช่วยให้สามารถกำหนดบางสิ่งที่ปลอดภัยเพียงพอได้ และคำจำกัดความอย่างเป็นทางการคือ: รูปแบบการเข้ารหัสมีความปลอดภัยเชิงความหมาย หากฝ่ายตรงข้ามไม่สามารถคาดเดาด้วยความน่าจะเป็นที่ดีกว่า 1/2 ว่าข้อความเข้ารหัสที่กำหนดเป็นการเข้ารหัสของข้อความ m0 หรือ m1
มีคำอธิบายยอดนิยมโดยใช้ 'เกม' ที่ผู้ท้าชิงและคู่ต่อสู้เล่น อย่างไรก็ตาม ฉันสับสนเล็กน้อยกับวิธีการทำงาน
ใครสามารถช่วยฉันเข้าใจ 'เกม' และวิธีการใช้เพื่อระบุว่าบางสิ่งมีความปลอดภัยทางความหมายหรือไม่ อย่างไร
เกม:
ผู้ท้าชิงเลือกคีย์สุ่ม k
ฝ่ายตรงข้ามส่งข้อความ 2 ข้อความก่อน ได้แก่ m1 และ m0 ถึงผู้ท้าชิง
ผู้ท้าชิงจะส่งออกการเข้ารหัสของ m1 หรือ m0
ฝ่ายตรงข้ามกำลังพยายามเดาว่าเขาได้รับการเข้ารหัสหรือไม่
ของ m0 หรือ m1
สำหรับ b = 0,1 Wb: = [เหตุการณ์ที่ exp(b) = 1]
คำแนะนำ[A,E]: = |Pr[W0] - Pr[W1] | องค์ประกอบของ [0,1]
คำจำกัดความง่ายๆ ที่ฉันเห็นเพื่อสรุปข้างต้นคือ "ฝ่ายตรงข้ามส่งข้อความธรรมดา 2 ข้อความโดยมีความยาวเท่ากันถึงผู้ท้าชิงและได้รับข้อความเข้ารหัส 1 ข้อความ การรักษาความปลอดภัยเชิงความหมายหมายความว่าฝ่ายตรงข้ามไม่สามารถแยกแยะได้ว่าข้อความธรรมดาใดถูกเข้ารหัส"
คำถามที่ 1: ในขั้นตอนที่ 3 กล่าวว่าในการทดลองที่ 1 ผู้ท้าชิงจะแสดงข้อความรหัสของ m1 และในการทดลองที่ 0 ข้อความเข้ารหัสของ m0 แก้ไขฉันถ้าฉันผิด แต่ผู้ท้าชิงจะส่งข้อความเดียวซึ่งเป็นข้อความรหัสของ m1 หรือ m0 ถูกต้องและไม่ใช่ทั้งสองอย่าง?
คำถามที่ 2: ฉันไม่เข้าใจส่วนที่เกมพยายามดูว่าฝ่ายตรงข้ามสามารถแยกแยะได้ว่าข้อความธรรมดาใดถูกเข้ารหัสหรือไม่ ฝ่ายตรงข้ามจะสามารถทำเช่นนั้นได้อย่างไรโดยมีผู้ท้าชิงเปิดเผยข้อความรหัสเดียว? เนื่องจากมีความคลุมเครือ 1/2 เสมอและเมื่อใดที่มีกรณีที่แยกแยะความแตกต่างระหว่างทั้งสองได้สำเร็จและไม่สำเร็จ