Score:2

zkSnark: การจำกัดพหุนาม

ธง et

ฉันกำลังอ่านคำอธิบายของ zkSnark ที่เขียนโดย Maksym Petkus - http://www.petkus.info/papers/WhyAndHowZkSnarkWorks.pdf

ฉันเข้าใจทุกอย่างใน 15 หน้าแรก

ใน 3.4 การจำกัดพหุนาม (หน้า 16)

เราได้จำกัดผู้พิสูจน์ในการเลือกพลังการเข้ารหัสของ s แล้ว แต่ข้อจำกัดดังกล่าวไม่ได้ถูกบังคับใช้ เช่น สามารถใช้ วิธีที่เป็นไปได้ในการค้นหาค่าโดยพลการ $z_p$ และ $z_h$ ซึ่งเป็นไปตามสมการ $z_p = (z_h)^{t(s)}$ และมอบให้ผู้ตรวจสอบแทน $g^p$ และ $g^h$. ตัวอย่างเช่น สำหรับ r สุ่มบางตัว $z_h = g^r$ และ $z_p = (g^{t(s)})^{r}$, ที่ไหน $g^{t(s)}$ สามารถคำนวณได้จากพลังการเข้ารหัสที่ให้มา $s$. นั่นคือเหตุผลที่ผู้ตรวจสอบต้องการหลักฐานที่ให้เฉพาะการเข้ารหัสของพลังของ $s$ ถูกนำมาใช้ในการคำนวณ $g^p$ และ $g^h$ และไม่มีอะไรอื่น

ฉันไม่สามารถเข้าใจได้ว่าผู้พิสูจน์สามารถหาค่าโดยพลการของ $z_p$ และ $z_h$ ซึ่งตอบสนองความ $z_p = (z_h)^{t(s)}$? ตัวอย่างเช่น สำหรับ r สุ่มบางตัว $z_h = g^r$ และ $z_p = (g^{t(s)})^{r}$

ผู้พิสูจน์ไม่รู้ $s$ และเขาไม่รู้ $g$แล้วเขาจะทำอย่างไร?

ในระยะสั้น ฉันไม่สามารถเข้าใจได้ว่าอะไรคือการโจมตี (เพื่อป้องกัน) ซึ่งจำเป็นต้องมี "การจำกัดพหุนาม"

Score:3
ธง ru

ต่อหน้า 15 ของกระดาษ บทพิสูจน์มีให้ด้วย $E(s^0)=E(1)=g$ (ผมจะเรียกสิ่งนี้ว่า $E_0$). ในทำนองเดียวกันพวกเขาให้ด้วย $$E_1:=E(s), E_1:=E(s^2),\cdots, E_d:=E(s^d).$$ อนุญาต $t(s)=\sum_{0\le i\le d}c_is^i$ (กับ $c_i$ รู้จักผู้พิสูจน์) แล้ว $g^{t(s)}=E(t(s))=\prod_{0\le i\le d}E_i^{c_i}$.

ดังนั้นผู้พิสูจน์รู้ทั้งสองอย่าง $g$ และ $g^{t(s)}$ และในกระดาษพวกเขาอาจเลือกแบบสุ่ม $r$ เพื่อสร้าง $z_h$ และ $z_p$ ด้วยการยกระดับคุณค่าเหล่านี้ให้เป็นพลัง $r$.

ประเด็นของการโจมตีคือการคำนวณข้างต้นไม่จำเป็นต้องมีความรู้ $p(x)$ ซึ่งเป็นสิ่งที่ผู้พิสูจน์ควรจะพิสูจน์ความรู้ ผู้ตรวจสอบโง่พอที่จะเชื่อว่าค่าสุ่ม $z_h$ ทำเท่ากัน $g^{h(s)}$ และนั่น $z_p$ ทำเท่ากัน $g^{p(s)}$ จะได้ไม่มีอะไรขัดแย้งกับความเชื่อของตน

