Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

मिलर-राबिन प्राइमलिटी टेस्टिंग की प्रक्रिया क्या है?

<घंटा/>

मिलर-राबिन पर्मालिटी टेस्ट एक मजबूत स्यूडोप्राइम खोजने के लिए एक क्लासिक विधि में फ़र्मेट टेस्ट और फ़र्मेट रूट टेस्ट को जोड़ती है। इस परीक्षण में, यह n - 1 को विषम संख्या m के गुणनफल और 2 की घात के रूप में लिख सकता है:

$$\mathrm{n-1=m\, x\, 2^{k}}$$

आधार a में Fermat परीक्षण की रचना इस प्रकार की जा सकती है:

$$\mathrm{a^{n-1}\, =\, a^{m\, x\, 2k}=\left [ a^{m} \right ]^{2k}=\left [ a^ {m} \right ]\frac{2^{2}\cdot \cdot \cdot 2}{K\, times}}$$

दूसरे शब्दों में, a n−1 . की गणना करने के बजाय (मॉड एन) एक चरण में, यह इसे k+1steps में कर सकता है। k + 1 का उपयोग करने का लाभ यह है कि वर्गमूल चरण में प्रत्येक चरण को लागू किया जा सकता है। यदि वर्गमूल परीक्षण विफल हो जाता है, तो यह रुक सकता है और n को एक संयुक्त संख्या घोषित कर सकता है।

प्रत्येक चरण में, यह प्रदान कर सकता है कि फर्मेट परीक्षण पास हो गया है और वर्गमूल परीक्षण आसन्न चरणों के सभी समूहों के बीच संतुष्ट है, यदि पहुंच योग्य है (यदि परिणाम 1 है)।

आरंभीकरण

  • यह आधार a का चयन कर सकता है और $\mathrm{T\, =\, a^{m}}$ की गणना कर सकता है, जिसमें $\mathrm{m\, =\, \frac{n-1}{2^{k }}}$

  • यदि T, + 1 या -1 है, तो घोषित करें कि n एक प्रबल स्यूडोप्राइम है और रुकें। क्योंकि यदि T+-1 है, तो T अगले चरण में 1 हो जाएगा और 1 तब तक बना रहेगा जब तक कि वह Fermattest पास नहीं कर लेता। इसके अलावा, T ने वर्गमूल परीक्षा पास कर ली है क्योंकि T अगले चरण में 1 हो सकता है और 1 (अगले चरण में) का वर्गमूल +-1 है।

  • यदि T कुछ और है, तो यह निश्चित नहीं है कि n एक अभाज्य है या एक संयुक्त, इसलिए यह अगले चरण पर जारी रह सकता है।

चरण1 :हम वर्ग टी

  • यदि परिणाम +1 है, तो यह निश्चित रूप से ज्ञात है कि फर्मेट परीक्षण पास हो जाएगा क्योंकि टी सफल परीक्षणों के लिए 1 रहता है। वर्गमूल परीक्षा उत्तीर्ण नहीं हुई है। क्योंकि इस चरण में T 1 है और पिछले चरण में +-1 के अलावा कुछ और था, यह n को समग्र घोषित कर सकता है और रुक सकता है।

  • यदि परिणाम -1 है, तो यह समझ सकता है कि n अंततः Fermat परीक्षण पास करेगा। यह भी समझ सकता है कि यह वर्गमूल परीक्षण पास करेगा क्योंकि T इस चरण में -1 है और अगले चरण में 1 बन जाता है। यह n को मजबूत छद्म प्रधान घोषित कर सकता है और रोक सकता है।

  • यदि T कुछ और है, तो यह निश्चित नहीं है कि वह अभाज्य कर सकता है या नहीं। यह अगले चरण पर जारी है।

चरण2 से चरण K – 1:

यह चरण और सभी निम्न चरण चरण 2 तक जारी रहते हैं और चरण K -1 चरण 1 के बराबर होते हैं।

कदम कश्मीर:

इस कदम की आवश्यकता नहीं है। यदि यह इस चरण तक पहुँच सकता है और इसने निर्णय नहीं किया है, तो यह कदम हमें प्रदान नहीं करेगा। यदि इस चरण का परिणाम 1 है, तो Fermat परीक्षण स्वीकार किया जाता है, लेकिन क्योंकि पिछले चरण का परिणाम +-1 नहीं है, वर्गमूल वृषण स्वीकार नहीं किया जाता है। चरण k -1 के बाद, यदि यह पहले से नहीं रुका है, तो यह घोषित कर सकता है कि n समग्र है। चरण 0 से चरण K-1 तक मिलर-राबिन परीक्षण आवश्यक है।


  1. परीक्षण डेटाबेस का उपयोग करने में क्या कमियां हैं?

    परीक्षण . नामक एक डेटाबेस है कथन द्वारा प्रदर्शित डेटाबेस की सूची में डेटाबेस दिखाएं। हम परीक्षण डेटाबेस का उपयोग कर सकते हैं लेकिन मुख्य नुकसान यह है कि इस डेटाबेस में बनाई गई किसी भी चीज़ को किसी और के द्वारा हटाया/बदला जा सकता है। इससे बचने के लिए हमें अपने स्वयं के डेटाबेस का उपयोग करने के लिए M

  1. सी टोकन क्या हैं?

    सी प्रोग्राम निर्देशों का एक संग्रह है और प्रत्येक निर्देश अलग-अलग इकाइयों का संग्रह है। C प्रोग्राम की प्रत्येक छोटी व्यक्तिगत इकाई को आम तौर पर टोकन कहा जाता है और C प्रोग्राम में प्रत्येक निर्देश टोकन का एक संग्रह होता है। टोकन का उपयोग C प्रोग्राम के निर्माण के लिए किया जाता है और उन्हें C प्र

  1. सी # में टिप्पणियां क्या हैं?

    टिप्पणियों का उपयोग कोड समझाने के लिए किया जाता है। संकलक टिप्पणी प्रविष्टियों की उपेक्षा करते हैं। C# प्रोग्राम में बहुपंक्ति टिप्पणियाँ /* से शुरू होती हैं और नीचे दिखाए गए अनुसार */ के साथ समाप्त होती हैं। बहु-पंक्ति टिप्पणियां /* The following is a mult-line comment In C# /* . में एक बहु-पंक्ति