Score:2

ทำความเข้าใจกับ "อาร์กิวเมนต์ย้อนกลับ"

ธง cm
AXX

ฉันอ่านคำถามที่เกี่ยวข้องกับ SE นี้แล้ว แต่ฉันก็ยังไม่เข้าใจว่าเหตุใดเราจึงใช้อาร์กิวเมนต์ย้อนกลับได้โดยเฉพาะอย่างยิ่ง การย้อนกลับดูเหมือนเป็นมหาอำนาจที่แข็งแกร่งมากสำหรับฉัน และฉันก็ไม่เข้าใจว่าทำไมข้อสันนิษฐานที่หนักแน่นเช่นนั้นจึงไม่ทำลายความแข็งแกร่งของบทสรุป แน่นอนว่าผู้ตรวจสอบฝ่ายตรงข้ามไม่ได้เรียนรู้อะไรจากเครื่องจำลองที่สามารถควบคุมเวลาได้ แต่ถ้ามีเอนทิตีบางอย่างที่แข็งแกร่งจนสามารถควบคุมเวลาได้ ฉันไม่แปลกใจเลยที่มันจะปลอดภัยจากศัตรูใดๆ และฉันไม่เชื่อว่าเอนทิตีอื่นๆ ที่ไม่มีพลังนี้ ยังคงปลอดภัย

ฉันคิดว่าบางทีความสามารถในการย้อนกลับนี้อาจเกี่ยวข้องกับการเข้าถึงตัวตรวจสอบของ oracle ของตัวจำลอง เพื่อให้ตัวจำลองสามารถดำเนินการ "มองไปข้างหน้า" เพื่อเรียนรู้ว่าตัวตรวจสอบจะถามคำถามใด จากนั้นจึงเตรียมคำตอบตามนั้น หากเป็นกรณีนี้ ฉันเชื่อว่าไม่มีอำนาจวิเศษใด ๆ เนื่องจากเป็นสิ่งที่ผู้ตรวจสอบสามารถทำได้ ดังนั้นทรัพย์สินที่ไม่มีความรู้จึงตามมา

Score:4
ธง gd

เท่าที่ฉันรู้ คุณมีประเด็น "การย้อนกลับ" เป็นเพียงกลยุทธ์ "มองไปข้างหน้า" ซึ่งเป็นไปได้โดยการเข้าถึงตัวจำลองของ oracle ไปยังตัวตรวจสอบ

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

เกี่ยวกับความจริงที่ว่าการจำลองเป็นสิ่งที่ผู้ตรวจสอบสามารถทำได้โดยลำพัง นั่นเป็นความจริง: ผู้จำลองต้องไม่รู้อะไรเลยเพื่อพิสูจน์ ZKness และใครคือผู้สมัครที่ดีกว่าผู้ตรวจสอบสำหรับบทบาทของคนที่ไม่รู้!


แก้ไขเพื่อตอบความคิดเห็นที่ตามมา:

ในบทที่ 6 ของบทช่วยสอนเกี่ยวกับรากฐานของการเข้ารหัส (Springer) Yehuda Lindell เขียนว่า:

อันดับแรก บางคนอาจสงสัยว่าเป็นไปได้อย่างไรที่จะย้อนกลับเครื่องมือตรวจสอบความถูกต้องในทางเทคนิค อันที่จริง เมื่อพิจารณาถึงความรู้ที่เป็นศูนย์ของกล่องดำ นี่เป็นเรื่องเล็กน้อย โดยเฉพาะอย่างยิ่ง ตัวจำลองได้รับสิทธิ์ให้ Oracle เข้าถึงฟังก์ชันข้อความถัดไป V*(x, z, r, ·) ของตัวตรวจสอบ ซึ่งหมายความว่ามีการถอดเสียง m' = (m1, m2, . . .) ของข้อความขาเข้าและรับกลับข้อความถัดไปที่ส่งเมื่อ V* มีอินพุต x, อินพุตเสริม z, เทปสุ่ม r และข้อความขาเข้า m'

ดังนั้นจึงเป็นเพียงข้อความถัดไป ไม่ใช่ข้อความถอดเสียงทั้งหมดเมื่อสิ้นสุดการโต้ตอบ (หากคุณสงสัย)

จากคำจำกัดความข้างต้นของฟังก์ชั่นข้อความถัดไป (ซึ่งการท้าทายของผู้พิสูจน์เป็นของข้อความที่ผู้ตรวจสอบได้รับก่อนหน้านี้) "วิธีการที่ชัดเจน" ของคุณดูเหมือนจะผิดสำหรับฉันสำหรับผู้ตรวจสอบทั่วไป (หรือที่เรียกว่าอาจโกง) V*