et flag
ฉันรู้ว่าฉันยอมรับคำตอบแล้ว อย่างไรก็ตาม ฉันลองตัวอย่าง & มันใช้งานไม่ได้
et flag
E(c) = g^c mod 23. ตรวจสอบตัวอย่างที่ s = 14 & ให้ $E(s^0) = 5$, $E(s^1) = 13$, $E(s^2) = 12 $, $E(s^3) = 3$ รากที่รู้จัก 2 ตัวคือ 3 & 4 เช่น $t(s) = (x-3)(x-4)$ ผู้พิสูจน์เลือกสุ่ม r = 6 t(6) = 3 * 2 = 6 ผู้พิสูจน์คำนวณ $z_h = 5^6 \pmod {23} = 8$ & $z_p = (5^6)^6 \pmod {23 } = 13$ ส่ง $z_p$ และ $z_h$ ไปยังผู้ตรวจสอบ ตัวตรวจสอบคำนวณ t(14) = 11 * 10 = 110 ตัวตรวจสอบคำนวณ $E(h)^t = 8^{110} \pmod {23} = 1$ ดังนั้น $E(p) \ne E(h)^t$ ผมทำอะไรผิดหรือเปล่า? ฉันเข้าใจคำตอบของคุณผิดหรือเปล่า?
Daniel S avatar
ru flag
ผู้พิสูจน์ไม่ได้คำนวณ $t(r)$ แล้วตามด้วย $g^{t(r)}$ แต่จะคำนวณ $g^{t(s)}=g^{s^2â7s+12}=12Ã13^{â7}Ã5^{12}$ และเพิ่มเป็น กำลัง $r$ เมื่อเริ่มต้นปราชญ์คณิตศาสตร์ เราเห็นว่า $g^{t(s)}\equiv 1\pmod{23}$ ดังนั้น ผู้พิสูจน์จึงตั้งค่า $z_p=1^r\equiv 1\pmod{23}$ และ $z_h=8$ . จากนั้นพวกเขาจะคำนวณ $z_h^{110}=8^{110}\equiv 1\pmod{23}$ ซึ่งเป็นค่าเดียวกัน
et flag
ตกลงว่าเช็คเอาท์ !!
et flag
ฉันพบปัญหาอื่นเกี่ยวกับโปรโตคอลที่อธิบายไว้ในข้อ 3.3 ให้รูทที่ 3 จริงเป็น 0 เช่น พหุนามจริงคือ (x)(x-3)(x-4) แม้ว่าผู้พิสูจน์จะไม่รู้พหุนามที่แท้จริง & รูทที่แท้จริง & เขาสันนิษฐานว่ารูทที่ 3 แทน 2 แทนที่จะเป็น 0 & ว่าพหุนามคือ (x-2)(x-3)(x-4) & do ขั้นตอนทั้งหมด - ขั้นตอนยังคงตรวจสอบและผู้ตรวจสอบจะไม่ทราบว่าผู้พิสูจน์นั้นไม่รู้จักพหุนามที่ถูกต้อง ฉันสงสัยว่านี่เป็นข้อผิดพลาดแยกต่างหากจากโปรโตคอลที่อธิบายใน 3.3 หรือเป็นการเปลี่ยนแปลงของสิ่งเดียวกันที่กล่าวถึงใน 3.4 ฉันคิดว่ามันเป็นความผิดที่แตกต่าง
Daniel S avatar
ru flag
ใช่ ปัญหาคือค่าตัวอย่างที่เลือก $s=14$ เป็นรากของ $t(x)$ modulo 22 ซึ่งเป็นลำดับของกลุ่ม mod 23 ซึ่งนำไปสู่ ​​$z_p=1$ ซึ่งทำให้เกิดความเสื่อมตาม คุณได้พบ ผู้ตรวจสอบควรตรวจสอบก่อนที่จะส่ง $t(s)\not\equiv 1\pmod{q}$ สำหรับจำนวนเฉพาะ $q$ ขนาดใหญ่หาร $p-1$ กรณีนี้น่าจะเป็นไปได้มากหากเราใช้ไพรม์ขนาดใหญ่และแข็งแกร่ง
et flag
คุณกำลังบอกว่าปัญหาทั้งสอง (ปัญหาที่อธิบายไว้ใน 3.4 และปัญหาที่ฉันชี้ให้เห็นในความคิดเห็นล่าสุดของฉัน) เป็นเพราะ $s=14$ เป็นรากของ $t(x) \pmod {22}$ หรือเป็นเพียงหนึ่งในนั้น ด้วยเหตุนี้?
et flag
ดังนั้นฉันจึงลองทั้งสองปัญหาด้วย s = 16 ซึ่งไม่ใช่รูท และทั้งสองประเด็นยังคงอยู่ ดังนั้นการมี s เป็นรูทของ t(s) mod (p-1) ทำให้ E(p) เป็น 1 เสมอ แต่มิฉะนั้นจะทำให้เกิดปัญหากับโปรโตคอลได้อย่างไร
Daniel S avatar
ru flag
ฉันไม่มีปัญหากับ $s=16$ สำหรับพหุนาม $t(x)=x(x-3)(x-4)$, $t(s)=2496$ สำหรับพหุนาม $(x-2)(x-3)(x-4)=x^3-9x^2+26x-24$ ผู้พิสูจน์จะคำนวณ $E(s^3)E(s^2)^ {-9}E(s)^{26}E(1)^{-24}=8$ การสุ่มเลือก $r=6$ ผู้พิสูจน์จะส่ง $z_h=8$ และ $z_p=13$ ตัวตรวจสอบจึงมี $z_h^{2496}=3$ ซึ่งไม่เหมือนกับ $z_p$
et flag
p(x) = x(x-3)(x-4), t(x) = (x-3)(x-4) - ดังนั้น t(16) = 156 & ไม่ใช่ 2496 $13^{156} \ pmod {23} \equiv 8$ - ดังนั้นตรงกัน

โพสต์คำตอบ

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