Score:3

กำหนด $Ï(n)$ เราจะหาชุดค่าผสมสำหรับ $p, q$ จำนวนเฉพาะได้อย่างไร

ธง jp

สมมติว่าฉันได้พบสิ่งนั้นแล้ว $Ï(n) = 240$ สำหรับ $n = 900$. ฉันจะสรุปได้อย่างไรว่าของฉัน $n = pq$ เป็นประเภท $2^2\cdot3^2\cdot5^2$? คืออะไร $คิว$ และคืออะไร $p$ ที่นี่?

เพื่อให้แม่นยำยิ่งขึ้นสำหรับคำถามของฉัน: สำหรับทุกคน $n \ใน \Bbb N$ ด้วยรู้เท่านั้น $Ï(n)$ ฉันสามารถค้นหาการถอดชิ้นส่วนของ $n$ ถึงปัจจัยสำคัญ?

แก้ไข (การคำนวณที่ฉันได้ทำไปแล้ว):

$Ï(n) = (p - 1)(q - 1)$

$240 = pq - (p + q) + 1$

แทนที่ $n$ :

$(p + q) = 900 - 240 + 1 = 661$

หา $(พี - คิว)$:

$(p - q)^2 = (p + q)^2 - 4pq = (661)^2 - 4\cdot900 = ... = 433,321$ $(p - q) = 658.271$

จากจุดนี้และต่อไป, เพิ่ม $(p - q), (p + q)$ รวมกันแล้วให้ผลผิดอย่างชัดแจ้ง $n = pq$.

