การกรองตัวเลขในขอบเขตแบบธรรมดา

ในทฤษฎีจำนวนนั้น การกรองตัวเลขในขอบเขตแบบธรรมดา (GNFS) เป็น วิธีการในการแยกตัวประกอบจำนวนเต็มที่มีขนาดใหญ่ (มีตัวประกอบ 100 ตัวขึ้นไป) ได้เร็วที่สุด มักจะใช้กับเลขที่มีจำนวนมากกว่า 110 บิท โดยนำไปใช้ในการเข้ารหัสลับแบบกุญแจอสมมาตร (Public-key cryptography) ซึ่งเป็นขั้นตอนวิธีที่เหมาะสำหรับลายเซ็นดิจิทัลรวมทั้งการเข้ารหัสที่มีความปลอดภัย
การกรองตัวเลขในขอบเขตแบบธรรมดา นั้นมีเป้าหมายเพื่ออธิบายความสัมพันธ์ของที่มา, ข้อมูล และทฤษฎี ให้ผู้อ่านที่มีความเข้าใจในด้านต่าง ๆ เข้าใจและได้ข้อสรุปตรงกันและร่วมกันยกระดับพื้นฐานของวิธีการนี้ให้มีประสิทธิภาพมากขึ้นอีกด้วย
จะเห็นได้ว่า การกรองตัวเลขในขอบเขตแบบธรรมดานั้นมีความสำคัญอย่างมากในการรับส่งข้อความที่เป็นความลับ จึงเป็นสิ่งที่นักวิชาการให้ความสนใจ ไม่ว่าจะเป็นตัวขั้นตอนการทำงาน ผลลัพธ์จากหลากหลายขอบเขตของคณิตศาสตร์และวิทยาการคอมพิวเตอร์, ทฤษฎีเลขพีชคณิต, สมการเชิงเส้น, ค่าจำนวนจริง และการวิเคราะห์เชิงซ้อน
การกรองตัวเลขในขอบเขต.
ตั้งแต่ได้มีการเปิดตัว (ECM) ในปี ค.ศ. 1985 แล้วก็ไม่มีทฤษฎีใดที่จะกล่าวถึงขั้นตอนวิธีการแยกตัวประกอบอีกเลย นอกจากขั้นตอนวิธีที่มีอยู่เดิม ซึ่งได้แก่ (MPQS) และวิธีนี้นับเป็นวิธีที่เร็วที่สุด ณ ขณะนั้น แต่ก็ไม่ได้เป็นที่ยอมรับแต่อย่างใด ต่อมาได้มีการพูดถึง การกรองตัวเลขในขอบเขต  (NFS) กันมากขึ้น ว่าเป็นวิธีการแยกตัวประกอบที่ดีและเร็วกว่าขั้นตอนวิธีใด ๆ ที่เคยมีมา ขั้นตอนวิธีประเภทนี้ สามารถแยกตัวประกอบเลขจำนวนหนึ่งโดยใช้เวลาเพียงแค่ไม่กี่สัปดาห์ เมื่อเทียบกับ Multiple Polynomial Quadratic Sieve (MPQS) ซึ่งใช้เวลานับปี แต่จากการบอกเล่าของ Joe Buhler และ ที่กล่าวไว้ว่า ทฤษฎีการกรองตัวเลขในขอบเขตนั้นสามารถนำไปใช้ได้ดีกับเลขจำนวนเต็มทั่ว ๆ ไป
จากผลการวิจัยพบว่า รูปแบบของสมการที่เหมาะสม อยู่ในรูป <math>n = r^{e} \pm s</math> โดยกำหนดให้ <math>r</math> และ <math>s</math> เป็นจำนวนที่น้อยมาก ๆ และ <math>e</math> เป็นจำนวนที่มีขนาดใหญ่มาก
<math>e (c +o (1)) (log n) ^{\frac{1}{3}} (log log n) ^{\frac{2}{3}}</math>
โดยที่ <math>c = 2 (\frac{2}{3}) ^{\frac{2}{3}}</math> ประมาณ 1.526 (เป็นเลขคงที่ ไม่ว่า <math>n</math> จะเป็นเลขจำนวนเต็มใด ๆ)
วิธีนี้เป็นวิธีที่ดีกว่า Multiple polynomial quadratic sieve (MPQS) เป็นอย่างมาก
<math>e ((1+o (1)) (log n) ^{\frac{1}{2}} (log log n) ^{\frac{1}{2}}</math>
วิธีนี้จะขึ้นอยู่กับจำนวนเต็ม <math>n</math> ด้วย โดยทั่วไปวิธีนี้จะได้ผลที่ใกล้เคียงกับ Multiple polynomial quadratic sieve (MPQS) หรืออาจจะดีกว่าเพียงเล็กน้อยเท่านั้น
ขั้นตอนการกรองตัวเลขในขอบเขตแบบธรรมดา.
กำหนดให้ <math>F</math> คือ ตัวประกอบ ที่ถูกเลือก <math>U</math> คือ เซต ของจำนวนเต็ม
ดังนั้น จะพบว่า ทุก ๆ <math>r_{i}</math> ที่เป็นสมาชิกของ <math>U</math> จะอยู่เหนือ <math>F</math> และ <math>\Pi_{r_i} f ({r_i}) =y^2</math>
สำหรับ <math>Y</math> บางตัวที่เป็นสมาชิกของ <math>Z</math> เนื่องจากรูปแบบสมการพหุนามพิเศษ คือ
<math>\prod_{r_{i}} f ({r_{i}}) \equiv \prod_{r_{i}} ({r_{i}^2-n}) \equiv \prod_{r_{i}\in U} {r_{i}^2} \equiv (\prod_{r_{i}\in U} {r_{i}}) ^2 (\hbox{ mod }n) </math>
ขั้นตอนการกรองตัวเลขในขอบเขตแบบธรรมดาพัฒนามาจากพหุนามกำลังสองซึ่งมีความสามารถในการหาคำตอบสำหรับตัวเลขที่มี เลขชี้กำลัง จำนวนมากๆ
ตัวอย่างการกรองตัวเลขในขอบเขตแบบธรรมดา.
วิธีการกรองตัวเลขในขอบเขตแบบธรรมดา เคยถูกใช้ในการหาตัวประกอบที่มีจำนวน 193 หลัก RSA₆₄₀ ขนาดใหญ่ ในเดือนพฤศจิกายน ปี ค.ศ. 2005 โดย F. Bahr, M. BOEHM, J. FRANKE,T. KLEINJUNG ซึ่งจะได้ว่า
RSA640=3107418240490043721350750035888567930037346022842727545720161948823206440518081504556346829671723286782437916272838033415471073108501919548529007337724822783525742386454014691736602477652346609
=1634733645809253848443133883865090859841783670033092312181110852389333100104508151212118167511579·1900871281664822113126851573935413975471896789968515493666638539088027103802104498957191261465571
โครงสร้างพื้นฐานของการกรองตัวเลขในขอบเขตแบบธรรมดา.
เราสามารถทำการกรองตัวเลขในขอบเขตแบบธรรมดา ได้ในขั้นตอนต่อไปนี้
เราสามารถบอกได้ว่า <math>Av=0</math> ซึ่งอ้างอิงจาก พีชคณิตเชิงเส้น ตามขั้นตอนดังนี้
หลังจากการลดสมการแล้ว ก็มาถึงการแก้สมการเชิงเส้นที่มีจำนวนมาก ๆ โดยทั่วไปแล้ว ขั้นตอนวิธีที่ดีที่สุดในการ random matrix ที่มีค่า 0 ที่แตกต่างกัน คือ การกำจัดเกาท์ร่วมกับการคูณ เมทริกซ์ อย่างรวดเร็ว แต่สำหรับกรณีที่เรามี ระบบสมการเชิงเส้นเบาบาง ดังนั้น เราจะมีขั้นตอนวิธีที่ดีกว่าคือ
ขั้นตอนวิธีดังที่กล่าวมาในข้างต้นนั้นถูกกล่าวถึงโดย Daniel Loebenberger ซึ่งการคำนวณค่ากำลังสองของ <math>Z</math> นั้น ไม่พบปัญหาใด ๆ มีวิธีการคำนวณ ค่ากำลังสองมามากหลายวิธีในแต่ละขั้นตอนวิธีและวิธีใหม่ล่าสุดคือวิธี Montgomery นั่นเอง