Score:3

มีการพิสูจน์ความรู้ที่ไม่มีศูนย์ของความลับที่แฮชหรือไม่?

ธง kp

อลิซต้องการแบ่งปันความลับ $S$ กับบ็อบ ดังนั้นเธอจึงเข้ารหัสมันด้วยคีย์ส่วนตัวของบ็อบ

Bob ไม่ได้ออนไลน์อยู่ในขณะนี้ ดังนั้น Victor จะรักษาความปลอดภัยให้เขาในระหว่างนี้

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

อลิซทำแบบนี้

encryptedSecret = เข้ารหัส (ความลับ, bobsPublicKey)

วิคเตอร์ทำแบบนี้

ตรวจสอบ (encryptedSecret, hashOfSecret) => จริง
ตรวจสอบ ("สิ่งอื่นใด", hashOfSecret) => เท็จ

ทำเช่นนั้น ตรวจสอบ ฟังก์ชั่นที่มีอยู่?

knaccc avatar
es flag
ต้องเป็นแฮชหรืออาจเป็นความมุ่งมั่นแบบอื่น
david_adler avatar
kp flag
อาจเป็นความมุ่งมั่นที่แตกต่างออกไป หาก Victor ไม่สามารถเปิดเผยความลับได้
knaccc avatar
es flag
คำถามของคุณทำให้เข้าใจง่ายขึ้นเป็น: หาก Victor ทราบถึงข้อผูกมัดต่อความลับ Alice จะให้ความลับนั้นแก่ Bob โดยไม่โต้ตอบได้อย่างไรผ่านทาง Victor รวมถึงการพิสูจน์ให้ Victor ทราบว่าความลับนั้นได้รับมาโดยที่ Victor ไม่สามารถเรียนรู้ ความลับ? โปรดระบุว่าใครต้องเป็นผู้ให้คำมั่นสัญญา เนื่องจากจะทำให้คำตอบแตกต่างกัน
david_adler avatar
kp flag
อลิซจำเป็นต้องให้คำมั่นสัญญาเนื่องจาก Bob ออฟไลน์อยู่
knaccc avatar
es flag
แต่วิคเตอร์รู้ได้อย่างไรว่าข้อผูกมัด (ไม่ว่าจะเป็นแฮชหรืออย่างอื่น) เป็นข้อผูกมัดต่อความลับที่ถูกต้อง? อลิซสามารถให้คำมั่นสัญญากับความลับอื่น และแสดงหลักฐานว่าความลับนั้นได้ถูกมอบให้กับบ็อบ วิกเตอร์จะไม่รู้ว่ามีการให้ความลับที่ถูกต้องหรือไม่
david_adler avatar
kp flag
ใช่ นั่นเป็นเหตุผลที่ฉันระบุไว้ คุณไม่จำเป็นต้องกังวลกับ "รายละเอียดว่าเขาสามารถพึ่งพาแฮชได้อย่างไรไม่เกี่ยวข้องที่นี่" มันเฉพาะกับใบสมัครของฉัน แต่โดยพื้นฐานแล้วหากมีการเผยแพร่ความลับปลอมระหว่างอลิซกับบ๊อบ มันก็ไม่สำคัญ ข้อมูลลับจะไม่ทำงานจนกว่าจะแจกจ่ายให้กับผู้ใช้รายอื่นอย่างน้อยหนึ่งรายได้สำเร็จ ผลเสียคือเมื่อมีชาร์ลีหรือคนอื่นๆ เข้ามาเกี่ยวข้อง และพวกเขาเริ่มแจกจ่ายความลับปลอมเพื่อเป็นความลับที่ถ่ายทอดสด
knaccc avatar
es flag
คำถามของคุณง่ายขึ้นเป็น: Alice จะเข้ารหัสความลับที่มีเพียง Bob เท่านั้นที่สามารถถอดรหัสได้อย่างไร ในลักษณะที่ว่าหาก Bob เข้ารหัสลับเดียวกันนั้นอีกครั้งและส่งไปยัง Charlie Bob สามารถแสดงให้ Victor เห็นว่าความลับเดียวกัน เดิมได้รับจากอลิซ ตอนนี้ถูกส่งไปยังชาร์ลี? ความลับถูกเข้ารหัสซ้ำเพื่อส่งไปยังบุคคลอื่นโดยบุคคลที่รู้ความลับหรือไม่?
david_adler avatar
kp flag
ใช่ นั่นเป็นวิธีที่ดีกว่ามากในการพูด คุณเข้าใจอย่างถ่องแท้แล้ว ขอบคุณ ไม่แน่ใจว่าจะตอบคำถามใหม่อย่างไรดีที่สุด ...
knaccc avatar
es flag
เมื่ออลิซกำลังส่งสัญญาณลับ หรือเมื่อบ็อบกำลังส่งสัญญาณลับซ้ำ ไม่สำคัญว่าอลิซหรือบ็อบจะทำให้การส่งสัญญาณเสียหายจนดูเหมือนวิคเตอร์จะดูดี แต่จะมีเพียงแค่ผู้รับเท่านั้นที่สามารถค้นพบว่าเป็นการส่งสัญญาณที่มีรูปแบบไม่ดีซึ่งควรจะเป็น ปฏิเสธ? หรือการส่งซ้ำต้องพิสูจน์ว่าผู้รับจะสามารถถอดรหัสได้สำเร็จหรือไม่?
david_adler avatar
kp flag
"ความลับนั้นถูกเข้ารหัสซ้ำเพื่อส่งไปยังบุคคลอื่นโดยบุคคลที่รู้ความลับหรือไม่" ใช่
david_adler avatar
kp flag
ไม่แน่ใจว่าฉันเข้าใจคำถามชุดสุดท้ายของคุณหรือไม่ ฉันคิดว่าวิธีเดียวที่จะได้ผลคือ: หากการส่งสัญญาณครั้งแรกระหว่างอลิซกับบ็อบเสียหาย การส่งสัญญาณในอนาคตทั้งหมดควรตรงกับความลับที่เสียหายด้วย
david_adler avatar
kp flag
ให้เรา [สนทนาต่อในแชท](https://chat.stackexchange.com/rooms/132390/discussion-between-david-adler-and-knaccc)
Score:0
ธง nl

มี ZK-STARK ที่พิสูจน์ว่าคุณรู้จักพรีอิมเมจถึงคุณค่า "คำสั่ง Rescue-Hash ที่พิสูจน์โดยผู้พิสูจน์ที่ระบุในรหัสนี้คือ:

"ฉันรู้ลำดับของอินพุต n + 1 {w_i} เช่นว่า H(...H(H(w_0, w_1), w_2) ..., w_n) = p"

ที่ไหน:

H คือฟังก์ชันแฮชกู้ภัย
แต่ละ w_i เป็น 4 ทูเพิลขององค์ประกอบฟิลด์ สิ่งเหล่านี้เป็นข้อมูลส่วนตัวที่ทราบโดยผู้พิสูจน์เท่านั้น
p คือเอาต์พุตสาธารณะของแฮช (ซึ่งประกอบด้วยองค์ประกอบฟิลด์ 4 รายการด้วย)

" https://github.com/starkware-libs/ethSTARK/tree/ziggy

david_adler avatar
kp flag
สิ่งนี้ฟังดูดีมากแต่ยังเกินหัวของฉันนิดหน่อย คุณช่วยอธิบายให้ฉันฟังได้ไหมว่าฉันอายุ 5 ขวบ ฉันไม่เข้าใจว่า "อินพุต" คืออะไรและฉันไม่เข้าใจว่า P คืออะไร ในแง่ของอลิซ บ๊อบ ฯลฯ มันทำงานอย่างไร?
Mark avatar
ng flag
แม้จะสายไปหน่อย กุญแจสำคัญของผลลัพธ์ของแบบฟอร์มนี้คือแฮชเฉพาะที่ใช้ (กู้ภัย) คือ "เป็นมิตรกับการเข้ารหัสลับขั้นสูง" ซึ่งหมายความว่ามี "ความซับซ้อนในการคูณต่ำ" โดยเมตริกบางอย่าง ดังนั้นจึงเหมาะสำหรับการใช้งานกับการเข้ารหัสลับขั้นสูง ดั้งเดิม (เช่น MPC, FHE หรือ ZKProofs --- ทั้งหมดมีเมตริกต้นทุนต่างกันเล็กน้อย แต่พูดคร่าวๆ ก็คือ "การบวกราคาถูก" และ "การคูณที่แพง") หากตัวแฮชนั้นแสดงออกได้ว่าเป็นวงจรความลึกที่ค่อนข้างต่ำ (ทวีคูณ) คุณสามารถหวังว่าจะได้รับการพิสูจน์ ZK ของภาพพรีอิมเมจแฮช "โดยตรง" เช่น ถือว่าเป็น...
Mark avatar
ng flag
ข้อความทั่วไปที่คุณต้องการพิสูจน์ และใช้เทคนิคที่หาได้ทั่วไปสำหรับสิ่งนี้ โปรดทราบว่าเทคนิคทั่วไปนี้จะทำงานได้แย่กว่ามากในฟังก์ชันแฮชอื่นๆ ที่ไม่ใช่ "เป็นมิตรกับการเข้ารหัสลับขั้นสูง" เช่น ตัวแปร SHA (หรือฟังก์ชันแฮช "ส่วนใหญ่" จริงๆ ไม่ได้ออกแบบมาสำหรับเป้าหมายนี้โดยเฉพาะ)
Score:0
ธง in

การตรวจสอบโซลูชัน Sudoku แบบส่วนตัว การพูดคุยของ Bowe-Maxwell และการทำธุรกรรม bitcoin ที่การประชุมเชิงปฏิบัติการ Financial Crypto 2016

ปัญหาที่แก้ไขได้ด้วยการตรวจสอบคือ:

  1. ผู้ซื้อลังเลที่จะส่งเหรียญของเขาก่อน ซึ่งมีความเสี่ยงที่จะได้รับบิตสุ่ม
  2. ผู้ขายลังเลที่จะส่งคำตอบของปริศนาก่อน เสี่ยงที่จะไม่ได้รับผลตอบแทน

มีการนำหลักฐานที่ไม่โต้ตอบมาใช้เพื่อยืนยันว่า:

  1. ข้อความธรรมดาเป็นวิธีแก้ปัญหา Sudoku ที่ถูกต้องสำหรับปริศนาที่อยู่ในมือ
  2. ไซเฟอร์เท็กซ์ถูกสร้างขึ้นด้วยคีย์
  3. คีย์คือภาพล่วงหน้าสำหรับค่าแฮชที่ส่งไปยังผู้ซื้อพร้อมกับข้อความเข้ารหัส

แฮชนี้สามารถใช้เพื่อสร้างธุรกรรม HTLC เพื่อให้ผู้ขายอ้างสิทธิ์เหรียญของเขาโดยการเผยแพร่รหัสบนบล็อกเชนเท่านั้น จริง ๆ แล้วมีการใช้สคริปต์ แต่ให้ใช้ HTLC เป็นการทำให้เข้าใจง่าย

คำตอบสั้น ๆ ที่ใช้ได้จริงคือ: หนึ่งจะตรวจสอบ preimage แฮชด้วยการพิสูจน์ zkSNARK อีกคำตอบหนึ่ง (ทั่วไป) คือ มีระบบพิสูจน์อักษรโต้ตอบสำหรับภาษา NP ใดๆ

โฆษณาไร้ยางอาย: วงจรการตรวจสอบโซลูชันทางเลือกของ Sudoku ได้รับการออกแบบโดยเริ่มจากการแสดงชุดพหุนามและโซลูชัน "ไพ่" ของ Naor ซึ่งนำเสนอที่ IEEE ATIT 2019

https://github.com/vadym-f/Sudoku_solvability_proof/tree/master/IEEE_ATIT_2019

david_adler avatar
kp flag
เฮ้ ขอบคุณ! ฟังดูดี แต่ไม่แน่ใจว่าซูโดกุเกี่ยวข้องกับปัญหาของฉันอย่างไร คุณช่วยอธิบายเพิ่มเติมอีกเล็กน้อยเกี่ยวกับวิธีนำ zkSNARK ไปใช้กับปัญหาของฉัน เช่น ในแง่ของอลิซและบ็อบ ขอบคุณ
Vadym Fedyukovych avatar
in flag
ธุรกรรม HTLC และการพิสูจน์การแฮชความลับที่เหมาะสมดูเหมือนจะมีความเกี่ยวข้อง

โพสต์คำตอบ

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