ฉันกำลังพยายามทำความเข้าใจอัลกอริทึม Quadratic Sieve
ตอนนี้ฉันติดอยู่ที่ส่วนตะแกรง
สมมติว่าจำนวนที่ต้องแยกตัวประกอบคือ 9788111 ฉันตัดสินใจหาตัวประกอบแบบเรียบ 50 ตัว
ฐานปัจจัยเริ่มต้นของฉัน (FB) = $p_i$ = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47}.
ฉันอ่านแต่ละหมายเลขใน FB และพลังของพวกเขา
สำหรับแต่ละหมายเลขใน FB ก่อนอื่นฉันจะตรวจสอบว่ามี N เป็น Quadratic Residue ม็อดหมายเลขหรือไม่ (เช่น N เป็น QR $\pmod {p_i}$. ถ้าเป็นเช่นนั้นฉันจะหาราก
สำหรับ 2 การตรวจสอบว่า N เป็น QR นั้นไม่สำคัญหรือไม่ $\pmod 2$. คุณยังสามารถขยายค่านี้สำหรับยกกำลัง 2 สำหรับจำนวนเฉพาะอื่นๆ คุณสามารถใช้เกณฑ์ของออยเลอร์สำหรับเศษส่วนกำลังสองเพื่อตรวจสอบว่า N เป็น QR หรือไม่ $\pmod {p_i}$. หากเป็น QR คุณสามารถใช้ Tonelli-Shanks เพื่อค้นหารากแล้วกรองด้วยไพรม์นั้น
ฉันจะได้อะไรจากพลังพิเศษ? สำหรับ e.q. $5^2$ฉันจะตรวจสอบได้อย่างไรว่า $t^2 \equiv N \pmod {5^2}$ มีวิธีแก้ไขหรือไม่? มีการทดสอบหรือกฎใด ๆ ที่จะตรวจสอบสิ่งนี้ก่อนที่ฉันจะพยายามค้นหารูทหรือไม่?
สำหรับอำนาจนายกเล็กเช่น $5^2$อาจเป็นไปได้ที่จะค้นหาการตรวจสอบด้วยตนเองหาก N เป็น QR $\pmod {{p_i}^n}$แต่คุณจะทำอย่างไรเพื่ออำนาจนายกรัฐมนตรีที่ใหญ่กว่า?