ฉันต้องการฝึกฝนการพิสูจน์การลดความปลอดภัย และฉันก็งงกับสิ่งนี้จากหนังสือ Boneh-Shoup
ถ้า $F(k, x)$ เป็น PRF ที่ปลอดภัยแล้วแสดงว่า $F'(k, x) := F(F(k, 0^{n}), x)$ เป็น PRF ที่ปลอดภัย
สิ่งที่ฉันมีคือ:
สมมติ $F'$ ไม่ปลอดภัยด้วยความแตกต่าง $D'$. นี่หมายความว่า $F$ ยังไม่ปลอดภัยด้วยตัวแยก $D$. ตอนนี้ฉันจะแสดงโครงสร้าง $D$ โดยใช้ $D'$.
- $D$ รับกุญแจ, $k$.
- $D$ เริ่มทำงาน $D'$.
- เมื่อไหร่ก็ตาม $D'$ สอบถาม oracle ในข้อความ $x \leftarrow \lbrace0,1\rbrace^{n}$, ให้ $x$ ถึง $D$,คำนวณ $y:= O(x)$, ที่ไหน $O$ เป็น $D$ออราเคิลของ จากนั้นส่ง $F(F(k, y), x)$ ถึง $D'$.
- เอาท์พุทอะไรก็ตาม $D'$ เอาต์พุต
ซึ่งหมายความว่า:
ราคา[$D'^{F'}(1^{n}) = 1] =$ ราคา[$D^{F}(1^{n}) = 1]$ และ Pr[$D'^{r}(1^{n}) = 1] =$ ราคา[$D^{r}(1^{n}) = 1]$, ที่ไหน $r$ เป็นฟังก์ชันสุ่ม เช่นกัน,
$|$ป$[D^{F}(1^{n}) = 1] - Pr[D^{r}(1^{n}) = 1]| > $ ละเลย ($n$)
โดยสันนิษฐาน. อย่างไรก็ตามตั้งแต่ $F$ เป็น PRF นี่เป็นความขัดแย้งดังนั้น $F'$ เป็น PRF $\สแควร์$
หลักฐานนี้สมเหตุสมผลหรือไม่? ฉันรู้สึกว่าฉันสับสนในการกำหนด $D$, แต่ฉันไม่แน่ใจ. ขอบคุณสำหรับความช่วยเหลือ!