สำหรับ 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 ฉันเพิ่งรู้ว่ามีบางอย่างผิดปกติในการโต้แย้งนั้นâ¦