Score:5

หลักฐานที่ไม่มีความรู้ของความเท่าเทียมกันระหว่าง RSA Modulus และ Prime Order Group

ธง kn

สมมติว่ามีรหัสสาธารณะ RSA $(จ,น)$ การแยกตัวประกอบของ $n$ ไม่เป็นที่รู้จักของทั้งฝ่ายผู้พิสูจน์และผู้ตรวจสอบ นอกจากนี้เรายังมีกลุ่มการสั่งซื้อที่สำคัญ $G$ และเครื่องกำเนิดไฟฟ้า $g$ สำหรับกลุ่ม สำหรับ $m\ ใน QR_n$มีโปรโตคอลการพิสูจน์ความรู้เป็นศูนย์เพื่อพิสูจน์สิ่งนั้นหรือไม่ $C_1=m^e$ และ $C_2=g^m$, เพื่อค่านิยมสาธารณะ $(C_1, C_2, จ, น, ก)$?

Fractalice avatar
in flag
สิ่งที่ทำให้ฉันรู้สึกไม่สบายใจคือ $QR_n$ กำหนดค่า modulo $n$ โดยที่ใน $g^m$ ค่า $m$ ถูกกำหนดเป็น modulo $\varphi(n)$ (หรือมากกว่านั้น modulo $|G|$ อะไรก็ตาม) . และค่าเหล่านี้เป็นค่า "มุมฉาก" ดังนั้นจึงไม่มีคำจำกัดความที่ชัดเจน การบังคับให้ $QR_n$ เป็นเพียงส่วนย่อยของ $\{0,\ldots,n-1\}$ นั้นเป็นการแฮ็ค/ไม่ใช่พีชคณิต
Fractalice avatar
in flag
นอกจากนี้ เหตุใดจึงต้องจำกัด $m\in QR_n$
kentakenta avatar
kn flag
ขอบคุณสำหรับความคิดเห็นของคุณ. $m\in QR_n$ เนื่องจากไม่ใช่ข้อความสุ่ม แต่เป็นค่าเฉพาะจากโปรโตคอล และทั้งสองฝ่ายรู้ว่า $m\in QR_n$ ความกังวลของฉันก็เหมือนกันกับคุณ ผมคิดไม่ออกว่าเราจะให้หลักฐานดังกล่าวในกรณีที่เรารู้ว่า m เป็นเศษส่วนกำลังสอง, หรือเราทำไม่ได้
Score:1
ธง cf

TL, DR: คำเชื่อมของง่าย $\ซิกม่า$-โปรโตคอลสามารถพิสูจน์ข้อความผสมนี้ได้ด้วยความรู้ที่เป็นศูนย์ อย่างไรก็ตาม หลักฐานค่อนข้างใหญ่

ขั้นแรก เรามาแยกย่อยข้อความประสมของคุณออกเป็นข้อความง่ายๆ สังเกตว่าโดยพื้นฐานแล้วคุณต้องการพิสูจน์ด้วยความรู้เป็นศูนย์สำหรับ $C_1=m^e$ และ $C_2=g^m$ ความสัมพันธ์ต่อไปนี้ $\mathcal{R}(x,\omega)$ ($x$ เป็นพารามิเตอร์สาธารณะและ $\โอเมก้า$ เป็นพยาน) ถือได้ว่า $$\mathcal{R}=\{((C_1,C_2),(m,l)):m\in QR_{N}\land C_1=m^e\bmod{N}\land C_2=g^m \bmod{p}\}, $$ ที่ไหน $l$ เป็นรากที่สองของ $m\bmod{N}$กล่าวคือพยานคือ $(ม.,ล.)$ คู่. เพื่อความง่าย ให้ใช้สัญลักษณ์ต่อไปนี้สำหรับข้อความพื้นฐาน: $$\mathcal{R}_1=\{((C_1,C_2),(m,l)):m\in QR_{N}\}, $$ $$\mathcal{R}_2=\{((C_1,C_2),(m,l)): C_1=m^e\bmod{N}\}, $$ $$\mathcal{R}_3=\{((C_1,C_2),(m,l)):C_2=g^m\bmod{p}\}. $$

โปรดทราบว่างบพื้นฐานทั้งสอง $\คณิตศาสตร์แคล{R}_2$ และ $\คณิตศาสตร์แคล{R}_3$ ง่ายต่อการพิสูจน์ด้วย $\ซิกม่า$-โปรโตคอล เนื่องจากทั้งสองความสัมพันธ์พิสูจน์ความรู้ของพรีอิมเมจภายใต้กลุ่มโฮโมมอร์ฟิซึ่ม (กล่าวคือ ของ $w$ น่าพอใจ $x=\phi(ว)$). ในกรณีของ $\คณิตศาสตร์แคล{R}_2$ กลุ่มโฮโมมอร์ฟิซึ่ม $\phi(\omega)=\omega^e$, ขณะที่อยู่ใน $\คณิตศาสตร์แคล{R}_3$, โฮโมมอร์ฟิซึ่มคือ $\phi(\omega)=g^{\omega}$. ข้อความเหล่านี้ค่อนข้างเป็นมาตรฐาน และคุณสามารถหาวิธีการพิสูจน์ภาพล่วงหน้าของโฮโมมอร์ฟิซึ่มได้ใน Bangerter และคณะ หรือใน หนังสือ Boneh-Shoupและอื่น ๆ อีกมากมาย

