Simulator ที่หลบหนีของ Zero-Knowledge Protocol ในโมเดล Oracle แบบสุ่ม


13

ในกระดาษเรื่อง "On Deniability ในสตริงอ้างอิงทั่วไปและโมเดล Oracle แบบสุ่ม" Rafael Pass เขียน:

เราทราบว่าเมื่อการพิสูจน์ความปลอดภัยตามนิยามศูนย์ความรู้มาตรฐานในรุ่น RO [Random Oracle] ตัวจำลองมีข้อดีสองประการเหนือตัวจำลองแบบธรรมดาคือ

  1. เครื่องจำลองสามารถดูได้ว่าฝ่ายใดสอบถามค่าพยากรณ์ใน
  2. เครื่องมือจำลองสามารถตอบแบบสอบถามเหล่านี้ในแบบที่มันเลือกตราบเท่าที่คำตอบ "ดู" ตกลง

เทคนิคแรกคือความสามารถในการ "ติดตาม" การสืบค้น RO เป็นเรื่องธรรมดามากในเอกสารทั้งหมดที่อ้างถึงแนวคิดของศูนย์ความรู้ในแบบจำลอง RO

ตอนนี้ให้พิจารณานิยามของzero-knowledge -black-box ( PPTหมายถึงความน่าจะเป็น, เครื่องทัวริงพหุนาม - เวลา ):

a PPT simulator S , เช่นนั้น (อาจจะโกง) PPT verifier V ,อินพุตทั่วไป x L , และ randomness r , ต่อไปนี้ไม่สามารถแยกแยะได้:SVxLr

  • มุมมองของในขณะที่โต้ตอบกับ prover Pบนอินพุตxและใช้ randomness r ; VPxr
  • การส่งออกของปัจจัยxและRเมื่อSจะได้รับกล่องดำเข้าถึงV * SxrSV

ที่นี่ฉันต้องการที่จะแสดงตัวตรวจสอบการโกงซึ่งเป็นหน้าที่ของผู้จำลองสถานการณ์ที่พยายามติดตามการสอบถาม RO:V

Let จะจำลองรับประกันโดยปริมาณการดำรงอยู่ในความหมายของกล่องดำเป็นศูนย์ความรู้และให้Q ( | x | )เป็นพหุนามซึ่งบนขอบเขตเวลาการทำงานของSกับการป้อนข้อมูลx สมมติว่าSพยายามติดตามการสอบถามของV ถึง ROSq(|x|)SxSV

ตอนนี้ให้พิจารณาการโกงซึ่งสอบถาม RO ครั้งแรกสำหรับq ( | x | ) + 1ครั้ง (สำหรับอินพุตที่เลือกโดยพลการ) จากนั้นทำหน้าที่โดยเจตนาร้ายVq(|x|)+1

