ขณะนี้ฉันกำลังทบทวนคำถามของรอบชิงชนะเลิศที่ผ่านมาเป็นแบบฝึกหัดสำหรับการสอบของฉัน และไม่มีคำตอบให้
คำถามที่ฉันกำลังทำอยู่คือ:
ให้ â = (Enc, Dec, Gen) เป็นรูปแบบการเข้ารหัสที่ปลอดภัยของ CPA พิสูจน์หรือหักล้าง
ต่อไปนี้สองข้อความ:
ก) Enc ต้องเป็นฟังก์ชันสุ่มหลอก
ข) ธ.ค. ต้องเป็นฟังก์ชันสุ่มหลอก
สำหรับ ก) โดยสัญชาตญาณฉันรู้ว่ามันต้องเป็นการสุ่มหลอก แต่ฉันไม่แน่ใจว่าจะพิสูจน์อย่างเป็นทางการได้อย่างไร เนื่องจากฝ่ายตรงข้ามสามารถเข้าถึงออราเคิลเข้ารหัสได้ เราจึงต้องการให้แน่ใจว่าพวกเขาไม่สามารถแยกความแตกต่างระหว่างข้อความต่างๆ และไม่เรียนรู้ข้อมูลที่เป็นประโยชน์ใดๆ เกี่ยวกับรูปแบบ และเนื่องจากการสุ่มเทียมนั้นแยกไม่ออกจากการสุ่ม ดังนั้นจำเป็นหรือไม่?
สำหรับ b) ฉันไม่คิดว่ามันจริง เพียงเพราะบนพื้นฐานของการโจมตี CPA พวกเขาไม่เกี่ยวข้องกับการถอดรหัส ดังนั้นจึงไม่มีประโยชน์ที่จะเป็นฟังก์ชันสุ่มเทียม อย่างไรก็ตาม หาก Enc เป็น pseudorandom ก็ไม่จำเป็นต้องใช้ฟังก์ชัน pseudorandom ในการถอดรหัสใช่หรือไม่
ใครช่วยบอกฉันทีว่าความคิดนี้มาถูกทางแล้ว ถ้าไม่ใช่ โปรดให้คำอธิบาย
ขอขอบคุณ.