क्रिप्टोग्राफिक हैश फंक्शन क्या है?
क्रिप्टोग्राफ़िक हैश फ़ंक्शन एक एल्गोरिथम है जिसे किसी व्यक्ति जैसे डेटा पर चलाया जा सकता है फ़ाइल या एक पासवर्ड चेकसम नामक मूल्य उत्पन्न करने के लिए।
क्रिप्टोग्राफिक हैश फ़ंक्शन का मुख्य उपयोग डेटा के एक टुकड़े की प्रामाणिकता को सत्यापित करना है। दो फाइलों को समान माना जा सकता है, यदि एक ही क्रिप्टोग्राफिक हैश फ़ंक्शन का उपयोग करके प्रत्येक फ़ाइल से उत्पन्न चेकसम समान हों।
कुछ आमतौर पर इस्तेमाल किए जाने वाले क्रिप्टोग्राफ़िक हैश फ़ंक्शंस में शामिल हैं एमडी5 तथा एसएचए-1, हालांकि कई अन्य भी मौजूद हैं।
क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को अक्सर "हैश फ़ंक्शंस" के रूप में संदर्भित किया जाता है, लेकिन यह तकनीकी रूप से सही नहीं है। हैश फ़ंक्शन एक सामान्य शब्द है जिसमें क्रिप्टोग्राफ़िक हैश फ़ंक्शंस के साथ-साथ अन्य प्रकार के एल्गोरिदम जैसे चक्रीय अतिरेक जाँच शामिल हैं।
क्रिप्टोग्राफ़िक हैश फ़ंक्शंस: एक उपयोग केस
कहो कि आप डाउनलोड करें फ़ायरफ़ॉक्स ब्राउज़र का नवीनतम संस्करण. किसी कारण से, आपको इसे मोज़िला के अलावा किसी अन्य साइट से डाउनलोड करने की आवश्यकता है। क्योंकि यह उस साइट पर होस्ट नहीं किया जा रहा है जिस पर आपने भरोसा करना सीखा है, आप यह सुनिश्चित करना चाहेंगे कि आपके द्वारा अभी डाउनलोड की गई इंस्टॉलेशन फ़ाइल ठीक उसी तरह है जैसे Mozilla ऑफ़र करता है।
चेकसम कैलकुलेटर का उपयोग करके, आप एक विशेष क्रिप्टोग्राफ़िक हैश फ़ंक्शन, जैसे SHA-2 का उपयोग करके चेकसम की गणना करते हैं, और फिर उसकी तुलना मोज़िला की साइट पर प्रकाशित एक से करते हैं। यदि वे समान हैं, तो आप यथोचित रूप से सुनिश्चित हो सकते हैं कि आपके पास जो डाउनलोड है वह वही मोज़िला है जिसे आप चाहते हैं।