เห็นได้ชัดว่า exhausts จำลองS วิธีที่ง่ายสำหรับSคือการปฏิเสธพฤติกรรมที่เป็นอันตรายดังกล่าว แต่ด้วยวิธีดังกล่าวผู้กลั่นน้ำมันสามารถแยกแยะการโต้ตอบที่แท้จริงจากแบบจำลองได้อย่างง่ายดาย (เนื่องจากในการปฏิสัมพันธ์จริง prover Pไม่สามารถตรวจสอบV ' 's แบบสอบถามจึงจะไม่ปฏิเสธอยู่บนพื้นฐานของความจริงเท่านั้นที่V 'จะสอบถามมากเกินไป.)VSSPVV

วิธีแก้ปัญหาสำหรับปัญหาข้างต้นคืออะไร

แก้ไข:

แหล่งที่ดีสำหรับการศึกษา ZK ในแบบจำลอง RO คือ:

Martin Gagné, การศึกษาโมเดล Oracle แบบสุ่ม, Ph.D. วิทยานิพนธ์มหาวิทยาลัยแห่งแคลิฟอร์เนียเดวิส 2551 หน้า 109 มีอยู่ใน ProQuest: http://gradworks.umi.com/33/36/3336254.html

โดยเฉพาะอย่างยิ่งมันให้คำจำกัดความของ ZK กล่องดำในรุ่น RO ในส่วน 3.3 (หน้า 20) ซึ่งมาจาก Yung และ Zhao:

Moti Yung และ Yunlei Zhao ศูนย์ความรู้แบบโต้ตอบกับ Oracles สุ่มแบบ จำกัด ในทฤษฎีการเข้ารหัส - TCC 2006 , LNCS 3876, pp. 21-40, 2006


ฉันคิดว่าคุณอาจหมายถึง "หมดจด" แทน "หมดแรง"
Dave Clarke

ฉันขอแตกต่าง ฉันหมายถึงฉันพบวิธีในการ "จำลอง" ZK โปรโตคอล ... ไม่มีสิ่งเช่น "จำลอง"
MS Dousti

ความผิดฉันเอง. ฉันอ่านที่เหนื่อยเป็นคำคุณศัพท์ไม่ใช่คำกริยา
Dave Clarke

คำตอบ:


10

มีคำถามว่าทำไมเราจึงต้องการนิยาม ZK กล่องดำในแบบจำลอง oracle แบบสุ่ม มีเหตุผลอย่างน้อยสองประการที่ผู้คนแนะนำนิยามของศูนย์ความรู้แบบกล่องดำ:

poly(|x|)time(V)poly(time(V))VVVV

poly(time(V))V โดยทั่วไปแล้วเป็นอัลกอริธึมคงที่พหุนามที่ใช้งานฟังก์ชั่นหลอกบางอย่างในขณะที่ตัวจำลองสามารถมีเวลาทำงานพหุนามใด ๆ


1
V

โปรดดูคำถามที่แก้ไขสำหรับการอ้างอิงบางอย่าง
MS Dousti

1
VV

1
ฉันล่าช้าในการตอบความคิดเห็นของคุณเนื่องจากฉันต้องการอ่านเพิ่มเติม โดยเฉพาะอย่างยิ่งฉันอ่านกระดาษของ Yung และ Zhao (ที่อ้างถึงด้านบน) และตั้งข้อสังเกตว่าพวกเขาใช้ ZK กล่องดำในแบบจำลอง RO เพื่อให้ได้ผลลัพธ์ที่เป็นบวกในขณะที่คุณพูดว่า "มันไม่สมเหตุสมผลที่จะพูดว่า เครื่องมือจำลองคือ 'กล่องดำ' " ผลลัพธ์เป็นปัญหาเชิงปรัชญาหรือเราควรผ่อนคลายนิยามของกล่องดำ?
MS Dousti

4

นี่คือปัญหาของฉัน เมื่อเร็ว ๆ นี้ฉันยังไม่ได้อ่านเอกสารใด ๆ ที่เกี่ยวข้องกับกล่องดำศูนย์ความรู้ในแบบจำลอง oracle (RO) แบบสุ่มดังนั้นฉันแค่คาดเดาในสิ่งที่พวกเขาหมายถึงไม่ใช่ในสิ่งที่เขียนไว้ที่นั่น คำตอบสั้น ๆ (เดา) คือ BB-ZK ในแบบจำลอง RO ควรปล่อยให้ตัวจำลองทำงานในเวลาพหุนามใน | x | และจำนวนการสืบค้น RO ที่ออกโดย V * ซึ่งเป็นตัวตรวจสอบการโกง

เรามาลองพิสูจน์ว่าเดาได้ไหม การสังเกตเบื้องต้นคือคำว่า "การพิสูจน์ความรู้แบบศูนย์กล่องดำในแบบจำลอง oracle แบบสุ่ม" จำเป็นต้องมองให้ใกล้ชิดเพื่อกำหนด กล่องดำจำลองจะถูกกำหนดให้ทำงานร่วมกับ oracle ใด ๆ (เช่นตัวตรวจสอบการโกงเป็นกล่องดำ) และอินเทอร์เฟซเดียวของพวกเขาคือผ่านอินพุต / เอาต์พุต oracle หากเราเพิ่มโมเดลนี้เพื่อให้ RO แก่ทุกฝ่าย (อาจอนุญาตให้วงจรของพวกเขามีประตู RO) จากนั้นเราจะได้แบบจำลองที่โปรแกรมจำลองไม่สามารถตั้งโปรแกรม RO - ในแบบสอบถาม Oracle ทุกอย่าง (รวมถึงแบบสอบถาม RO) เกิดขึ้น "ข้างใน" ของ V * oracle จากนั้นจะส่งกลับข้อความถัดไป ถ้าเราต้องการอนุญาตให้โปรแกรม RO เราจำเป็นต้องแก้ไขอินเตอร์เฟส: ตอนนี้ตัวจำลองได้รับ oracle อินพุต / เอาต์พุตสำหรับ V * และไม่มี oracle สุ่ม ในการโทรไปยัง V * oracle แต่ละครั้ง แทนที่จะสร้างข้อความถัดไป oracle อาจสร้างเคียวรีถัดไปให้กับ RO และเครื่องมือจำลองสามารถให้การตอบสนอง RO โดยการเรียก oracle อีกครั้ง ตอนนี้สิ่งนี้อนุญาตให้โปรแกรม RO และเราสามารถอนุญาตให้เวลารันของตัวจำลองขึ้นอยู่กับจำนวนของเคียวรีไปยัง RO

การสำรวจเพิ่มเติมเกี่ยวกับความหมายของคำจำกัดความเหล่านี้จะถูกทิ้งไว้ที่เครื่องอ่าน ฉันคิดวากยสัมพันธ์


1
ขอบคุณสำหรับคำตอบของเดวิด โดยไม่คำนึงถึงความสามารถของโปรแกรมจำลองการตั้งค่า RO ก็ควรจะสามารถ "ตรวจสอบ" พวกเขา ดังนั้นแบบสอบถาม oracle ทุกคำจาก V * ทำให้เสียเวลาของ M อย่างน้อยที่สุด ของคุณใหญ่คิดคือการเปลี่ยนรูปแบบในการ "ปล่อยให้วิ่งจำลองในเวลาพหุนามใน | x | และจำนวน RO แบบสอบถามออกโดย V *." นั่นไม่ใช่รุ่นมาตรฐาน แต่ฉันเห็นว่าเป็นโซลูชันที่สมเหตุสมผล แต่ฉันคิดว่า "ไจแอนต์" ในชุมชนจะต้องยอมรับความถูกต้องของรูปแบบดังกล่าวก่อน ...
MS Dousti

1
คุณสามารถอ้างอิงแหล่งที่กำหนด "โมเดลมาตรฐาน" ได้อย่างแม่นยำหรือไม่? (คำนี้มักใช้เป็นคำพ้องความหมายสำหรับ "ไม่มีออราเคิลสุ่มหรือการดัดแปลงอื่น ๆ ในรูปแบบการคำนวณ" แต่ฉันไม่คิดว่านี่คือสิ่งที่คุณหมายถึง) ความคาดหวังของฉันคือฉันได้ร่างคำจำกัดความ ของสิ่งที่จะถือว่าเป็นมาตรฐานและถ้าไม่เช่นนั้นเราสามารถคิดได้โดยไม่ต้องมี "ยักษ์" ใด ๆ รับรองการใช้เหตุผลของเราอย่างแข็งขัน
David Cash

1
แน่นอนว่าด้วย "รุ่นมาตรฐาน" ฉันหมายถึง "ข้อกำหนดมาตรฐาน" ของ ZK ภายใต้รุ่น RO คุณอาจอ้างถึงเอกสารของ Rafael Pass (อ้างถึงในคำถาม) หรือวิทยานิพนธ์ MSc ของเขา (ชื่อ "ทางเลือกที่หลากหลายของการพิสูจน์ความรู้ศูนย์") หรือเอกสารของ Wee ใน AsiaCrypt 2009 ("ศูนย์ความรู้ในรูปแบบ Oracle สุ่มมาเยือน") . ไม่มีใครนิยาม "กล่องดำ" ZK ในแบบจำลอง RO (พวกเขาทั้งหมดกล่าวถึงอินพุตเสริม ZK) แม้ว่าจะไม่มีใครเรียกว่า "พหุนามเวลาในพหุนามใน | x | และจำนวนข้อความค้นหา RO ที่ทำโดย V *" ดังนั้นฉันคิดว่าคุณกำลังวางคำนิยามใหม่ (Google it!)
MS Dousti

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