หากผู้ตรวจสอบมีความซื่อสัตย์ (ดังนั้นความท้าทายจึงเป็นการ "สุ่ม" โดยสุจริต - แม้ว่าจะไม่จำเป็นต้องกระจายอย่างสม่ำเสมอก็ตาม) คุณสามารถเปลี่ยนลำดับที่ตัวจำลองได้รับข้อความ (อันดับแรกคือผลลัพธ์ จากนั้นจึงท้าทายตามด้วยความมุ่งมั่น): BTW, เป็นกลยุทธ์ในการพิสูจน์ว่าโปรโตคอลการระบุตัวตนของ Schnorr คือ HVZKP (ละเว้น -เพื่อความเรียบง่าย- ที่เรากำลังจัดการกับการแจกแจงและไม่ใช่แค่ค่าจริง)

แต่ถ้าเราต้องจัดการกับผู้ตรวจสอบ V* ที่อาจโกง (และนั่นคือกรณีที่ควรอยู่ในหัวข้อ 8.7 ของการบรรยายของคุณ) ความท้าทายอาจเป็นหน้าที่ของข้อผูกพัน ดังนั้นจึงไม่เป็นอิสระต่อกัน ดังนั้นกลยุทธ์ที่ดีที่สุดของคุณคือลองผลลัพธ์ทั้งหมด จนกว่าคุณจะพบสิ่งที่ถูกต้อง (หรือนำมุมมองการบรรยายของคุณมาใช้ ผลลัพธ์คือคุณเริ่มลองใช้ข้อผูกพันทั้งหมดจนกว่าฟังก์ชันจะสร้างความท้าทายที่ "ถูกต้อง")... อย่างไรก็ตาม คุณต้องทดสอบจำนวนกรณีที่เพิ่มขึ้นอย่างทวีคูณหาก คุณมีอิสระเพียงระดับเดียว ดังนั้น PPT Simulator จึงไม่สามารถจัดการได้ หรือที่เรียกว่า ZK ไม่ได้รับการพิสูจน์:

ซึ่งหมายความว่าหลังจากเครื่องจำลองย้อนกลับ จะเหมือนกับว่าโปรโตคอลทั้งหมดเริ่มต้นใหม่ตั้งแต่ต้น นี่หมายความว่าจำนวนการย้อนกลับที่คาดหวังนั้นเป็นเลขชี้กำลัง และเราไม่สามารถสร้างโปรแกรมจำลอง PPT ได้ หมายความว่าเราไม่สามารถพิสูจน์คุณสมบัติที่ไม่มีความรู้ได้

ดังนั้นจึงไม่มีข้อขัดแย้งระหว่างคำนิยามของการกรอกลับก่อนหน้านี้กับบทสรุปของย่อหน้าแรกในส่วนที่ 8.7 ของการบรรยายของคุณ

ฉันยอมรับว่าฉันไม่ได้คิดมากว่าทำไมเครื่องจำลองจึงต้องเป็น PPT และไม่สามารถ - สมมุติว่าไม่มีขอบเขตทางการคำนวณ อย่างน้อยในหลักการ: ฉันต้องการทราบจากผู้อื่นเกี่ยวกับเรื่องนี้ ในขณะเดียวกัน การเดาที่มีการศึกษาของฉันคือ:

  • "เราพิจารณางานที่ยากซึ่งเครื่อง PPT ไม่สามารถทำได้" (Goldreich, Foundation of Cryptography Volume I หน้า 19)
  • สำหรับการใช้งานจริงใดๆ เรามักถูกจำกัดให้ใช้เอนทิตีที่มีประสิทธิภาพ (รวมถึงผู้พิสูจน์ แม้ว่าในทางทฤษฎีจะไม่มีปัญหาในการพิจารณาว่าไม่มีขอบเขต)
  • การมีอยู่ของตัวจำลองเป็นเงื่อนไขที่เพียงพอแต่ไม่จำเป็นสำหรับ ZK ดังนั้นการใช้กระบวนทัศน์นี้หมายความว่าขาดสมมติฐานที่ครอบคลุมมากที่สุด: ในสถานการณ์นี้ ดูเหมือนว่าจะยอมรับได้หากใช้คำจำกัดความที่ระมัดระวังมากเกินไป
