ใน "ฉันใช้ 3072 สำหรับ Paillier's $n$", 3072 เป็นขนาดบิตของ $n$. ดังนั้นฉันจะอ่านคำถามเป็น:
OU ควรกว้างแค่ไหน $n=p^2q$ ให้ปลอดภัยเหมือนของ Paillier $n=pq$ จาก 3072 บิต?
การโจมตีระบบเข้ารหัสลับทั้งสองที่รู้จักกันดีที่สุดคือการแยกตัวประกอบของ $n$.
วิธีการแยกตัวประกอบที่รู้จักกันดีที่สุดสำหรับ $n=pq$ กับ $p$ และ $คิว$ จำนวนเฉพาะสุ่มที่มีขนาดเท่ากันคือ จีเอ็นเอฟเอส,ของค่าใช้จ่าย $L_n[1/3,4\cdot3^{-2/3}]$ต่อ LÂ สัญกรณ์.
สำหรับการแยกตัวประกอบของ $n=p^2q$, GNFS ยังใช้งานได้โดยมีค่าใช้จ่ายใกล้เคียงกัน ดังนั้นเราต้องมี $n$ อย่างน้อย 3072 บิต อย่างไรก็ตาม, ECM ของ Lenstra ก็ต้องพิจารณาด้วย และ (คิดว่า) ค่าใช้จ่ายก็ประมาณนี้ $L_{\min(p,q)}[1/2,2^{1/2}]$. ดังนั้นเพื่อเพิ่มความต้านทานต่ออัลกอริธึมในภายหลังที่เราควรมี $p$ และ $คิว$ ที่มีขนาดใกล้เคียงกัน ขนาดนั้นต้องมีอย่างน้อย 1024 บิตเพื่อรับ 3072 บิต $n$. และถ้าเราทำคณิตศาสตร์และไม่สนใจ $o(1)$ ใน $L_k[\alpha,c]=e^{(c+o(1))\ln(k)^\alpha\ln(\ln(k))^{1-\alpha}}$เราได้ 1024 บิตนั้น $p$ และ $คิว$ คือ (แทบจะไม่) เพียงพอสำหรับ ECM ที่จะมีราคาแพงกว่า GNFS
ดังนั้นเราควรมี $p$ และ $คิว$ อย่างน้อย 1024 บิต เช่น อยู่ในช่วง $[2^{1024-1/3},2^{1024}]$ สำหรับ 3072 บิต $n$. หากเราต้องการผิดพลาดในฝั่งที่ปลอดภัยเพราะเราเพิกเฉย $o(1)$เราสามารถชนกันเล็กน้อยเช่น 1152 บิต เช่น อยู่ในช่วง $[2^{1152-1/3},2^{1152}]$ สำหรับ 3456 บิต $n$.
การคำนวณเดียวกันรองรับ คำพูดลึกลับของ Captain Nemo "RSA Moduli ควรมี 3 ปัจจัยสำคัญ".
เพิ่มเติม: หลักฐานสนับสนุนใน Mathematica ซึ่งให้ค่า 0.5⦠(resp. 10.3â¦) สำหรับลอการิทึมฐาน 2 ของอัตราส่วนของงานระหว่าง ECM @1024-bit (resp. @1152 bits) factor ในการทำงานสำหรับ GNFS @ ผลิตภัณฑ์ 3072 บิต ลองออนไลน์!.
L[n_, a_, c_] := Exp[c (บันทึก[n]^a) (บันทึก[บันทึก[n]]^(1-a))];
LGNFS[n_] := L[n, 1/3, 4 3^(-2/3)];
LLenstra[p_] := L[p, 1/2, 2^(1/2)];
บันทึก[2., LLenstra[2^{1024,1152}]/LGNFS[2^3072]]