क्या क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को उलटा किया जा सकता है?
क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को उनके द्वारा बनाए गए चेकसम को मूल पाठ में वापस करने की क्षमता को रोकने के लिए डिज़ाइन किया गया है। हालाँकि, भले ही उन्हें उलटना लगभग असंभव हो, लेकिन वे डेटा की सुरक्षा के लिए 100 प्रतिशत गारंटी नहीं देते हैं।
चेकसम के सादे पाठ का पता लगाने के लिए हैकर्स इंद्रधनुष तालिका का उपयोग कर सकते हैं। रेनबो टेबल ऐसे शब्दकोश होते हैं जो हजारों, लाखों या यहां तक कि अरबों चेकसम को उनके संबंधित सादा पाठ मान के साथ सूचीबद्ध करते हैं।
हालांकि यह तकनीकी रूप से क्रिप्टोग्राफिक हैश एल्गोरिदम को उलट नहीं रहा है, यह भी हो सकता है, यह देखते हुए कि यह करना इतना आसान है। वास्तव में, चूंकि कोई भी इंद्रधनुष तालिका अस्तित्व में हर संभावित चेकसम को सूचीबद्ध नहीं कर सकती है, वे आमतौर पर केवल कमजोर पासवर्ड जैसे सरल वाक्यांशों के लिए सहायक होते हैं।
SHA-1 क्रिप्टोग्राफ़िक हैश फ़ंक्शन का उपयोग करते समय कोई कैसे काम करेगा, यह दिखाने के लिए इंद्रधनुष तालिका का एक सरलीकृत संस्करण यहां दिया गया है:
इंद्रधनुष तालिका उदाहरण | |
---|---|
सादे पाठ | SHA-1 चेकसम |
12345 | 8cb2237d0679ca88db6464eac60da96345513964 |
पासवर्ड1 | e38ad214943daad1d64c102faec29de4afe9da3d |
मैं अपने कुत्ते से प्रेम करता हूं | a25fb3505406c9ac761c8428692fbf5d5ddf1316 |
जेनी400 | 7d5eb0173008fe55275d12e9629eef8bdb408c1f |
डलास1984 | c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2 |
एक हैकर को पता होना चाहिए कि मूल्यों का पता लगाने के लिए चेकसम उत्पन्न करने के लिए किस क्रिप्टोग्राफ़िक हैश एल्गोरिथम का उपयोग किया गया था।
अतिरिक्त सुरक्षा के लिए, कुछ वेबसाइटें जो स्टोर करती हैं उपयोगकर्ता पासवर्ड क्रिप्टोग्राफ़िक हैश एल्गोरिथम पर मान उत्पन्न होने के बाद लेकिन इसे संग्रहीत करने से पहले अतिरिक्त कार्य करें। यह प्रक्रिया एक नया मान उत्पन्न करती है जिसे केवल वेबसर्वर समझता है और जो मूल चेकसम से मेल नहीं खाता है।
उदाहरण के लिए, पासवर्ड दर्ज करने और चेकसम उत्पन्न होने के बाद, इसे कई भागों में विभाजित किया जा सकता है और इसे पासवर्ड डेटाबेस में संग्रहीत करने से पहले पुनर्व्यवस्थित किया जाता है, या कुछ वर्णों के साथ अदला-बदली की जा सकती है अन्य। जब उपयोगकर्ता अगली बार साइन इन करने पर प्रमाणित करने का प्रयास करता है, तो वेबसर्वर इसे उलट देता है अतिरिक्त फ़ंक्शन, और उपयोगकर्ता का पासवर्ड सत्यापित करने के लिए मूल चेकसम फिर से उत्पन्न होता है यह सही है।
इन कदमों को उठाने से हैक की उपयोगिता सीमित हो जाती है जहां सभी चेकसम चोरी हो जाते हैं। विचार एक ऐसा कार्य करना है जो अज्ञात है, इसलिए यदि हैकर क्रिप्टोग्राफ़िक हैश एल्गोरिथम जानता है लेकिन कस्टम नहीं है, तो पासवर्ड चेकसम जानना अनुपयोगी है।
पासवर्ड और क्रिप्टोग्राफ़िक हैश फ़ंक्शंस
एक डेटाबेस उपयोगकर्ता पासवर्ड को इंद्रधनुष तालिका के समान तरीके से सहेजता है। जब आपका पासवर्ड दर्ज किया जाता है, तो अंततः, जनरेट किया जाता है और आपके उपयोगकर्ता नाम के साथ रिकॉर्ड में दर्ज की गई तुलना के साथ तुलना की जाती है। यदि दोनों समान हैं तो आपको पहुंच प्रदान की जाती है।
यह देखते हुए कि क्रिप्टोग्राफ़िक हैश फ़ंक्शन एक अपरिवर्तनीय चेकसम उत्पन्न करता है, क्या आपके लिए अपना पासवर्ड उतना आसान बनाना सुरक्षित है 12345, की बजाय 12@34$5, सिर्फ इसलिए कि चेकसम को स्वयं नहीं समझा जा सकता है? नहीं, और यहाँ क्यों है।
इन दो पासवर्डों को केवल चेकसम को देखकर समझना असंभव है:
12345 के लिए MD5:827ccb0eea8a706c4c34a16891f84e7b
MD5 12@34$5 के लिए:a4d3cc004f487b18b2ccd4853053818b
पहली नज़र में, आप सोच सकते हैं कि इनमें से किसी भी पासवर्ड का उपयोग करना ठीक है। यह सच है अगर किसी हमलावर ने MD5 चेकसम का अनुमान लगाकर आपके पासवर्ड का पता लगाने की कोशिश की, जो कोई नहीं करता है, लेकिन यह सच नहीं है अगर एक क्रूर बल या शब्दकोश हमला किया जाता है, जो एक सामान्य रणनीति है।
एक क्रूर बल हमला तब होता है जब पासवर्ड का अनुमान लगाने के लिए कई यादृच्छिक छुरा घोंप दिए जाते हैं। इस मामले में, यह अनुमान लगाना आसान होगा 12345, लेकिन बेतरतीब ढंग से दूसरे का पता लगाना बहुत मुश्किल है। एक डिक्शनरी अटैक इसी तरह का होता है कि हमलावर हर शब्द, संख्या या वाक्यांश को सामान्य (और गैर-सामान्य) पासवर्ड की सूची से आज़मा सकता है, और 12345 उन सामान्य पासवर्डों में से एक है।
भले ही क्रिप्टोग्राफ़िक हैश फ़ंक्शन मुश्किल से असंभव-से-अनुमानित चेकसम उत्पन्न करते हैं, फिर भी आपको चाहिए एक जटिल पासवर्ड का प्रयोग करें आपके सभी ऑनलाइन और स्थानीय उपयोगकर्ता खातों के लिए।
क्रिप्टोग्राफ़िक हैश फ़ंक्शंस के बारे में अधिक जानकारी
ऐसा लग सकता है कि क्रिप्टोग्राफ़िक हैश फ़ंक्शन एन्क्रिप्शन से संबंधित हैं, लेकिन दोनों अलग-अलग तरीकों से काम करते हैं।
एन्क्रिप्शन एक दो-तरफा प्रक्रिया है जहां कुछ अपठनीय बनने के लिए एन्क्रिप्ट किया जाता है और फिर बाद में सामान्य रूप से फिर से उपयोग करने के लिए डिक्रिप्ट किया जाता है। आप शायद आपके द्वारा संग्रहीत फ़ाइलें एन्क्रिप्ट करें ताकि जो कोई भी उन तक पहुँचता है वह उनका उपयोग करने में असमर्थ हो, या आप उपयोग कर सकें फ़ाइल स्थानांतरण एन्क्रिप्शन नेटवर्क पर चल रही फ़ाइलों को एन्क्रिप्ट करने के लिए, जैसे कि वे फ़ाइलें जिन्हें आप ऑनलाइन अपलोड या डाउनलोड करते हैं।
क्रिप्टोग्राफ़िक हैश फ़ंक्शन इस मायने में अलग तरह से काम करते हैं कि चेकसम को किसी विशेष डीहैशिंग पासवर्ड के साथ उलटने के लिए नहीं बनाया गया है। क्रिप्टोग्राफ़िक हैश फ़ंक्शन का एकमात्र उद्देश्य डेटा के दो टुकड़ों की तुलना करना है, जैसे कि फ़ाइलें डाउनलोड करते समय, पासवर्ड संग्रहीत करना और डेटाबेस से डेटा खींचना।
क्रिप्टोग्राफ़िक हैश फ़ंक्शन के लिए डेटा के विभिन्न टुकड़ों के लिए समान चेकसम उत्पन्न करना संभव है। जब ऐसा होता है, तो इसे टकराव कहा जाता है, जो कि क्रिप्टोग्राफ़िक हैश फ़ंक्शन के पूरे बिंदु पर विचार करने में एक बड़ी समस्या है, इसमें प्रत्येक डेटा इनपुट के लिए अद्वितीय चेकसम बनाना है।
टकराव इसलिए हो सकता है क्योंकि प्रत्येक क्रिप्टोग्राफ़िक हैश फ़ंक्शन इनपुट डेटा की परवाह किए बिना एक निश्चित लंबाई का मान उत्पन्न करता है। उदाहरण के लिए, MD5 क्रिप्टोग्राफ़िक हैश फ़ंक्शन 827ccb0eea8a706c4c34a16891f84e7b उत्पन्न करता है, तीन पूरी तरह से अलग के लिए 1f633b2909b9c1addf32302c7a497983, और e10adc3949ba59abbe56e057f20f883e डेटा के ब्लॉक।
पहला चेकसम से है 12345. दूसरा 700 से अधिक अक्षरों और संख्याओं से उत्पन्न हुआ था, और तीसरा से है 123456. सभी तीन इनपुट अलग-अलग लंबाई के हैं, लेकिन परिणाम हमेशा केवल 32 वर्ण लंबे होते हैं MD5 चेकसम इस्तेमाल किया गया था।
बनाए जा सकने वाले चेकसम की संख्या की कोई सीमा नहीं है क्योंकि इनपुट में प्रत्येक छोटे परिवर्तन से पूरी तरह से अलग चेकसम उत्पन्न होता है। चूंकि एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन द्वारा उत्पादित चेकसम की संख्या की एक सीमा होती है, इसलिए हमेशा संभावना है कि आप एक टकराव का सामना करेंगे।
यही कारण है कि अन्य क्रिप्टोग्राफिक हैश फ़ंक्शन बनाए गए हैं। जबकि MD5 32-वर्ण मान उत्पन्न करता है, SHA-1 40 वर्ण उत्पन्न करता है और SHA-2 (512) 128 उत्पन्न करता है। चेकसम में जितने अधिक वर्ण होंगे, टकराव होने की संभावना उतनी ही कम होगी।