เพื่อพิสูจน์ $\คณิตศาสตร์แคล{R}_1$ เป็นเรื่องยากเล็กน้อยตั้งแต่แรกเห็นตั้งแต่นั้นเป็นต้นมา $m$ จำเป็นต้องเก็บเป็นความลับและเราต้องการพิสูจน์สิ่งนั้น $m$ เป็นเศษเหลือกำลังสอง นั่นคือ $m\ ใน QR_N$. ในการปรับใช้เกือบทั้งหมดของระบบเข้ารหัสลับ RSA $e$ เป็นเรื่องแปลก (ฉันคิดว่านี่เป็นกรณีในใบสมัครของคุณด้วย) ดังนั้น $C_1=m^e\in QR_{N} \iff m\in QR_{N}$. ฉันยังถือว่าผู้เข้ารหัสรู้ $l$หนึ่งในรากที่สองของ $m$เนื่องจากไม่ทราบการแยกตัวประกอบ หากตัวเข้ารหัสไม่รู้จักเช่น $l$แล้วพิสูจน์ไม่ได้ว่าเป็นเศษซากกำลังสอง เพราะไม่ทราบการแยกตัวประกอบ จากการสนทนานี้ตอนนี้ $\คณิตศาสตร์แคล{R}_1$ โดยพื้นฐานแล้วเกี่ยวข้องกับการพิสูจน์ข้อความต่อไปนี้: $$\mathcal{R}_1=\{((C_1),(l)):C_1=l^{2e}\bmod{N}\}, $$ ซึ่งเป็นอีกครั้งที่พิสูจน์ความรู้ของ preimage ของกลุ่มโฮโมมอร์ฟิซึ่ม เรารู้วิธีพิสูจน์ข้อความนี้

ในการรวมสิ่งเหล่านี้เข้าด้วยกันเพื่อรับการพิสูจน์ที่ไม่มีความรู้สำหรับข้อความผสม $\mathcal{R}$ผู้ตรวจสอบเพียงแค่ต้องส่งคำท้าแบบสุ่มที่เหมือนกันสำหรับข้อความพื้นฐานทั้งหมด (คำท้าแบบสุ่มจะแตกต่างกันไปตามการทำซ้ำของโปรโตคอล!)

ขนาดของหลักฐานคืออะไร? สำหรับ $\ซิกม่า$-protocols ในกลุ่มของคำสั่งที่ไม่รู้จัก ความถูกต้องผิดพลาดสูง ดังนั้นจำเป็นต้องทำซ้ำ $\ซิกม่า$-โปรโตคอลหลายครั้งเพื่อให้ได้ระดับความสมบูรณ์ที่เหมาะสม ในการทำซ้ำแต่ละครั้ง ข้อผิดพลาดด้านเสียงจะลดลง $\ประมาณ 1/2$. ดังนั้น โพรโทคอลต้องถูกทำซ้ำตามลำดับเพื่อรับข้อผิดพลาดความรู้เล็กน้อยที่เพียงพอ (เช่น $80$ จำเป็นต้องทำซ้ำตามลำดับเพื่อให้ได้ข้อผิดพลาดของความรู้ $1/2^{80}$). อันจะส่งผลให้มีการพิสูจน์ประกอบด้วย $2*2*80=320$ องค์ประกอบกลุ่มสำหรับ $3$ คำสั่งพื้นฐาน (2 คำสั่งเกิดขึ้นในกลุ่ม RSA ดังนั้นเราจึงต้องทำซ้ำหลายครั้ง)

เพื่อหลีกเลี่ยงข้อจำกัดด้านประสิทธิภาพนี้ คุณจำเป็นต้องใช้สตริงอ้างอิงทั่วไปเพื่อลดขนาดการพิสูจน์ ดู Bangerter และคณะ

หวังว่านี่จะช่วยได้! แจ้งให้เราทราบหากฉันทิ้งพื้นที่สีเทาไว้ในคำตอบ!

kentakenta avatar
kn flag
ขอบคุณมากสำหรับคำอธิบายโดยละเอียด ฉันเห็นบทความของ Bangerter et al ครั้งแรก. @fractalice ชี้ให้เห็นข้อกังวลอื่นที่ฉันมีนอกเหนือจากประสิทธิภาพเป็นความคิดเห็น คุณมีความคิดเกี่ยวกับสถานการณ์นั้นหรือไม่?
István András Seres avatar
cf flag
เพื่อบรรเทาปัญหาที่ @fractalice กล่าวถึง (กล่าวคือ $m$ อาจไม่ได้กำหนดไว้อย่างดี) คุณอาจต้องการเพิ่มการพิสูจน์ช่วงเพื่อให้แน่ใจว่า $m\leq p$ ฉันคิดว่านั่นจะแก้ไขปัญหาได้
kentakenta avatar
kn flag
นั่นสมเหตุสมผลจริงๆ อีกแนวคิดหนึ่งที่ฉันคิดขึ้นมาคือ แทนที่จะพิสูจน์ความเท่าเทียมกัน ฉันอาจลองเพิ่มแฮชจาก $QR_n$ เป็น $\mathbb{Z}_p^*$ ขอขอบคุณอีกครั้งสำหรับการตอบกลับของคุณ
Geoffroy Couteau avatar
cn flag
อีกทางเลือกหนึ่งคือกำหนดกลุ่มของคุณ $\mathbb{G}$ ให้มีลำดับ $n$ เช่นเดียวกับกลุ่ม RSA สิ่งนี้นำไปสู่เส้นโค้งวงรีขนาดใหญ่ แต่คุณไม่จำเป็นต้องพิสูจน์ช่วงราคาแพงเพื่อรับประกันความสมบูรณ์

โพสต์คำตอบ

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