AXX avatar
cm flag
AXX
ฉันมีคำถามติดตามผลอีกข้อในตอนนี้... หากเราเข้าใจการกรอกลับเป็นการมองล่วงหน้าจริงๆ เราก็สามารถพิสูจน์คุณสมบัติความรู้เป็นศูนย์ของโปรโตคอล 3 รอบได้ (กล่าวถึงใน[หมายเหตุนี้](https://courses.grainger.illinois .edu/cs598dk/fa2019/Files/lecture08.pdf) ใน 8.7) อย่างชัดเจน: เราดำเนินการล่วงหน้าเพื่อค้นหาข้อความ $n$ ทั้งหมดที่ผู้ตรวจสอบจะถาม จากนั้นเราเตรียมคำมั่นสัญญาของเราใน ขั้นตอนแรกตามลำดับดังนั้นความเข้าใจของฉันเกี่ยวกับ oracle ผิดหรือไม่? มันเรียกคืนข้อความถัดไปจริง ๆ หรือเพียงแค่ผลลัพธ์สุดท้ายเมื่อโต้ตอบกับผู้ตรวจสอบ?
baro77 avatar
gd flag
การตอบกลับในคำตอบที่แก้ไขแล้ว :)
AXX avatar
cm flag
AXX
ขอบคุณสำหรับการแก้ไข ฉันคิดว่าตอนนี้ฉันเข้าใจรายละเอียดปลีกย่อยในการโต้เถียงแบบย้อนกลับแล้ว แท้จริงแล้ว ฉันไม่เคยตระหนักว่าความท้าทายที่ผู้ตรวจสอบความถูกต้องส่งมาสามารถ "ปรับใช้" กับข้อผูกพันในระยะแรกได้
Score:2
ธง ng

ก. กรอกลับ โปรแกรม เป็นเรื่องปกติในการคำนวณ วิธีหนึ่งที่จะเรียกมันคือการก ภาพรวมแล้วรันใหม่ตามที่สภาพแวดล้อมการดำเนินการเสมือนอนุญาต แอปพลิเคชันหนึ่งกำลังเล่นเกมอาร์เคดสุดคลาสสิกให้จบโดยไม่เริ่มใหม่ตั้งแต่ต้นหลังจากเกิดความผิดพลาด สิ่งที่ต้องทำคือตัดสินใจว่าเราต้องการย้อนกลับที่จุดใด ทำสำเนาสถานะของเครื่องทั้งหมด (RAM และการลงทะเบียน) ณ จุดนั้น จากนั้นค่อยใส่ทุกอย่างกลับเข้าที่

อย่างน้อยการพิสูจน์บางอย่างโดยใช้การย้อนกลับด้วยวิธีนี้: เราส่งคืนโปรแกรมโจมตีและออราเคิลสมมุติฐานไปยังป้อยอที่บันทึกไว้ จากนั้นเริ่มต้นใหม่ด้วยเทปสุ่มที่แตกต่างกัน / คำตอบของออราเคิลที่แตกต่างกันจากจุดนั้น เราควบคุมเทปสุ่ม (ซึ่งเป็นค่าใหม่ของออราเคิล) เหมือนกับโฮสต์ VM สามารถควบคุม RNG ของเครื่องเสมือนไคลเอ็นต์ ความสามารถดังกล่าวทำให้เราสามารถเปลี่ยนโปรแกรมโจมตีสมมุติฐานให้กลายเป็นสิ่งที่โจมตีโปรโตคอลอื่นได้ ดังนั้นการพิสูจน์ความปลอดภัยของโปรโตคอลรุ่นหลังนี้แสดงว่าไม่สามารถมีโปรแกรมโจมตีสมมุติดังกล่าวได้

แทนที่จะเป็น "มหาอำนาจ" ฉันมองว่านี่เป็นการสร้างโดยใช้สภาพแวดล้อมการประมวลผลที่ทรงพลังกว่าเล็กน้อย เหมือนกับคอมพิวเตอร์โฮสต์สำหรับเครื่องเสมือน

หมายเหตุ: ฉันไม่แน่ใจว่าการเปรียบเทียบนี้ใช้สำหรับการย้อนกลับเหมือนในโปรแกรมจำลอง ZK หรือไม่

baro77 avatar
gd flag
imho โครงสร้างพื้นฐาน VMs เป็นเพียงตัวอย่างที่เกิดขึ้นจริงของวิธีที่กล่องดำ oracle เข้าถึงรูทีนย่อย _next_message_ ของตัวตรวจสอบได้ในสถานการณ์ "โลกแห่งความจริง" ในปัจจุบัน อย่างไรก็ตาม เมื่อเราจัดการกับ ZK Simulator เราสนใจเงื่อนไขการมีอยู่ของมัน ไม่ใช่วิธีการนำไปใช้ ดังนั้น "มหาอำนาจ" ในที่นี้จึงไม่ได้หมายถึงสภาพแวดล้อมคอมพิวเตอร์เฉพาะ แต่หมายถึงความสามารถที่อนุญาตนอกเหนือข้อจำกัดในการพิสูจน์เชิงโต้ตอบ (หรือที่รู้จักในกฎของโปรโตคอล พูด)
AXX avatar
cm flag
AXX
ขอบคุณสำหรับคำตอบ! มันทำให้ฉันรู้ว่าใครสามารถย้อนกลับโปรแกรมในโลกทางกายภาพได้อย่างไร ดูเหมือนว่าสิ่งนี้ต้องการให้ผู้โจมตีทำงานบนสภาพแวดล้อมเสมือนจริงที่ควบคุมโดยผู้ป้องกัน ซึ่งฉันคิดว่าเป็นสิ่งที่สถานการณ์ ZK ไม่อนุญาต (หรือมิฉะนั้น ผู้พิสูจน์ที่ประสงค์ร้ายสามารถชนะได้อย่างง่ายดาย อย่างที่ @baro77 ระบุไว้)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา