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

MD5 एल्गोरिथम कैसे काम करता है?

<घंटा/>

थीमसेज के मैसेज डाइजेस्ट की गणना करने के लिए निम्नलिखित कदम उठाए गए हैं जो इस प्रकार हैं -

  • चरण 1 - पैडिंग बिट्स संलग्न करें - संदेश को इस तरह से जारी या गद्देदार किया जाता है कि बिट्स में इसकी कुल लंबाई 448 मॉड्यूलो 512 के अनुरूप हो। यह ऑपरेशन लगातार लागू किया जाता है, भले ही संदेश की लंबाई बिट में मूल रूप से 448 मॉड्यूल 512 के अनुरूप हो। 448 + 64 =512, इसलिए संदेश को इस तरह से गद्देदार किया जाता है कि इसकी लंबाई अब 64 बिट कम है जो 512 के पूर्णांक गुणज से कम है।

  • चरण 2 - लंबाई जोड़ें - मूल संदेश एम (पैडिंग बिट्स डालने से पहले) के बिट्स में लंबाई का 64 बिट विवरण चरण 1 के परिणाम में जोड़ा जाता है। यदि मूल संदेश की लंबाई 264 =184 467 440 73 709 551 से अधिक है 616, इसलिए संदेश M की लंबाई के केवल निम्न क्रम 64 बिट्स का उपयोग किया जाता है।

    इसलिए, फ़ील्ड में मूल संदेश M मोडुलो 264 की लंबाई शामिल है। इन बिट्स को दो 32 बिट शब्दों के रूप में जोड़ा जाता है और पहले निम्न-क्रम (कम से कम महत्वपूर्ण) शब्द जोड़ा जाता है। चरण 1 और चरण 2 का परिणाम लंबाई के साथ एक संदेश है बिट्स जो 512 बिट्स का एक पूर्णांक है।

  • चरण3 - एमडी बफर प्रारंभ करें - एमडी5 हैश एल्गोरिथम के मध्यवर्ती और अंतिम परिणाम को पकड़ने के लिए 128-बिट बफर का उपयोग किया जा सकता है। संदेश डाइजेस्ट का मूल्यांकन करने के लिए चार-शब्द बफर (ए, बी, सी, और डी) का उपयोग किया जा सकता है। इसलिए, प्रत्येक ए, बी, सी, डी 32-बिट रजिस्टर है।

    ये रजिस्टर हेक्साडेसिमल में निम्न मानों तक बूट होते हैं, पहले निम्न-क्रम बाइट्स -

    शब्द A:01 23 45 67

    शब्द B:89 ab cd ef

    शब्द C:fe dc ba 98

    शब्द D:76 54 32 10

  • चरण 4 - संदेश को 512 बिट (16-शब्द) ब्लॉक में संसाधित करें - एक कंप्रेशन फंक्शन में प्रोसेसिंग के चार राउंड शामिल होते हैं। प्रत्येक दौर एक इनपुट बनाता है जो वर्तमान 512-बिट ब्लॉक को संसाधित किया जा रहा है (Yq ) और 128-बिट बफर मान ABCD और बफर के तत्व को अपडेट करें।

    यह चार सहायक कार्यों का वर्णन कर सकता है जो प्रत्येक इनपुट के रूप में तीन 32-बिट शब्द बनाते हैं और आउटपुट के रूप में एक 32-बिट शब्द उत्पन्न करते हैं।

    F (X, Y, Z) =XY v not (X) Z

    G (X, Y, Z) =XZ v Y not (Z)

    H (X, Y, Z) =X xor Y xor Z

    I (X, Y, Z) =Y xor (X v not (Z))

    प्रत्येक बिट स्थिति में, F सशर्त के रूप में कार्य करता है:यदि X तो Y और Z। फ़ंक्शन F को XY के बजाय v के बजाय + का उपयोग करके दर्शाया जा सकता है और X (Z) के समान बिट स्थिति में कभी भी 1 नहीं होगा।

  • चरण5 - आउटपुट - संदेश डाइजेस्ट ने ए, बी, सी, डी सहित एक आउटपुट बनाया। अंतिम दौर से आउटपुट 128-बिट हैश परिणाम या संदेश डाइजेस्ट है जिसे संदेश के सभी टी 512-बिट ब्लॉक को वृद्धिशील रूप से संसाधित करने के बाद प्राप्त किया जा सकता है। ।


  1. एंड्रॉइड में बाधा लेआउट कैसे काम करता है?

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

  1. YouTube एल्गोरिथम कैसे काम करता है?

    YouTube का अनुशंसित अनुभाग वह जगह है जहां लोग अक्सर नए वीडियो देखने के लिए जाते हैं। यहां वीडियो उपयोगकर्ता के लिए तैयार किए गए हैं ताकि उन्हें वीडियो पर क्लिक करने के लिए YouTube को लगता है कि वे सबसे अधिक देखने की संभावना रखते हैं। लेकिन इन वीडियो को वास्तव में कैसे चुना जाता है? अधिकांश लोग इस प

  1. विंडोज रजिस्ट्री क्या है और यह कैसे काम करती है?

    Windows रजिस्ट्री कॉन्फ़िगरेशन, मानों का एक संग्रह है, और विंडोज़ अनुप्रयोगों के साथ-साथ विंडोज़ ऑपरेटिंग सिस्टम के गुण जो एक एकल भंडार में एक पदानुक्रमित तरीके से व्यवस्थित और संग्रहीत होते हैं। जब भी विंडोज सिस्टम में कोई नया प्रोग्राम इंस्टॉल होता है, तो विंडोज रजिस्ट्री में इसकी विशेषताओं जैसे आ