n = p^a * q^b
के लिए, कुल φ(n) = (p-1)*p^(a-1) * (q-1)*q^(b-1)
है। सामान्यता के नुकसान के बिना, p < q
।
तो gcd(n,φ(n)) = p^(a-1) * q^(b-1)
अगर p
q-1
और gcd(n,φ(n)) = p^a * q^(b-1)
विभाजित नहीं होता है, तो p
बिताते हैं q-1
।
पहले मामले में, हम n/gcd(n,φ(n)) = p*q
और φ(n)/gcd(n,φ(n)) = (p-1)*(q-1) = p*q + 1 - (p+q)
है, इस प्रकार आप x = p*q = n/gcd(n,φ(n))
और y = p+q = n/gcd(n,φ(n)) + 1 - φ(n)/gcd(n,φ(n))
है। फिर p
और q
ढूंढना आसान है: y^2 - 4*x = (q-p)^2
, इसलिए q = (y + sqrt(y^2 - 4*x))/2
, और p = y-q
। फिर एक्सपोनेंट्स a
और b
ढूंढना मामूली है।
दूसरे मामले में, n/gcd(n,φ(n)) = q
। तब आप आसानी से एक्सपोनेंट b
पा सकते हैं, q
द्वारा विभाजित होने तक विभाजन शेष छोड़ देता है, और इस प्रकार p^a
प्राप्त करता है। φ(n)
(q-1)*q^(b-1)
द्वारा विभाजित z = (p-1)*p^(a-1)
देता है। फिर p^a - z = p^(a-1)
और p = p^a/(p^a-z)
। एक्सपोनेंट a
ढूँढना फिर से छोटा है।
तो यह तय करना बाकी है कि आपके पास कौन सा मामला है। आपके पास केस 2 है यदि केवल n/gcd(n,φ(n))
एक प्रमुख है।
इसके लिए, आपको एक सभ्य प्राथमिकता परीक्षण की आवश्यकता है। या आप पहले मान सकते हैं कि आपके पास केस 1 है, और यदि यह काम नहीं करता है, तो निष्कर्ष निकालें कि आपके पास 2 मामला है।
स्रोत
2012-04-27 17:01:47
+1 आपने यह कैसे किया है –
असल में, आपको कुल के लिए सूत्र जानने की आवश्यकता है, और आप 'पी * क्यू' और' पी + क्यू 'खोजना चाहते हैं। तब से, जब तक वांछित परिणाम निकलता है तब तक आप सामग्री को तब तक घुमाएं। –
इसके अलावा केस 3: 'gcd (n, φ (n)) = p^(a-1) * q^b' –