การพิสูจน์ความปลอดภัยของตัวสร้างตัวเลขสุ่มหลอก Nisan-Wigderson


13

ให้เป็นส่วนหนึ่งออกแบบและเป็นฟังก์ชั่นบูลีน เครื่องกำเนิดไฟฟ้า Nisan-Wigdersonถูกกำหนดดังนี้: ( m , k ) f : { 0 , 1 } m{ 0 , 1 } G f : { 0 , 1 } l{ 0 , 1 } nS={Si}1in(m,k)f:{0,1}m{0,1}Gf:{0,1}l{0,1}n

Gf(x)=(f(x|S1),,f(x|Sn))

ในการคำนวณบิตที่ของเราใช้บิตของด้วยดัชนีในจากนั้นใช้กับพวกเขาG f x S ฉัน fiGfxSif

สมมติว่าคือยากสำหรับวงจรขนาดโดยที่เป็นค่าคงที่ เราจะพิสูจน์ได้อย่างไรว่าคือ - สร้างตัวสร้างตัวเลขหลอกแบบสุ่มที่ปลอดภัย?1f nccGf(nc1ncnccGf(nc2,2nc)

คำนิยาม:

ส่วนออกแบบคือชุดย่อยเช่นนั้นS 1 , , S n[ l ] = { 1 , , l }(m,k)S1,,Sn[l]={1,,l}

  • สำหรับทั้งหมด:และ| S i | = mi|Si|=m
  • สำหรับ : .| S iS j | kij|SiSj|k

ฟังก์ชั่นคือแข็งสำหรับวงจรขนาดถ้าไม่มีวงจรขนาดสามารถทำนายด้วยความน่าจะเป็นดีกว่าการโยนเหรียญε s s εfϵssfϵ

ฟังก์ชั่นคือ( s , ϵ ) - เครื่องกำเนิดหมายเลขปลอมแบบสุ่มที่ปลอดภัยหากไม่มีวงจรขนาดsสามารถแยกแยะระหว่างตัวเลขสุ่มและ จำนวนที่สร้างโดยจีเอฟมีความน่าจะดีกว่าεG:{0,1}l{0,1}n(s,ϵ)sGfϵ

เราใช้สตริงประกอบด้วยx 's บิตกับดัชนีในx|AxA


ป.ล. : นี่ไม่ใช่การบ้านของฉันจริงๆ แต่โปรดปฏิบัติต่อคุณเพราะคุณจะตอบคำถามการบ้านบางครั้งนักเรียนจะได้รับการแนะนำหลักสูตร crypto
Kaveh

3
และปล่อยให้การต่อสู้ CS.SE กับ crypto.SE เริ่มต้นขึ้น! (:
Ran G.

1
google ให้ผลลัพธ์ค่อนข้างดี: 1 , 2
Ran G.

นั่นไม่ใช่คำตอบที่ดี - เป็นเพียงการค้นหาโดย Google บางทีคุณอาจต้องการคำตอบจากมัน?
Ran G.

@ RanG., จุดดี
Kaveh

คำตอบ:


1

นี่คือคำตอบของ Ran จีกล่าวถึงในการแสดงความคิดเห็น: Google ให้ผลค่อนข้างดี: 1 , 2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.