Mabadai avatar
jp flag
วิธีค้นหา $p$ และ $q$ เมื่อ $n$ ที่กำหนดเป็นเวอร์ชัน "แฟคเตอร์ไพรม์" แก้ไข: การคำนวณ p, q สำหรับ $Ï(900)=240$ ให้ผลลัพธ์ทศนิยมสำหรับสมการกำลังสอง ซึ่งแน่นอนว่าไม่เป็นจริงสำหรับ $p, q$ เป็นจำนวนเฉพาะ ฉันเพิ่มการคำนวณของฉันในคำถาม ฉันพลาดประเด็นเมื่อ $(p - q)$ ได้รับผลลัพธ์ที่ไม่ใช่คู่สำหรับการลบเฉพาะ (สมมติว่า $p > q$ โดยไม่สูญเสียความหมายทั่วไปและ $p, q > 2$)
fgrieu avatar
ng flag
$Ï(n)=(p - 1)(q - 1)$ ไม่ถือเป็น $n=p\,q$ ทั้งหมด จะถือก็ต่อเมื่อ $n$ เป็นผลคูณของจำนวนเฉพาะสองตัวที่แตกต่างกัน $p$ และ $q$ นี่ไม่ใช่กรณีของ $n=900$ ดูเช่น [สิ่งนี้](https://en.wikipedia.org/wiki/Euler%27s_totient_function)ว่าทำไม
Mabadai avatar
jp flag
@fgrieu ตอนนี้ฉันเข้าใจสิ่งที่ผิด นี่เป็นความจริงหรือไม่ที่จะไม่ถือ $n$ ซึ่งเป็นการคูณจำนวนเฉพาะหลอกสองตัว
fgrieu avatar
ng flag
$Ï(p\,q)=(p - 1)(q - 1)$ ถือถ้า $p$ และ $q$ เป็นจำนวนเฉพาะที่แตกต่างกัน; โดยทั่วไปแล้วมันไม่ได้ถือเป็น pseudoprimes การหา $p$ และ $q$ ให้ $n=p\,q$ และ $Ï(n)$ โดยการแก้สมการกำลังสอง (อย่างที่คุณทำ) จึงใช้ได้เฉพาะเมื่อ $n$ เป็นผลคูณของจำนวนเฉพาะสองตัวเท่านั้น สำหรับบางสิ่งที่กว้างกว่านั้น: ก่อนอื่นให้กำจัดปัจจัยใดๆ ของ $n$ ที่แสดงโดยการคำนวณ $\gcd(n,Ï(n))$ เมื่อไม่เหลือ ให้ใช้ $n$ ที่ไม่มีกำลังสองและผลคูณที่ไม่ใช่ศูนย์ของ $m$ ของ $λ(n)$ รวมทั้ง $m=Ï(n)$ เราสามารถแยกตัวประกอบของ $n$ ได้ ดูเช่น [สิ่งนี้](https://crypto.stackexchange.com/q/62482/555) แทนที่ $f$ ด้วย $m$
Mabadai avatar
jp flag
@fgrieu ฉันค่อนข้างสูญเสียปัจจัยในการเรียก $n = 60$ โดยใช้ฟังก์ชันของ Carmichael บางทีคุณอาจมีการอ้างอิง เช่น การใช้ตัวเลข (ไม่ใช่พารามิเตอร์) กรุณาแสดงความนับถือ.
kelalaka avatar
in flag
[อ่านเอกสาร RSA](https://crypto.stackexchange.com/a/75709/18298)? มีกล่าวไว้แล้วในที่นั้น...
Mabadai avatar
jp flag
ขอบคุณมาก! คำถามนี้สามารถปิดได้
kelalaka avatar
in flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [เหตุใดจึงสำคัญที่ phi(n) ถูกเก็บเป็นความลับใน RSA](https://crypto.stackexchange.com/questions/5791/why-is-it-important-that-phin-is-kept- อะ-ซีเคร็ท-อิน-รสา)
Mabadai avatar
jp flag
@kelalaka สิ่งนี้แก้ไขได้ส่วนหนึ่งส่วนที่ฉันพบที่นี่ https://math.stackexchange.com/questions/651646/does-knowing-phi-n-help-in-prime-factorization
kelalaka avatar
in flag
สำหรับกรณีทั่วไป RSA เป็นกรณีพิเศษที่ $n$ เป็นผลคูณของจำนวนเฉพาะสองตัวที่แตกต่างกัน แน่นอนว่ามี Multi-prime RSA โดยที่ $n$ เป็นผลคูณของจำนวนเฉพาะที่แตกต่างกันมากกว่าสองตัว ฉันได้รับถ้าสำหรับชื่อของคุณ
Score:7
ธง ng

เราต้องการแยกตัวประกอบ $n=900$ ใช้สิ่งนั้น $\varphi(n)=240$และปัจจัยโดยทั่วไป $n$ รู้ว่า ออยเลอร์ totient $\varphi(n)$.

นอกเหนือจากการแบ่งการทดลองแล้ว เราสามารถใช้เทคนิคสามประการ

  1. หาตัวหารร่วมมากของสองตัวนี้ซึ่งถ้า $n$ หารด้วยสี่เหลี่ยมจัตุรัส และบางกรณีหายากจะเผยให้เห็นตัวประกอบของ $n$และ (เมื่อแยกตัวประกอบ GCD แล้ว) จะเปิดเผยตัวประกอบทั้งหมดของ $n$หรือปล่อยให้ก ไร้เหลี่ยม $n$ เพื่อแยกตัวประกอบ (นั่นคือ $n$ ผลคูณของจำนวนเฉพาะที่แตกต่างกัน)
  2. เทคนิคที่ใช้กับ $n$ ผลคูณของจำนวนเฉพาะเฉพาะ: การรู้ผลคูณ (ไม่ใช่ศูนย์) ใดๆ $f$ ของ $\แลมบ์ดา(n)$ (ที่ ฟังก์ชันคาร์ไมเคิล), รวมทั้ง $f=\varphi(n)$ หรือ $f=e\,d-1$ ใน RSA ช่วยให้การแยกตัวประกอบ $n$ กับ อัลกอริทึมนี้ .
  3. เทคนิคง่ายๆ ที่ใช้ได้กับ $n$ ผลคูณของจำนวนเฉพาะสองตัว $p$, $คิว$: เราหาได้ $\sigma=p+q=n-\varphi(n)+1$แล้วหา $p$ และ $คิว$ เป็นรากสองตัวของสมการกำลังสอง $x^2-\sigma\,x+n=0$.

การใช้ GCD

จำได้ว่าถ้าการแยกตัวประกอบของ $n$ เป็น $n=\prod\left({p_i}^{k_i}\right)$ ด้วยจำนวนเฉพาะที่แตกต่างกัน $p_i$, แล้ว $\varphi(n)=\prod\left(\left(p_i-1\right)\,{p_i}^{k_i-1}\right)$. ดังนั้นสำหรับทุกคน $i$ กับ $k_i>1$, ${p_i}^{k_i-1}$ แบ่ง $n$ และ $\varphi(n)$.

สิ่งนี้กระตุ้นให้เกิดการคำนวณ $g:=\gcd(n,\varphi(n))$. ถ้า $g\ne1$ (ซึ่งมีความเป็นไปได้ต่ำมากหาก $n$ เป็นโมดูลัส RSA จริง) ดังนั้น $g$ เป็นปัจจัยที่ไม่สำคัญของ $n$ และเราได้ก้าวหน้า: เราสามารถแยกตัวประกอบได้ $g$ และ $n/g$ แยกกัน นอกจากนี้ เมื่อเราพบการแยกตัวประกอบของ $g$เราสามารถดึงปัจจัยเหล่านี้มาจาก $n$ ออกจาก $n':=n/\prod\left({p_j}^{k_j}\right)$ เพื่อแยกตัวประกอบและเป็นที่รู้จัก $\varphi(n'):=\varphi(n)/\prod\left(\left(p_j-1\right)\,{p_j}^{k_j-1}\right)$, และตอนนี้ $\gcd(n',\varphi(n'))=1$.

ถ้า $g=1$, แล้ว $n$ ไม่มีรูปสี่เหลี่ยมจัตุรัส (นั่นคือทุกๆ $k_i=1$หรือเทียบเท่า $n$ เป็นผลคูณของจำนวนเฉพาะที่แตกต่างกัน)

ที่นี่ $\gcd(900,240)=60=2^2\cdot3\cdot5$. ดึงปัจจัยเหล่านี้ $2$, $3$, $5$ ออกจาก $n$เราได้การแยกตัวประกอบที่สมบูรณ์แล้ว $900=2^2\cdot3^2\cdot5^2$ และปัญหาได้รับการแก้ไข

ดังนั้น ต่อไปนี้เราจะย้ายไปที่ตัวอย่างที่ใหญ่ขึ้น: ปัจจัย $n=12790396087027$รู้ $\varphi(n)=11797951366656$.

$\gcd(12790396087027,11797951366656)=13$และนั่นเป็นปัจจัยสำคัญของ $n$. ดึงออก $13$ และมันคือเลขยกกำลัง เราได้ทำให้ปัญหาง่ายขึ้นเป็นการแยกตัวประกอบ $n'=n/13^2=75682817083$ รู้ $\varphi(n')=\varphi(n)/\big(13\,(13-1)\big)=11797951366656/\big(13\cdot 12\big)=75627893376$. ตอนนี้เราต้องการเทคนิคเพิ่มเติม


เทคนิคทั่วไปสำหรับสแควร์ฟรี $n$

รู้ผลคูณใด ๆ (ที่ไม่ใช่ศูนย์) $f$ ของ $\แลมบ์ดา(n')$ (ฟังก์ชันคาร์ไมเคิล) ช่วยการแยกตัวประกอบแบบไม่มีกำลังสอง $n'$โดยใช้อัลกอริทึม ที่นั่น. เรามี $f=75627893376=2^7\cdot590842917$ ดังนั้น $s=7$, $t=590842917$.

  • $a:=2$, $b=a^t\bmod n'=2^{590842917}\bmod 11797951366656=17605996164$
  • $c:=b^2\bmod n'=17605996164^2\bmod 11797951366656=8570506209$, ดังนั้น $b:=c$.
  • $c:=b^2\bmod n'=8570506209^2\bmod 11797951366656=1$, ความสำเร็จ!
  • $p:=\gcd(b-1,n')=\gcd(8570506209-1,11797951366656)=4327$ ซึ่งเป็นปัจจัยสำคัญของ $n'$, $q:=n'/p=11797951366656/4327=17490829$ ซึ่งเป็นรูปประกอบ ไม่ใช่รูปสี่เหลี่ยมจัตุรัส

เราจะเหลือแฟ $\tilde n=17490829$ รู้ $\varphi(\tilde n)=\varphi(n')/(p-1)=17482176=\tilde\varphi$. เราสามารถใช้เทคนิคทั่วไปข้างต้นได้อีกครั้ง แต่คราวนี้เราก็หวังได้เช่นกัน $\tilde n$ มีตัวประกอบเฉพาะ (เฉพาะ) สองตัวเท่านั้น $p$ และ $คิว$.


$n$ ผลคูณของปัจจัยเฉพาะที่แตกต่างกันสองประการ $p$ และ $คิว$

พวกเรารู้ $p\,q=\tilde n=17490829$ และ $(p-1)(q-1)=\tilde\varphi=17482176$. นั่นคือระบบสมการสองสมการที่มีนิรนามสองตัว มันเป็นไปตาม $p+q=\tilde n-\tilde\varphi+1=\sigma=8654$, ดังนั้น $p$ และ $คิว$ เป็นคำตอบของสมการดีกรีสอง $x^2-\sigma\,x+\tilde n=0$, ดังนั้น $p=(\sigma-\sqrt{\sigma^2-4\,\tilde n})/2=(8654-\sqrt{8654^2-4\cdot17490829})/2=3217$ และ $q=(\sigma+\sqrt{\sigma^2-4\,\tilde n})/2=(8654+\sqrt{8654^2-4\cdot17490829})/2=5437$. ทั้งคู่ $p$ และ $คิว$ เป็นจำนวนเฉพาะ ดังนั้น ความหวังของเราจึงเกิดขึ้น และในที่สุด การแยกตัวประกอบที่ต้องการก็คือ $n=12790396087027=13^2\cdot3217\cdot4327\cdot5437$.

Mabadai avatar
jp flag
สิ่งนี้ช่วยแก้ปัญหาของฉันได้อย่างแน่นอนและมีประโยชน์มาก ขอบคุณครับอาจารย์ ผมได้เรียนรู้อะไรมากมาย

โพสต์คำตอบ

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