Score:0

จำนวนเต็มคี่ที่เราต้องทดสอบจนกว่าจะพบจำนวนที่เป็นจำนวนเฉพาะสำหรับขนาดโมดูลัส RSA ตามอำเภอใจ

ธง at

ขนาดโมดูลัส RSA ที่นิยมคือ $1024$, $2048$, $3072$ และ $4092$ นิดหน่อย. เราต้องทดสอบจำนวนเต็มคี่แบบสุ่มกี่จำนวนโดยเฉลี่ยจนกว่าเราจะคาดว่าจะพบจำนวนเต็มที่เป็นจำนวนเฉพาะ ฉันรู้คร่าวๆว่าทุกๆ $\ln พี$ จำนวนเต็มมีเฉพาะ สำหรับ $1024$ นิดหน่อย $p$, $\ln พี = 710$. โดยเฉลี่ยแล้วจำเป็นต้องทดสอบเกี่ยวกับ $710/2=355$ เลขคี่ก่อนหาจำนวนเฉพาะ จริงหรือไม่และเราสามารถแยกสูตร $(\ln พี)/2$ สำหรับขนาดโมดูลัส RSA ตามอำเภอใจใด ๆ

kelalaka avatar
in flag
ดูคำถาม : [ทฤษฎีบทจำนวนเฉพาะ - RSA](https://crypto.stackexchange.com/q/11106/18298)
Mohammadsadeq Borjiyan avatar
at flag
ขอบคุณ. ใช่ ฉันรู้สูตรของจำนวนเฉพาะที่น้อยกว่า x ที่คุณพูดถึง ตอนนี้ข้อสรุปของฉันเป็นจริงหรือไม่?
poncho avatar
my flag
เพื่อให้ความซับซ้อนของการใช้งานจริงเข้ามาขัดขวาง เรามักจะใช้การกรองเพื่อกำจัดจำนวนเฉพาะของจำนวนเฉพาะขนาดเล็ก (เช่น จำนวนเฉพาะขนาดเล็กทั้งหมดน้อยกว่า 10,000) สิ่งนี้จะลดจำนวนค่าที่คาดไว้ซึ่งเราต้องการสำหรับการทดสอบที่สมบูรณ์ยิ่งขึ้น อย่างไรก็ตาม มันยังทำให้การประยุกต์ใช้ทฤษฎีบทจำนวนเฉพาะอย่างง่ายซับซ้อนอีกด้วย...
gnasher729 avatar
kz flag
Kekalaka คุณต้องการลอการิทึมธรรมชาติ
Score:-1
ธง kz

สำหรับ n-bit RSA คุณจะต้องค้นหาจำนวนเฉพาะสองตัวที่มีผลิตภัณฑ์เป็นจำนวน n-บิต ซึ่งมีค่าประมาณ n/2 บิตแต่ละตัว อันที่จริง ขนาดเล็กกว่าเล็กน้อยและใหญ่กว่าเล็กน้อย เนื่องจากคุณไม่ต้องการให้จำนวนเฉพาะอยู่ใกล้กันเกินไป

ประมาณหนึ่งใน ln M ตัวเลขรอบ M เป็นจำนวนเฉพาะ นั่นคือลอการิทึมธรรมชาติ ln (2) ใกล้เคียงกับ 0.7 ถ้า M = 2^(n/2) แล้ว ln M â 0.35n คุณกำลังตรวจสอบเฉพาะจำนวนเต็มคี่ซึ่งมีโอกาสเป็นจำนวนเฉพาะมากกว่าสองเท่า โดยมีความน่าจะเป็น 2 / 0.35n การทดสอบจำนวนเต็มคี่ 0.175n หาจำนวนเฉพาะ คุณต้องการสองดังนั้นประมาณ 0.35n

แต่โปรดทราบว่าหลายตัวมีตัวหารขนาดเล็กและสามารถระบุได้อย่างรวดเร็ว เช่น ใช้ตะแกรงลบตัวเลขที่มีตัวประกอบ < 1,000 หรือ 10,000 ในการรับจำนวนไพรม์ คุณจะต้องรันการทดสอบของ Miller-Rabin 50 หรือ 100 ครั้ง ในขณะที่ 3/4 ของจำนวนไพรม์ที่ไม่ใช่ไพรม์คุณรัน 1 ครั้ง สำหรับ 3/4 ของที่เหลือคุณรัน 2 ครั้ง เป็นต้น ประเด็นก็คือ การทดสอบ non-prime สำหรับความเป็นอันดับหนึ่งมักจะค่อนข้างเร็วการทดสอบจำนวนเฉพาะจริงทั้งสองใช้เวลานาน จำนวนของคอมโพสิตที่คุณทดสอบสำหรับความเป็นอันดับหนึ่งนั้นไม่สำคัญมากนัก

ป.ล. ฉันเพิ่งรู้ว่าทุกคนประเมินค่าปัจจัย 2 สูงเกินไป ถ้าฉันตัดสินใจว่าฉันต้องการไพรม์ที่ใกล้กับ K แปลกๆ ฉันจึงทดสอบ K, K+2, K+4 ฯลฯ จนกว่าจะเจอไพรม์ ให้ p เป็นจำนวนเฉพาะที่มากที่สุดน้อยกว่า K และ q เป็นจำนวนเฉพาะแรก >= K จำนวนของจำนวนปิดที่จะทดสอบไม่ใช่ช่องว่าง q-p หารด้วย 2 (เพราะเราทดสอบเฉพาะจำนวนคี่) แต่เป็นครึ่งหนึ่ง เนื่องจาก K สามารถอยู่ที่ไหนก็ได้ในช่องว่างนั้น

PPS ฉันเพิ่งรู้ว่ามีบางอย่างผิดปกติในการโต้แย้งนั้นâ¦

cn flag
คุณหมายถึงอะไรกับ "ในขณะที่ 3/4 ของ non-prime คุณเรียกใช้เพียงครั้งเดียว สำหรับ 3/4 ของส่วนที่เหลือคุณเรียกใช้สองครั้ง เป็นต้น" ดูเหมือนว่าคุณคิดว่าบุคคลที่ไม่ใช่ไพรม์ผ่านการทดสอบของ Miller-Rabin ด้วยความน่าจะเป็น 1/4 ซึ่งสูงเกินไป เว้นเสียแต่ว่าใครบางคน (อาจจะสร้างตัวเลขพิเศษขึ้นมาอย่างชั่วร้าย) ให้ผู้สมัครหลักแก่คุณ คุณค่อนข้างมั่นใจว่าตัวเลขสุ่ม 1,000 บิตที่ผ่านการทดสอบของ Miller-Rabin เป็นจำนวนเฉพาะ เหตุผลในการทดสอบ MR ซ้ำก็เพื่อโน้มน้าวผู้ประเมินว่าความน่าจะเป็นที่จะไม่เป็นจำนวนเฉพาะนั้น *พิสูจน์ได้* น้อยกว่า - สมมติว่า - $2^{-80}$
poncho avatar
my flag
คำตอบนี้ยังถือว่าคุณจะใช้ Miller-Rabin สำหรับการทดสอบความเป็นอันดับหนึ่งของคุณ นั่นไม่จำเป็นต้องเป็นความจริง ตัวอย่างเช่น หากคุณใช้อัลกอริทึมของ Shawe-Taylor (ซึ่งเริ่มต้นด้วยตัวประกอบเฉพาะขนาดใหญ่ที่ $p-1$) คุณจะต้องวนซ้ำเพียงครั้งเดียวหากคุณใช้ไพรม์ จากประสบการณ์ของฉัน งานในการสร้างค่าเฉพาะที่ใหญ่ขึ้นเรื่อย ๆ (เป็นปัจจัยขนาดใหญ่ของ $p-1$ สำหรับจำนวนเฉพาะที่ใหญ่ขึ้นถัดไป) นั้นเร็วกว่า Miller-Rabin ซ้ำ ๆ
cn flag
ครึ่งหนึ่งของคำตอบนี้ตอบคำถามซึ่งไม่ได้ถูกถามในคำถามเลย
gnasher729 avatar
kz flag
ความน่าจะเป็นของ 3/4 ที่จำนวนประกอบไม่ผ่าน Rabin-Miller pass นั้นพิสูจน์ได้ง่าย ดังนั้น อย่างน้อย 3/4 ของตัวเลขที่คุณทดสอบหาค่าไพรม์ลิตี้ล้มเหลวในการผ่านหนึ่งครั้ง 3/4 ของควอเตอร์ที่เหลือล้มเหลวในการผ่านครั้งที่สอง เป็นต้น เฉพาะเมื่อคุณทดสอบไพรม์จริงเท่านั้นที่คุณต้องการผ่านจำนวนมาก จำนวนผู้สมัครที่คุณทดสอบจึงไม่มีความเกี่ยวข้องมากนัก คุณใช้เวลาส่วนใหญ่ไปกับค่าเดียวที่เป็นจำนวนเฉพาะ
Score:-2
ธง cn

ไม่ คุณคิดผิด เพราะ

ฉันรู้ว่าจำนวนเต็ม ln p ทุกตัวมีจำนวนเฉพาะ

เป็นการคาดคะเนคร่าวๆ ซึ่งผิดจริงๆ

การประมาณค่าของฟังก์ชันการนับจำนวนเฉพาะ $\Pi(p)=p /ln(p)$ ประมาณจำนวนเฉพาะทั้งหมดระหว่าง 0 ถึง $p$. ดังนั้นสำหรับจำนวนที่มี x บิต คุณต้องดู $\Pi(2^{x}) - \Pi(2^{x-1})$ และเปรียบเทียบกับจำนวนผู้สมัครทั้งหมดซึ่งมี $2^{x-2}$เมื่อคุณพิจารณาเฉพาะเลขคี่

คุณอยู่ไม่ไกล และผลต่างนั้นน้อยสำหรับตัวเลขจำนวนมาก แต่สูตรไม่ง่ายขนาดนั้น

gnasher729 avatar
kz flag
âประมาณâ เขาค่อนข้างถูกต้อง และเลขชี้กำลังของคุณออกทีละหนึ่ง และฟังก์ชันการนับเฉพาะไม่ได้ประมาณค่า
cn flag
@ gnasher729 ถูกต้องเหมือนกับการพูดว่า $\Pi=3$ คุณพูดถูกเกี่ยวกับเลขยกกำลังที่ยกกำลังหนึ่ง ฉันเปลี่ยนแล้ว
Daniel S avatar
ru flag
ค่าประมาณที่แม่นยำกว่าสำหรับฟังก์ชันการนับจำนวนเฉพาะคือ $\pi(x)\sim\int_2^x\frac{dt}{\log t}$ ซึ่งเท่ากับการสังเกตของเกาส์ว่าจำนวนเฉพาะรอบๆ $t$ มีความหนาแน่น ประมาณ $1/\log t$ กล่าวอีกนัยหนึ่ง ค่าประมาณในคำถามมีความแม่นยำมากกว่า $(2^x/(\log 2^x)-2^{x-1}/(\log 2^{x-1}))/2^{ x-2}$.
cn flag
ความหนาแน่น ณ จุดหนึ่งไม่เหมือนกับความหนาแน่นในช่วงเวลาหนึ่ง และนั่นคือประเด็นหลักที่นี่
Daniel S avatar
ru flag
ตาม sagemath $\mathrm{li}(2^{1024})-\mathrm{li}(2^{1023})\ประมาณ 1.2669e305$ ในขณะที่ $2^{1023}/1024\log(2)\approx 1.2663e305$ และ $2^{1024}/1024\log(2)-2^{1023}/1023\log(2)\ประมาณ 1.2651e305$ โปรดทราบว่าข้อผิดพลาดในการประมาณ $\mathrm{li}(x)$ คือ (สมมติว่า RH) จะเป็น $O(x^{1/2+\epsilon})$ และน้อยกว่า เช่น 1e200 ค่าประมาณในคำถามนั้นแม่นยำกว่า

โพสต์คำตอบ

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