क्रिप्टोग्राफ़िक हैश फ़ंक्शन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{short description|Hash function that is suitable for use in cryptography}}
{{short description|Hash function that is suitable for use in cryptography}}
[[Image:Cryptographic Hash Function.svg|thumb|375px|right|काम पर एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन (विशेष रूप से [[SHA-1|एसएचए-1]])। इनपुट में एक छोटा सा बदलाव (ओवर वर्ड में) उत्पादन (डाइजेस्ट) में काफी बदलाव करता है। यह तथाकथित [[हिमस्खलन प्रभाव]] है।]]
[[Image:Cryptographic Hash Function.svg|thumb|375px|right|कार्य पर क्रिप्टोग्राफ़िक हैश फ़ंक्शन (विशेष रूप से [[SHA-1|एसएचए-1]])। इनपुट में छोटा सा बदलाव (ओवर वर्ड में) उत्पादन (डाइजेस्ट) में काफी बदलाव करता है। यह तथाकथित [[हिमस्खलन प्रभाव]] है।]]
क्रिप्टोग्राफ़िक हैश फ़ंक्शन (सीएचएफ) यह एक [[हैश एल्गोरिथम]] है (<math>n</math> बिट्स के निश्चित आकार के साथ बाइनरी स्ट्रिंग के लिए एक मनमाना बाइनरी स्ट्रिंग का [[नक्शा (गणित)]] है) जिसमें [[क्रिप्टोग्राफी]] के लिए विशेष गुण होते हैं:{{sfn|Menezes|van Oorschot|Vanstone|2018|p=33}}
क्रिप्टोग्राफ़िक हैश फ़ंक्शन (सीएचएफ) यह [[हैश एल्गोरिथम|हैश कलनविधि]] है (<math>n</math> बिट्स के निश्चित आकार के साथ बाइनरी स्ट्रिंग के लिए यादृच्छिक बाइनरी स्ट्रिंग का [[नक्शा (गणित)]] है) जिसमें [[क्रिप्टोग्राफी]] के लिए विशेष गुण होते हैं:{{sfn|Menezes|van Oorschot|Vanstone|2018|p=33}}
*एक यादृच्छिक इनपुट स्ट्रिंग ("संदेश") के लिए एक विशेष <math>n</math>-बिट उत्पादन परिणाम ([[हैश मान]]) की संभावना <math>2^{-n}</math> (किसी भी अच्छे हैश की तरह) है, इसलिए हैश मान का उपयोग संदेश के प्रतिनिधि के रूप में किया जा सकता है;
*एक यादृच्छिक इनपुट स्ट्रिंग ("संदेश") के लिए विशेष <math>n</math>-बिट उत्पादन परिणाम ([[हैश मान]]) की संभावना <math>2^{-n}</math> (किसी भी अच्छे हैश का प्रकार) है, इसलिए हैश मान का उपयोग संदेश के प्रतिनिधि के रूप में किया जा सकता है;
*किसी दिए गए हैश मान (एक प्री-इमेज) से मेल खाने वाली इनपुट स्ट्रिंग ढूँढना अक्षम्य है, जब तक कि किसी पूर्व-परिकलित ज्ञात शब्दकोश ("[[इंद्रधनुष तालिका|रेनबो सूची]]") से मान का चयन नहीं किया जाता है। ऐसी खोज के प्रतिरोध को सुरक्षा सक्रियता के रूप में परिमाणित किया जाता है, हैश मान को <math>n</math> बिट्स के साथ एक क्रिप्टोग्राफ़िक हैश में <math>n</math> बिट्स की पूर्वप्रतिबिंब प्रतिरोध सक्रियता होने की उम्मीद होती है। एक दूसरी पूर्वप्रतिबिंब प्रतिरोध सक्रियता, सामान्य अपेक्षाओं के साथ, दूसरे संदेश को खोजने की सामान्य समस्या को संदर्भित करती है जब संदेश पहले से ही ज्ञात हो तो वह दिए गए हैश मान से मेल खाती है;
*किसी दिए गए हैश मान (एक प्री-इमेज) से मेल खाने वाली इनपुट स्ट्रिंग को ढूँढना अक्षम्य है, जब तक कि किसी पूर्व-परिकलित ज्ञात शब्दकोश ("[[इंद्रधनुष तालिका|रेनबो सूची]]") से मान का चयन नहीं किया जाता है। ऐसी खोज के प्रतिरोध को सुरक्षा सक्रियता के रूप में परिमाणित किया जाता है, हैश मान को <math>n</math> बिट्स के साथ क्रिप्टोग्राफ़िक हैश में <math>n</math> बिट्स की पूर्वप्रतिबिंब प्रतिरोध सक्रियता होने की अपेक्षा होती है। दूसरी पूर्वप्रतिबिंब प्रतिरोध सक्रियता, सामान्य अपेक्षाओं के साथ, दूसरे संदेश को खोजने की सामान्य समस्या को संदर्भित करती है जब संदेश पहले से ही ज्ञात हो तो वह दिए गए हैश मान से मेल खाती है;
*एक ही प्रकार के हैश मान (टकराव) उत्पन्न करने वाले विभिन्न संदेशों के किसी प्रकार के जोड़े को खोजना भी संभव नहीं है, एक क्रिप्टोग्राफ़िक हैश में (जन्मदिन विरोधाभास कम होने के कारण) <math>n/2</math> बिट्स का टकराव प्रतिरोध सक्रियता होने की उम्मीद होती है।
*एक ही प्रकार के हैश मान (संघट्ट) उत्पन्न करने वाले विभिन्न संदेशों के किसी प्रकार के जोड़े को खोजना भी संभव नहीं है, क्रिप्टोग्राफ़िक हैश में (बर्थडे विरोधाभास कम होने के कारण) <math>n/2</math> बिट्स का संघट्ट प्रतिरोध सक्रियता होने की अपेक्षा होती है।


संदेश [[प्रमाणीकरण]] कोड (एमएसीएस) और प्रमाणीकरण के अन्य रूपों में क्रिप्टोग्राफिक हैश फ़ंक्शंस में कई [[सूचना सुरक्षा]] अनुप्रयोग हैं, विशेष रूप से डिजिटल हस्ताक्षर। उनका उपयोग साधारण हैश फ़ंक्शंस के रूप में, [[हैश टेबल|हैश सूची]] में कई प्रकार से किया जाता है जैसे डेटा इंडेक्स करने के लिए, फ़िंगरप्रिंटिंग के लिए, डुप्लिकेट डेटा का पता लगाने के लिए या विशिष्ट रूप से फ़ाइलों की पहचान करने के लिए और आकस्मिक डेटा भ्रष्टाचार का पता लगाने के लिए चेकसम के रूप में भी किया जा सकता है। वास्तव में, सूचना-सुरक्षा संदर्भों में, क्रिप्टोग्राफ़िक हैश मान को कभी-कभी (डिजिटल) फ़िंगरप्रिंट, चेकसम, या केवल हैश मान कहा जाता है, भले ही ये सभी शब्द भिन्न-भिन्न गुणों और उद्देश्यों के साथ अधिक सामान्य कार्यों के लिए उपलब्ध हों।<ref name="wjryW">{{cite web|last1=Schneier|first1=Bruce|author-link1=Bruce Schneier|title=MD5 और SHA का क्रिप्ट विश्लेषण: एक नए मानक के लिए समय|url=https://www.schneier.com/essays/archives/2004/08/cryptanalysis_of_md5.html|url-status=dead|archive-url=https://web.archive.org/web/20160316114109/https://www.schneier.com/essays/archives/2004/08/cryptanalysis_of_md5.html|archive-date=2016-03-16|access-date=2016-04-20|website=Computerworld|quote=एन्क्रिप्शन एल्गोरिदम से कहीं अधिक, एक तरफ़ा हैश फ़ंक्शन आधुनिक क्रिप्टोग्राफी के वर्कहॉर्स हैं।}}</ref>
संदेश [[प्रमाणीकरण]] कोड (एमएसीएस) और प्रमाणीकरण के अन्य रूपों में क्रिप्टोग्राफिक हैश फ़ंक्शंस में कई [[सूचना सुरक्षा]] अनुप्रयोग हैं, विशेष रूप से डिजिटल हस्ताक्षर। उनका उपयोग साधारण हैश फ़ंक्शंस के रूप में, [[हैश टेबल|हैश सूची]] में कई प्रकार से किया जाता है जैसे डेटा को इंडेक्स करने के लिए, फ़िंगरप्रिंटिंग के लिए, डुप्लिकेट डेटा का पता लगाने के लिए या विशिष्ट रूप से फ़ाइलों की पहचान करने के लिए और आकस्मिक डेटा उल्लंघन का पता लगाने के लिए चेकसम के रूप में भी किया जा सकता है। वास्तव में, सूचना-सुरक्षा संदर्भों में, क्रिप्टोग्राफ़िक हैश मान को कभी-कभी (डिजिटल) फ़िंगरप्रिंट, चेकसम, या केवल हैश मान कहा जाता है, भले ही ये सभी शब्द भिन्न-भिन्न गुणों और उद्देश्यों के साथ अधिक सामान्य कार्यों के लिए उपलब्ध हों।<ref name="wjryW">{{cite web|last1=Schneier|first1=Bruce|author-link1=Bruce Schneier|title=MD5 और SHA का क्रिप्ट विश्लेषण: एक नए मानक के लिए समय|url=https://www.schneier.com/essays/archives/2004/08/cryptanalysis_of_md5.html|url-status=dead|archive-url=https://web.archive.org/web/20160316114109/https://www.schneier.com/essays/archives/2004/08/cryptanalysis_of_md5.html|archive-date=2016-03-16|access-date=2016-04-20|website=Computerworld|quote=एन्क्रिप्शन एल्गोरिदम से कहीं अधिक, एक तरफ़ा हैश फ़ंक्शन आधुनिक क्रिप्टोग्राफी के वर्कहॉर्स हैं।}}</ref>
== गुण ==
== गुण ==
अधिकांश क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को इनपुट के रूप में किसी भी लम्बाई की [[स्ट्रिंग (कंप्यूटर विज्ञान)]] लेने और निश्चित-लंबाई हैश मान को उत्पन्न करने के लिए डिज़ाइन किया गया है।
अधिकांश क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को इनपुट के रूप में किसी भी लम्बाई की [[स्ट्रिंग (कंप्यूटर विज्ञान)]] लेने और निश्चित-लंबाई हैश मान को उत्पन्न करने के लिए डिज़ाइन किया गया है।


एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन को सभी प्रकार के क्रिप्टैनालिटिक हमले का सामना करने में सक्षम होना चाहिए। सैद्धांतिक क्रिप्टोग्राफी में, क्रिप्टोग्राफिक हैश फ़ंक्शन के सुरक्षा स्तर को निम्नलिखित गुणों का उपयोग करके परिभाषित किया गया है:
एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन को सभी प्रकार के क्रिप्टैनालिटिक अटैक का सामना करने में सक्षम होना चाहिए। सैद्धांतिक क्रिप्टोग्राफी में, क्रिप्टोग्राफिक हैश फ़ंक्शन के सुरक्षा स्तर को निम्नलिखित गुणों का उपयोग करके परिभाषित किया गया है:


; प्रीइमेज प्रतिरोध: एक हैश मान {{math|''h''}} दिया गया है, किसी भी संदेश {{math|''m''}} को ढूंढना मुश्किल होना चाहिए जैसे कि {{math|1=''h'' = hash(''m'')}}। यह अवधारणा एक तरफ़ा कार्य से संबंधित है। जिन कार्यों में इस गुण का अभाव होता है, वे प्रीइमेज अटैक के प्रति संवेदनशील होते हैं।
; प्रीइमेज प्रतिरोध: एक हैश मान {{math|''h''}} दिया गया है, किसी भी संदेश {{math|''m''}} को ढूंढना कठिन होता है जैसे कि {{math|1=''h'' = hash(''m'')}}। यह अवधारणा एक तरफ़ा कार्य से संबंधित है। जिन कार्यों में इस गुण का अभाव होता है, वे प्रीइमेज अटैक के प्रति संवेदनशील होते हैं।
; दूसरा प्रीइमेज प्रतिरोध: एक इनपुट {{math|''m''{{sub|1}}}} को देखते हुए, भिन्न इनपुट {{math|''m''{{sub|2}}}} खोजना मुश्किल होना चाहिए जैसे कि {{math|1=hash(''m''{{sub|1}}) = hash(''m''{{sub|2}})}}। इस गुण को कभी-कभी कमजोर [[टक्कर प्रतिरोध|संघट्ट प्रतिरोध]] कहा जाता है। ऐसे कार्य जिनमें इस गुण का अभाव होता है, वह द्वितीय-प्रीइमेज अटैक के प्रति संवेदनशील होते हैं।
; दूसरा प्रीइमेज प्रतिरोध: एक इनपुट {{math|''m''{{sub|1}}}} को देखते हुए, भिन्न इनपुट {{math|''m''{{sub|2}}}} खोजना कठिन होता है जैसे कि {{math|1=hash(''m''{{sub|1}}) = hash(''m''{{sub|2}})}}। इस गुण को कभी-कभी कमजोर [[टक्कर प्रतिरोध|संघट्ट प्रतिरोध]] कहा जाता है। ऐसे कार्य जिनमें इस गुण का अभाव होता है, वह द्वितीय-प्रीइमेज अटैक के प्रति संवेदनशील होते हैं।
; संघट्ट प्रतिरोध: दो भिन्न-भिन्न संदेश {{math|''m''{{sub|1}}}} और {{math|''m''{{sub|2}}}} जैसे {{math|1=hash(''m''{{sub|1}}) = hash(''m''{{sub|2}})}} को ढूंढना मुश्किल होना चाहिए। ऐसी जोड़ी को क्रिप्टोग्राफ़िक [[हैश संघट्ट]] कहा जाता है। इस संपत्ति को कभी-कभी मजबूत संघट्ट प्रतिरोध कहा जाता है। इसके लिए प्री-इमेज प्रतिरोध के लिए आवश्यक हैश मान की तुलना में कम से कम दो बार हैश मान की आवश्यकता होती है; अन्यथा संघट्ट बर्थडे अटैक से मिल सकते हैं।{{sfn|Katz|Lindell|2014|pp=155–157, 190, 232}}
; संघट्ट प्रतिरोध: दो भिन्न-भिन्न संदेश {{math|''m''{{sub|1}}}} और {{math|''m''{{sub|2}}}} जैसे {{math|1=hash(''m''{{sub|1}}) = hash(''m''{{sub|2}})}} को ढूंढना कठिन हो जाता है। ऐसी जोड़ी को क्रिप्टोग्राफ़िक [[हैश संघट्ट]] कहा जाता है। इस संपत्ति को कभी-कभी ठोस संघट्ट प्रतिरोध कहा जाता है। इसके लिए प्री-इमेज प्रतिरोध को आवश्यक हैश मान की तुलना में कम से कम दो बार हैश मान की आवश्यकता होती है; अन्यथा संघट्ट बर्थडे अटैक से मिल सकते हैं।{{sfn|Katz|Lindell|2014|pp=155–157, 190, 232}}
संघट्ट प्रतिरोध का तात्पर्य दूसरे प्री-इमेज प्रतिरोध से है, लेकिन प्री-इमेज प्रतिरोध का अर्थ नहीं है।{{sfn|Rogaway|Shrimpton|2004|loc=in Sec. 5. Implications}} सैद्धांतिक क्रिप्टोग्राफी में हमेशा कमजोर धारणा को प्राथमिकता दी जाती है, लेकिन पद्धति में, एक हैश-फ़ंक्शन जो केवल दूसरा प्री-इमेज प्रतिरोधी है, उसे असुरक्षित माना जाता है और इसलिए वास्तविक अनुप्रयोगों के लिए अनुशंसित नहीं है।
संघट्ट प्रतिरोध का तात्पर्य दूसरे प्री-इमेज प्रतिरोध से है, लेकिन प्री-इमेज प्रतिरोध का अर्थ नहीं है।{{sfn|Rogaway|Shrimpton|2004|loc=in Sec. 5. Implications}} सैद्धांतिक क्रिप्टोग्राफी में हमेशा कमजोर धारणा को प्राथमिकता दी जाती है, लेकिन पद्धति में, हैश-फ़ंक्शन जो केवल दूसरा प्री-इमेज प्रतिरोधी है, उसे असुरक्षित माना जाता है और इसलिए यह वास्तविक अनुप्रयोगों के लिए अनुशंसित नहीं है।


अनौपचारिक रूप से, इन गुणों का अर्थ है कि मैलिसियस [[विरोधी (क्रिप्टोग्राफी)]] इनपुट डेटा को डाइजेस्ट में परिवर्तन किए बिना उसका स्थान नहीं ले सकता या उसमें परिवर्तन नहीं कर सकता। इस प्रकार, यदि दो स्ट्रिंग में एक ही पाचन होता है, तो कोई बहुत आश्वस्त हो सकता है कि वे सामान्य हैं। दूसरा प्री-इमेज प्रतिरोध एक हमलावर को उसी हैश के साथ एक दस्तावेज़ तैयार करने से रोकता है जिन दस्तावेज़ को हमलावर नियंत्रित नहीं कर पाता हैं। टकराव प्रतिरोध हमलावर को एक ही हैश के साथ दो भिन्न-भिन्न दस्तावेज़ बनाने से रोकता है।
अनौपचारिक रूप से, इन गुणों का अर्थ है मैलिसियस [[विरोधी (क्रिप्टोग्राफी)]] है जो इनपुट डेटा को डाइजेस्ट में परिवर्तन किए बिना उसका स्थान नहीं ले सकता या उसमें परिवर्तन नहीं कर सकता है। इस प्रकार, यदि दो स्ट्रिंग में ही डाइजेस्ट होता है, तो कोई बहुत आश्वस्त हो सकता है कि वे सामान्य हैं। दूसरा प्री-इमेज प्रतिरोध अटैकर को उसी हैश के साथ दस्तावेज़ तैयार करने से रोकता है जिन दस्तावेज़ को अटैकर नियंत्रित नहीं कर पाता हैं। संघट्ट प्रतिरोध अटैकर को हैश के साथ दो भिन्न-भिन्न दस्तावेज़ बनाने से रोकता है।


इन मानदंडों को पूरा करने वाले फ़ंक्शन में अभी भी अवांछित गुण हो सकते हैं। वर्तमान में, लोकप्रिय क्रिप्टोग्राफ़िक हैश फ़ंक्शंस लंबाई-विस्तार अटैक के लिए कमजोर हैं: दिए गए {{math|hash(''m'')}} और {{math|len(''m'')}} लेकिन {{math|''m''}} नहीं, उपयुक्त {{math|''m''}} 'चुनकर एक हमलावर हैश की गणना कर सकता है {{math|hash(''m'' ∥ {{′|''m''}})}}, जहां ∥ संयोजन को दर्शाता है।<ref name="Y0rF6">{{cite web|url=http://vnhacker.blogspot.com/2009/09/flickrs-api-signature-forgery.html|title=फ़्लिकर की एपीआई हस्ताक्षर जालसाजी भेद्यता|first1=Thai|last1=Duong |first2=Juliano|last2=Rizzo}}</ref> इस संपत्ति का उपयोग हैश कार्यों के आधार पर सहज प्रमाणीकरण योजनाओं को तोड़ने के लिए किया जा सकता है। [[एचएमएसी]] संरचना इन समस्याओं के इर्द-गिर्द काम करती है।
इन मानदंडों को पूरा करने वाले फ़ंक्शन में अभी भी अवांछित गुण हो सकते हैं। वर्तमान में, लोकप्रिय क्रिप्टोग्राफ़िक हैश फ़ंक्शंस लंबाई-विस्तार अटैक के लिए कमजोर हैं: दिए गए {{math|hash(''m'')}} और {{math|len(''m'')}} लेकिन उपयुक्त {{math|''m''}} 'चुनकर अटैकर हैश की गणना कर सकता है {{math|hash(''m'' ∥ {{′|''m''}})}}, जहां यह चिन्ह ∥ संयोजन को दर्शाता है।<ref name="Y0rF6">{{cite web|url=http://vnhacker.blogspot.com/2009/09/flickrs-api-signature-forgery.html|title=फ़्लिकर की एपीआई हस्ताक्षर जालसाजी भेद्यता|first1=Thai|last1=Duong |first2=Juliano|last2=Rizzo}}</ref> इस संपत्ति का उपयोग हैश कार्यों के आधार पर सहज प्रमाणीकरण योजनाओं को तोड़ने के लिए किया जा सकता है। [[एचएमएसी]] संरचना इन समस्याओं के इर्द-गिर्द कार्य करती है।


पद्धति में, संघट्ट प्रतिरोध कई प्रायौगिक उपयोगों के लिए अपर्याप्त है। संघट्ट प्रतिरोध के अतिरिक्त, एक विरोधी के लिए दो संदेशों को काफी हद तक सामान्य डाइजेस्ट के साथ खोजना असंभव होना चाहिए; या डेटा के बारे में किसी भी उपयोगी जानकारी का अनुमान लगाने के लिए, केवल उसके डाइजेस्ट को देखते हुए। विशेष रूप से, हैश फ़ंक्शन को यथासंभव एक यादृच्छिक फ़ंक्शन (अधिकांशतः सुरक्षा के प्रमाण में एक यादृच्छिक ऑरेकल कहा जाता है) की तरह पद्धति करना चाहिए, जबकि अभी भी निर्धारक और कुशलता से गणना योग्य है। यह [[एसडब्लूआईआईएफटी]] फ़ंक्शन जैसे कार्यों को नियमबद्ध करता है, जो कठोर रूप से टकराव-प्रतिरोधी साबित हो सकता है, यह मानते हुए कि आदर्श लैटिस पर कुछ समस्याएं कम्प्यूटेशनल रूप से कठिन हैं, लेकिन, एक रैखिक फ़ंक्शन के रूप में, इन अतिरिक्त गुणों को संतुष्ट नहीं करता है।{{sfn|Lyubashevsky|Micciancio|Peikert|Rosen|2008| pp=54–72}}
पद्धति में, संघट्ट प्रतिरोध कई प्रायौगिक उपयोगों के लिए अपर्याप्त है। संघट्ट प्रतिरोध के अतिरिक्त, विरोधी के लिए दो संदेशों को काफी सीमा तक सामान्य डाइजेस्ट के साथ खोजना असंभव हो जाता है; या डेटा के बारे में किसी भी उपयोगी जानकारी का अनुमान लगाने के लिए, केवल उसके डाइजेस्ट को देखते है विशेष रूप से, हैश फ़ंक्शन को यथासंभव यादृच्छिक फ़ंक्शन (अधिकांशतः सुरक्षा के प्रमाण में यादृच्छिक ऑरेकल कहा जाता है) की प्रकार पद्धति करनी चाहिए, जबकि ये अभी भी निर्धारक और कुशलता से गणना योग्य है। यह [[एसडब्लूआईआईएफटी]] फ़ंक्शन जैसे कार्यों को नियमबद्ध करता है, जो कठोर रूप से संघट्ट-प्रतिरोधी साबित हो सकता है, यह मानते हुए कि आदर्श लैटिस पर कुछ समस्याएं अभिकलनात्मक रूप से कठिन हैं, लेकिन, रैखिक फ़ंक्शन के रूप में, इन अतिरिक्त गुणों को ये संतुष्ट नहीं करता है।{{sfn|Lyubashevsky|Micciancio|Peikert|Rosen|2008| pp=54–72}}


चेकसम एल्गोरिथ्म, जैसे [[सीआरसी32]] और अन्य चक्रीय अतिरेक जाँच, बहुत कमजोर आवश्यकताओं को पूरा करने के लिए डिज़ाइन किए गए हैं और सामान्यतः क्रिप्टोग्राफ़िक हैश फ़ंक्शन के रूप में अनुपयुक्त हैं। उदाहरण के लिए, डब्लूइपी कूटलेखन मानक में संदेश अखंडता के लिए एक सीआरसी का उपयोग किया गया था, लेकिन एक हमले की आसानी से खोज की गई, जिसने चेकसम की रैखिकता का शोषण किया।
चेकसम कलनविधि, जैसे [[सीआरसी32]] और अन्य चक्रीय अतिरेक जाँच, बहुत कमजोर आवश्यकताओं को पूरा करने के लिए डिज़ाइन किए गए हैं और सामान्यतः क्रिप्टोग्राफ़िक हैश फ़ंक्शन के रूप में अनुपयुक्त हैं। उदाहरण के लिए, डब्लूइपी कूटलेखन मानक में संदेश अखंडता के लिए सीआरसी का उपयोग किया गया था, जो चेकसम की रैखिकता का फायदा उठाते थे।


=== कठिनाई की डिग्री ===
=== कठिनाई की डिग्री ===
क्रिप्टोग्राफिक पद्धति में, "कठिन" का सामान्यतः यह मतलब है "लगभग निश्चित रूप से किसी भी विरोधी की पहुंच से परे जिसे प्रणाली की सुरक्षा को महत्वपूर्ण समझा जाता है, तब तक प्रणाली को तोड़ने से रोका जाना चाहिए"इसलिए इस शब्द का अर्थ कुछ हद तक अनुप्रयोग पर निर्भर करता है क्योंकि मैलिसियस एजेंट द्वारा कार्य में लगाए जाने वाले प्रयास सामान्यतः उनके अपेक्षित लाभ के समानुपाती होते हैं। चूंकि, आवश्यक प्रयास सामान्यतः डाइजेस्ट लंबाई के साथ गुणा हो जाता है, प्रसंस्करण घात में एक हजार गुना लाभ भी बाद में एक दर्जन बिट्स जोड़कर बेअसर किया जा सकता है।
क्रिप्टोग्राफिक पद्धति में, "कठिन" का सामान्यतः यह मतलब है "अधिकतर निश्चित रूप से किसी भी विरोधी की पहुंच से परे जिसे प्रणाली की सुरक्षा को महत्वपूर्ण समझा जाता है, तब तक प्रणाली को तोड़ने से रोका जाना चाहिए" इसलिए इस शब्द का अर्थ कुछ सीमा तक अनुप्रयोग पर निर्भर करता है क्योंकि मैलिसियस एजेंट द्वारा कार्य में लगाए जाने वाले प्रयास सामान्यतः उनके अपेक्षित लाभ के समानुपाती होते हैं। चूंकि, आवश्यक प्रयास सामान्यतः डाइजेस्ट लंबाई के साथ गुणा हो जाता है, प्रसंस्करण घात में हजार गुना लाभ को बाद में दर्जन बिट्स के साथ जोड़कर बेअसर किया जा सकता है।


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


कुछ [[कम्प्यूटेशनल जटिलता सिद्धांत]] विश्लेषणों में "कठिन" का एक विशिष्ट गणितीय अर्थ है, जैसे कि [[स्पर्शोन्मुख कम्प्यूटेशनल जटिलता]] बहुपद समय में हल नहीं किया जा सकता। पहले से सुरक्षित कूटलेखन हैश कार्यक्रमों का अध्ययन करते समय इन कठिनाइयों की व्याख्या करना महत्वपूर्ण है किन्तु प्रायोगिक सुरक्षा से उनका गहरा संबंध नहीं है। उदाहरण के लिए, [[घातीय समय]] एल्गोरिथ्म कभी-कभी इतनी तेजी से हो सकता है कि संभावित रूप से हमला हो सके। इसके विपरीत, एक बहुपद-समय एल्गोरिथ्म (उदाहरण के लिए, जिसकी आवश्यकता होती है {{math|''n''<sup>20</sup>}} के लिए कदम {{math|''n''}}-डिजिट कुंजियाँ) किसी भी व्यावहारिक उपयोग के लिए बहुत धीमी हो सकती हैं।
कुछ [[कम्प्यूटेशनल जटिलता सिद्धांत|अभिकलनात्मक जटिलता सिद्धांत]] विश्लेषणों में "कठिन" का विशिष्ट गणितीय अर्थ है, जैसे कि [[स्पर्शोन्मुख कम्प्यूटेशनल जटिलता|स्पर्शोन्मुख अभिकलनात्मक जटिलता]] बहुपद समय में इसे हल नहीं किया जा सकता है। पहले से सुरक्षित कूटलेखन हैश कार्यक्रमों का अध्ययन करते समय इन कठिनाइयों की व्याख्या करना महत्वपूर्ण है किन्तु प्रायोगिक सुरक्षा से उनका गहरा संबंध नहीं है। उदाहरण के लिए, [[घातीय समय]] कलनविधि कभी-कभी इतनी तेजी से हो सकती है कि संभावित रूप से अटैक हो सके। इसके विपरीत, बहुपद-समय कलनविधि (उदाहरण के लिए, जिसकी आवश्यकता होती है {{math|''n''<sup>20</sup>}} के लिए कदम {{math|''n''}}-डिजिट कुंजियाँ) किसी भी प्रायोगिक उपयोग के लिए बहुत धीमी हो सकती हैं।


== चित्रण ==
== चित्रण ==
क्रिप्टोग्राफ़िक हैश के संभावित उपयोग का उदाहरण इस प्रकार है: [[ऐलिस और बॉब]] के लिए एक कठिन गणित की समस्या रखी जाती है और दावा किया जाता हैं कि उसने इसे हल कर लिया है। बॉब इसे स्वयं आज़माना चाहेंगे, लेकिन फिर भी यह सुनिश्चित करना चाहेंगे कि कहीं ऐलिस झांसा तो नहीं दे रही है। इसलिए, ऐलिस अपना समाधान लिखती है, अपने हैश की गणना करती है, और बॉब को हैश मान बताती है (समाधान को गुप्त रखते हुए)। फिर, जब कुछ दिनों के बाद बॉब स्वयं समाधान के साथ आता है, तो ऐलिस यह साबित कर सकती है कि उसके पास पहले समाधान था और बॉब हैश होने के बाद यह जांच कर सकता है कि यह पहले दिए गए हैश मान से मेल खाता है। (यह एक साधारण [[प्रतिबद्धता योजना]] का एक उदाहरण है; वास्तविक पद्धति में, ऐलिस और बॉब अधिकांशतः एक कंप्यूटर प्रोग्राम होंगे, और रहस्य दावा किए गए पहेली समाधान की तुलना में कम आसानी से धोखा देने वाला होगा।)
क्रिप्टोग्राफ़िक हैश के संभावित उपयोग का उदाहरण इस प्रकार है: [[ऐलिस और बॉब]] के लिए एक कठिन गणित की समस्या प्रस्तुत की जाती है और दावा किया जाता हैं कि उसने इसे हल कर लिया है। बॉब इसे स्वयं आज़माना चाहेंगे, लेकिन फिर भी यह सुनिश्चित करना चाहेंगे कि कहीं ऐलिस झांसा तो नहीं दे रही है। इसलिए, ऐलिस अपना समाधान लिखती है, अपने हैश की गणना करती है, और बॉब को हैश मान बताती है (समाधान को छिपाते हुए)। फिर, जब कुछ दिनों के बाद बॉब स्वयं समाधान के साथ आता है, तो ऐलिस यह साबित कर सकती है कि उसके पास पहले समाधान था और बॉब हैश होने के बाद यह जांच कर सकता है कि यह पहले दिए गए हैश मान से मेल खाता है। (यह साधारण [[प्रतिबद्धता योजना]] का उदाहरण है; वास्तविक पद्धति में, ऐलिस और बॉब अधिकांशतः कंप्यूटर प्रोग्राम होंगे, और रहस्य कुछ कम सरलता से दावा किया गया की पहेली समाधान में धोखा होता है)


== अनुप्रयोग ==
== अनुप्रयोग ==
Line 39: Line 39:
===संदेशों और फाइलों की अखंडता का सत्यापन ===
===संदेशों और फाइलों की अखंडता का सत्यापन ===
{{main | फ़ाइल सत्यापन }}
{{main | फ़ाइल सत्यापन }}
सुरक्षित हैश का एक महत्वपूर्ण अनुप्रयोग [[संदेश अखंडता]] का सत्यापन है। प्रेषण से पहले और बाद में गणना किए गए संदेश डाइजेस्ट (संदेश पर हैश डाइजेस्ट) की तुलना करना यह निर्धारित कर सकता है कि संदेश या [[कम्प्यूटर फाइल]] में कोई बदलाव किया गया है या नहीं।
सुरक्षित हैश का महत्वपूर्ण अनुप्रयोग [[संदेश अखंडता]] का सत्यापन है। प्रेषण से पहले और बाद में गणना किए गए संदेश डाइजेस्ट (संदेश पर हैश डाइजेस्ट) की तुलना करना यह निर्धारित कर सकता है कि संदेश या [[कम्प्यूटर फाइल]] में कोई बदलाव किया गया है या नहीं।


[[MD5|एमडी5]], एसएचए-1, या [[SHA-2|एसएचए-2]] हैश डाइजेस्ट को कभी-कभी वेबसाइटों या फ़ोरम पर प्रकाशित किया जाता है जिससे की डाउनलोड की गई फ़ाइलों के लिए अखंडता का सत्यापन किया जा सके,<ref name="e87Bo">{{cite magazine | url=http://www.techrepublic.com/blog/security/use-md5-hashes-to-verify-software-downloads/374 | title=सॉफ़्टवेयर डाउनलोड सत्यापित करने के लिए MD5 हैश का उपयोग करें| magazine=TechRepublic | date=December 5, 2007 | access-date=March 2, 2013 | last = Perrin | first = Chad}}</ref> फ़ाइल साझाकरण जैसे [[मिरर वेबसाइट]] का उपयोग करके पुनर्प्राप्त की गई फ़ाइलें सम्मलित हैं। यह अभ्यास विश्वास की एक श्रृंखला स्थापित करता है जब तक कि हैश एक विश्वसनीय साइट पर पोस्ट किया जाता है - सामान्यतः मूल साइट - [[HTTPS|एचटीटीपी]][[SHA-2|एस]] द्वारा प्रमाणित की जाती है। क्रिप्टोग्राफ़िक हैश और विश्वास की श्रृंखला का उपयोग फ़ाइल में मैलिसियस परिवर्तनों का पता लगाता है। गैर-क्रिप्टोग्राफ़िक त्रुटि-खोज कोड जैसे कि चक्रीय अतिरेक जाँच केवल फ़ाइल के गैर-मैलिसियस परिवर्तनों से बचाती है, क्योंकि जानबूझकर स्पूफिंग हमले को संघट्ट हमले के मूल्य के लिए आसानी से तैयार किया जा सकता है।
[[MD5|एमडी5]], एसएचए-1, या [[SHA-2|एसएचए-2]] हैश डाइजेस्ट को कभी-कभी वेबसाइटों या फ़ोरम पर प्रकाशित किया जाता है जिससे की डाउनलोड की गई फ़ाइलों के लिए अखंडता का सत्यापन किया जा सके,<ref name="e87Bo">{{cite magazine | url=http://www.techrepublic.com/blog/security/use-md5-hashes-to-verify-software-downloads/374 | title=सॉफ़्टवेयर डाउनलोड सत्यापित करने के लिए MD5 हैश का उपयोग करें| magazine=TechRepublic | date=December 5, 2007 | access-date=March 2, 2013 | last = Perrin | first = Chad}}</ref> फ़ाइल साझाकरण जैसे [[मिरर वेबसाइट]] का उपयोग करके पुनर्प्राप्त की गई फ़ाइलें सम्मलित हैं। यह अभ्यास विश्वास की श्रृंखला को स्थापित करता है जब तक कि हैश विश्वसनीय साइट पर पोस्ट किया जाता है - सामान्यतः मूल साइट - [[HTTPS|एचटीटीपी]][[SHA-2|एस]] द्वारा प्रमाणित की जाती है। क्रिप्टोग्राफ़िक हैश और विश्वास की श्रृंखला का उपयोग फ़ाइल में मैलिसियस परिवर्तनों का पता लगाता है। गैर-क्रिप्टोग्राफ़िक त्रुटि-खोज कोड जैसे कि चक्रीय अतिरेक जाँच केवल फ़ाइल के गैर-मैलिसियस परिवर्तनों से बचाती है, क्योंकि अभिप्रायपूर्वक स्पूफिंग अटैक को संघट्ट अटैक के मूल्य के लिए इसे सरलता से तैयार किया जा सकता है।


===हस्ताक्षर निर्माण और सत्यापन===
===हस्ताक्षर निर्माण और सत्यापन===
{{main |अंकीय हस्ताक्षर }}
{{main |अंकीय हस्ताक्षर }}


लगभग सभी डिजिटल हस्ताक्षर योजनाओं को संदेश पर गणना करने के लिए क्रिप्टोग्राफ़िक हैश की आवश्यकता होती है। यह हस्ताक्षर गणना को अपेक्षाकृत छोटे, स्थिर आकार के हैश डाइजेस्ट पर निष्पादित करने की अनुमति देता है। संदेश को प्रामाणिक माना जाता है यदि हस्ताक्षर सत्यापन संदेश पर हस्ताक्षर और पुनर्गणना किए गए हैश डाइजेस्ट को सफल बनाता है। इसलिए क्रिप्टोग्राफ़िक हैश की संदेश अखंडता संपत्ति का उपयोग सुरक्षित और कुशल डिजिटल हस्ताक्षर योजनाएँ बनाने के लिए किया जाता है।
अधिकतर सभी डिजिटल हस्ताक्षर योजनाओं को संदेश पर गणना करने के लिए क्रिप्टोग्राफ़िक हैश की आवश्यकता होती है। यह हस्ताक्षर गणना को अपेक्षाकृत छोटे, स्थिर आकार के हैश डाइजेस्ट पर निष्पादित करने की अनुमति देता है। संदेश को प्रामाणिक माना जाता है यदि हस्ताक्षर सत्यापन संदेश पर हस्ताक्षर और पुनर्गणना किए गए हैश डाइजेस्ट को सफल बनाता है। इसलिए क्रिप्टोग्राफ़िक हैश की संदेश अखंडता संपत्ति का उपयोग सुरक्षित और कुशल डिजिटल हस्ताक्षर योजनाएँ बनाने के लिए किया जाता है।


=== पासवर्ड सत्यापन ===
=== पासवर्ड सत्यापन ===
{{main |पासवर्ड हैशिंग}}
{{main |पासवर्ड हैशिंग}}


पासवर्ड सत्यापन सामान्यतः क्रिप्टोग्राफ़िक हैश पर निर्भर करता है। यदि पासवर्ड फ़ाइल से समझौता किया जाता है, तो सभी उपयोगकर्ता पासवर्ड को स्पष्ट टेक्स्ट के रूप में संग्रहीत करने से बड़े पैमाने पर सुरक्षा में उल्लंघन हो सकता है। इस खतरे को कम करने का तरीका केवल प्रत्येक पासवर्ड के हैश डाइजेस्ट को स्टोर करना है। एक उपयोगकर्ता को प्रमाणित करने के लिए, उपयोगकर्ता द्वारा प्रस्तुत पासवर्ड को हैश किया जाता है और संग्रहीत हैश के साथ तुलना की जाती है। पासवर्ड हैशिंग करते समय पासवर्ड रीसेट विधि की आवश्यकता होती है; संग्रहीत हैश मान से मूल पासवर्ड की पुनर्गणना नहीं की जा सकती है।
पासवर्ड सत्यापन सामान्यतः क्रिप्टोग्राफ़िक हैश पर निर्भर करता है। यदि पासवर्ड फ़ाइल से समझौता किया जाता है, तो सभी उपयोगकर्ता पासवर्ड को स्पष्ट टेक्स्ट के रूप में संग्रहीत करने से बड़े पैमाने पर सुरक्षा में उल्लंघन हो सकता है। इस खतरे को कम करने की विधी केवल प्रत्येक पासवर्ड के हैश डाइजेस्ट को स्टोर करना है। उपयोगकर्ता को प्रमाणित करने के लिए, उपयोगकर्ता द्वारा प्रस्तुत पासवर्ड को हैश किया जाता है और संग्रहीत हैश के साथ तुलना की जाती है। पासवर्ड हैशिंग करते समय पासवर्ड रीसेट विधि की आवश्यकता होती है; संग्रहीत हैश मान से मूल पासवर्ड की पुनर्गणना नहीं की जा सकती है।


मानक क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को जल्दी से गणना करने के लिए डिज़ाइन किया गया है, और इसके परिणामस्वरूप, उच्च दरों पर अनुमानित पासवर्ड का प्रयास करना संभव है। सामान्य [[ग्राफ़िक्स प्रोसेसिंग युनिट]] प्रत्येक सेकंड में अरबों संभावित पासवर्ड को परख सकते हैं पासवर्ड हैश फ़ंक्शंस जो [[कुंजी खींचना]] करते हैं - जैसे [[PBKDF2|पीबीकेडीएफ2]], [[scrypt|स्क्रिप्ट]] या [[Argon2|आर्गन2]] - सामान्यतः क्रिप्टोग्राफ़िक हैश के बार-बार इनवोकेशन का उपयोग समय (और कुछ मामलों में कंप्यूटर मेमोरी) को बढ़ाने के लिए संग्रहीत पासवर्ड हैश डाइजेस्ट पर ब्रूट-फोर्स अटैक करने के लिए आवश्यक है। एक पासवर्ड हैश के लिए बड़े यादृच्छिक, गैर-गुप्त [[नमक (क्रिप्टोग्राफी)|सॉल्ट (क्रिप्टोग्राफी)]] मान के उपयोग की आवश्यकता होती है जिसे पासवर्ड हैश के साथ संग्रहीत किया जा सकता है। सॉल्ट पासवर्ड हैश के उत्पादन को यादृच्छिक करता है, जिससे एक विरोधी के लिए पासवर्ड की सूची और [[पूर्वगणना]] हैश मूल्य को स्टोर करना असंभव हो जाता है जिससे पासवर्ड हैश डाइजेस्ट की तुलना की जा सकती है।
मानक क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को जल्दी से गणना करने के लिए डिज़ाइन किया गया है, और इसके परिणामस्वरूप, उच्च दरों पर अनुमानित पासवर्ड का प्रयास करना संभव है। सामान्य [[ग्राफ़िक्स प्रोसेसिंग युनिट]] प्रत्येक सेकंड में अरबों संभावित पासवर्ड को परख सकते हैं पासवर्ड हैश फ़ंक्शंस जो [[कुंजी खींचना|कुंजी तनन]] करते हैं - जैसे [[PBKDF2|पीबीकेडीएफ2]], [[scrypt|स्क्रिप्ट]] या [[Argon2|आर्गन2]] - सामान्यतः क्रिप्टोग्राफ़िक हैश के बार-बार इनवोकेशन का उपयोग समय (और कुछ स्थितियों में कंप्यूटर मेमोरी) को बढ़ाने के लिए संग्रहीत पासवर्ड हैश डाइजेस्ट पर ब्रूट-फोर्स अटैक करने के लिए आवश्यक है। पासवर्ड हैश के लिए बड़े यादृच्छिक, गैर-गुप्त [[नमक (क्रिप्टोग्राफी)|सॉल्ट (क्रिप्टोग्राफी)]] मान के उपयोग की आवश्यकता होती है जिसे पासवर्ड हैश के साथ संग्रहीत किया जा सकता है। सॉल्ट पासवर्ड हैश के उत्पादन को यादृच्छिक करता है, जिससे विरोधी के लिए पासवर्ड की सूची और [[पूर्वगणना]] हैश मूल्य को स्टोर करना असंभव हो जाता है जिससे पासवर्ड हैश डाइजेस्ट की तुलना की जा सकती है।


=== काम का सबूत ===
=== कार्य का प्रमाण ===
{{main |कार्य का प्रमाण }}
{{main |कार्य का प्रमाण }}


एक प्रूफ-ऑफ़-वर्क प्रणाली (या प्रोटोकॉल, या फ़ंक्शन) एक आर्थिक उपाय है, जो सेवा अनुरोधकर्ता से कुछ काम की आवश्यकता के द्वारा नेटवर्क पर सेवा के इनकार और अन्य सेवा दुरुपयोग जैसे स्पैम को रोकने के लिए होता है, सामान्यतः प्रसंस्करण समय का अर्थ कंप्यूटर होता है। इन योजनाओं की एक प्रमुख विशेषता उनकी विषमता है: अनुरोधकर्ता की ओर से कार्य मध्यम रूप से कठिन (लेकिन पद्धति्य) होना चाहिए लेकिन सेवा प्रदाता के लिए जाँच करना आसान होना चाहिए। एक लोकप्रिय प्रणाली - [[बिटकॉइन खनन]] और [[हशकाश]] में उपयोग की जाती है - यह साबित करने के लिए आंशिक हैश व्युत्क्रम का उपयोग करती है कि बिटकॉइन में खनन इनाम को अनलॉक करने के लिए काम किया गया था, और हैशकैश में एक ई-मेल भेजने के लिए सद्भावना टोकन के रूप में होती हैं। प्रेषक को एक संदेश खोजने की आवश्यकता होती है जिसका हैश मान कई शून्य बिट्स से शुरू होता है। एक वैध संदेश खोजने के लिए प्रेषक को जो औसत कार्य करने की आवश्यकता होती है, वह हैश मान में आवश्यक शून्य बिट्स की संख्या में घातीय होता है, जबकि प्राप्तकर्ता एकल हैश फ़ंक्शन को निष्पादित करके संदेश की वैधता को सत्यापित कर सकता है। उदाहरण के लिए, हैशकैश में, एक प्रेषक को एक शीर्षलेख उत्पन्न करने के लिए कहा जाता है जिसका 160-बिट एसएचए-1 हैश मान शून्य के रूप में पहले 20 बिट होता है। प्रेषक को वैध शीर्षलेख खोजने के लिए औसतन {{math|2<sup>19</sup>}} बार प्रयास करना होता है।
एक प्रूफ-ऑफ़-वर्क प्रणाली (या प्रोटोकॉल, या फ़ंक्शन) आर्थिक उपाय है, जो सेवा अनुरोधकर्ता से कुछ कार्य की आवश्यकता के द्वारा नेटवर्क पर सेवा के इनकार और अन्य सेवा दुरुपयोग जैसे स्पैम को रोकने के लिए होता है, सामान्यतः प्रसंस्करण समय का अर्थ कंप्यूटर होता है। इन योजनाओं की प्रमुख विशेषता उनकी विषमता है: अनुरोधकर्ता की ओर से कार्य मध्यम रूप से कठिन (लेकिन पद्धति्य) होना चाहिए लेकिन सेवा प्रदाता के लिए जाँच करना सरल होना चाहिए। लोकप्रिय प्रणाली - [[बिटकॉइन खनन]] और [[हशकाश]] में उपयोग की जाती है - यह साबित करने के लिए आंशिक हैश व्युत्क्रम का उपयोग करती है कि बिटकॉइन में खनन इनाम को अनलॉक करने के लिए कार्य किया गया था, और हैशकैश में ई-मेल भेजने के लिए सद्भावना टोकन के रूप में होती हैं। प्रेषक को संदेश खोजने की आवश्यकता होती है जिसका हैश मान कई शून्य बिट्स से शुरू होता है। वैध संदेश खोजने के लिए प्रेषक को जो औसत कार्य करने की आवश्यकता होती है, वह हैश मान में आवश्यक शून्य बिट्स की संख्या में घातीय होता है, जबकि प्राप्तकर्ता एकल हैश फ़ंक्शन को निष्पादित करके संदेश की वैधता को सत्यापित कर सकता है। उदाहरण के लिए, हैशकैश में, प्रेषक को शीर्षलेख उत्पन्न करने के लिए कहा जाता है जिसका 160-बिट एसएचए-1 हैश मान शून्य के रूप में पहले 20 बिट होता है। प्रेषक को वैध शीर्षलेख खोजने के लिए औसतन {{math|2<sup>19</sup>}} बार प्रयास करना होता है।


=== फ़ाइल या डेटा पहचानकर्ता ===
=== फ़ाइल या डेटा पहचानकर्ता ===


एक संदेश डाइजेस्ट किसी फ़ाइल की मज़बूती से पहचान करने के साधन के रूप में भी काम कर सकता है; गिट (सॉफ़्टवेयर), मर्क्युरिअल (सॉफ़्टवेयर) और मोनोटोन (सॉफ़्टवेयर) सहित कई [[स्रोत कोड प्रबंधन]] प्रणालियाँ, विशिष्ट रूप से उनकी पहचान करने के लिए विभिन्न प्रकार की सामग्री (फ़ाइल सामग्री, निर्देशिका ट्री, पूर्वजों की जानकारी, आदि) के [[sha1sum|एसएचए1एसयूएम]] का उपयोग करती हैं। [[पीयर टू पीयर]] फ़ाइल [[फ़ाइल साझा करना]] नेटवर्क पर फ़ाइलों की पहचान करने के लिए हैश का उपयोग किया जाता है। उदाहरण के लिए, [[ed2k लिंक|इडी2के लिंक]] में, एक [[MD4|एमडी4]]-वैरिएंट हैश को फ़ाइल आकार के साथ जोड़ा जाता है, जिससे फ़ाइल स्रोतों का पता लगाने, फ़ाइल को डाउनलोड करने और इसकी सामग्री को सत्यापित करने के लिए पर्याप्त जानकारी मिलती है। [[चुंबक यूआरआई योजना|मैग्नेट यूआरआई योजना]] अन्य उदाहरण है। ऐसी फ़ाइल हैश अधिकांशतः [[हैश सूची]] या [[मर्कल ट्री]] का शीर्ष हैश होता है जो अतिरिक्त लाभ की अनुमति देता है।
एक संदेश डाइजेस्ट किसी फ़ाइल की मज़बूती से पहचान करने के साधन के रूप में भी कार्य कर सकता है; गिट (सॉफ़्टवेयर), मर्क्युरिअल (सॉफ़्टवेयर) और मोनोटोन (सॉफ़्टवेयर) सहित कई [[स्रोत कोड प्रबंधन]] प्रणालियाँ, विशिष्ट रूप से उनकी पहचान करने के लिए विभिन्न प्रकार की सामग्री (फ़ाइल सामग्री, निर्देशिका ट्री, पूर्वजों की जानकारी, आदि) के [[sha1sum|एसएचए1एसयूएम]] का उपयोग करती हैं। [[पीयर टू पीयर]] फ़ाइल [[फ़ाइल साझा करना]] नेटवर्क पर फ़ाइलों की पहचान करने के लिए हैश का उपयोग किया जाता है। उदाहरण के लिए, [[ed2k लिंक|इडी2के लिंक]] में, [[MD4|एमडी4]]-वैरिएंट हैश को फ़ाइल आकार के साथ जोड़ा जाता है, जिससे फ़ाइल स्रोतों का पता लगाने, फ़ाइल को डाउनलोड करने और इसकी सामग्री को सत्यापित करने के लिए पर्याप्त जानकारी मिलती है। [[चुंबक यूआरआई योजना|मैग्नेट यूआरआई योजना]] अन्य उदाहरण है। ऐसी फ़ाइल हैश अधिकांशतः [[हैश सूची]] या [[मर्कल ट्री]] का शीर्ष हैश होता है जो अतिरिक्त लाभ की अनुमति देता है।


हैश फ़ंक्शन के मुख्य अनुप्रयोगों में से हैश सूची में डेटा को तेज़ी से देखने की अनुमति देना है। एक विशेष प्रकार के हैश फ़ंक्शन होने के नाते, क्रिप्टोग्राफ़िक हैश फ़ंक्शन स्वयं को इस अनुप्रयोग के लिए भी अच्छी तरह से किराए पर देते हैं।
हैश फ़ंक्शन के मुख्य अनुप्रयोगों में से हैश सूची में डेटा को तेज़ी से देखने की अनुमति देना है। विशेष प्रकार के हैश फ़ंक्शन होने के नाते, क्रिप्टोग्राफ़िक हैश फ़ंक्शन स्वयं को इस अनुप्रयोग के लिए भी अच्छी प्रकार से किराए पर देते हैं।


चूंकि, मानक हैश फ़ंक्शंस की तुलना में, क्रिप्टोग्राफ़िक हैश फ़ंक्शंस कम्प्यूटेशनल रूप से अधिक महंगे होते हैं। इस कारण से, वे उन संदर्भों में उपयोग किए जाते हैं जहां संभावित रूप से मैलिसियस प्रतिभागियों द्वारा जालसाजी (अपेक्षित डेटा के सामान्य डाइजेस्ट के साथ डेटा का निर्माण) की संभावना के खिलाफ खुद को बचाने के लिए उपयोगकर्ताओं के लिए यह आवश्यक है।
चूंकि, मानक हैश फ़ंक्शंस की तुलना में, क्रिप्टोग्राफ़िक हैश फ़ंक्शंस अभिकलनात्मक रूप से अधिक महंगे होते हैं। इस कारण से, वे उन संदर्भों में उपयोग किए जाते हैं जहां संभावित रूप से मैलिसियस प्रतिभागियों द्वारा जालसाजी (अपेक्षित डेटा के सामान्य डाइजेस्ट के साथ डेटा का निर्माण) की संभावना के खिलाफ खुद को बचाने के लिए उपयोगकर्ताओं के लिए यह आवश्यक है।
 
== [[ब्लॉक सिफर]] == पर आधारित हैश फ़ंक्शन


== [[ब्लॉक सिफर]] पर आधारित हैश फ़ंक्शन ==
क्रिप्टोग्राफ़िक हैश फ़ंक्शन, विशेष रूप से एक तरफ़ा संपीड़न फ़ंक्शन बनाने के लिए ब्लॉक सिफर का उपयोग करने के कई प्रकार हैं।
क्रिप्टोग्राफ़िक हैश फ़ंक्शन, विशेष रूप से एक तरफ़ा संपीड़न फ़ंक्शन बनाने के लिए ब्लॉक सिफर का उपयोग करने के कई प्रकार हैं।


सामान्यतः कूटलेखन के लिए उपयोग किए जाने वाले परिचालन के ब्लॉक सिफर मोड के सामान्य प्रकार हैं। एमडी4, एमडी5, एसएचए-1 और एसएचए-2 सहित कई जाने-माने हैश फ़ंक्शंस, इस उद्देश्य के लिए डिज़ाइन किए गए ब्लॉक-सिफर-जैसे घटकों से बनाए गए हैं, यह सुनिश्चित करने के लिए फीडबैक के साथ कि परिणामी फ़ंक्शन उलटा नहीं है। [[NIST हैश फंक्शन प्रतियोगिता|एनआईएसटी हैश फंक्शन प्रतियोगिता]] | एसएचए-3 फाइनलिस्ट में ब्लॉक-सिफर जैसे घटकों (जैसे, [[स्केन हैश फ़ंक्शन]], ब्लेक (हैश फंक्शन)) के साथ फंक्शन सम्मलित थे, चूंकि फंक्शन को अंत में चुना गया, [[केकेक]], इसके अतिरिक्त [[स्पंज समारोह|स्पंज फ़ंक्शन]] पर बनाया गया था।
सामान्यतः कूटलेखन के लिए उपयोग किए जाने वाले परिचालन के ब्लॉक सिफर मोड के सामान्य प्रकार हैं। एमडी4, एमडी5, एसएचए-1 और एसएचए-2 सहित कई जाने-माने हैश फ़ंक्शंस, इस उद्देश्य के लिए डिज़ाइन किए गए ब्लॉक-सिफर-जैसे घटकों से बनाए गए हैं, यह सुनिश्चित करने के लिए फीडबैक के साथ कि परिणामी फ़ंक्शन उलटा नहीं है। [[NIST हैश फंक्शन प्रतियोगिता|एनआईएसटी हैश फंक्शन प्रतियोगिता]] एसएचए-3 फाइनलिस्ट में ब्लॉक-सिफर जैसे घटकों (जैसे, [[स्केन हैश फ़ंक्शन]], ब्लेक (हैश फंक्शन)) के साथ फंक्शन सम्मलित थे, चूंकि फंक्शन को अंत में चुना गया, [[केकेक]], इसके अतिरिक्त [[स्पंज समारोह|स्पंज फ़ंक्शन]] पर बनाया गया था।


इन कस्टम ब्लॉक सिफर के स्थान पर उन्नत कूटलेखन मानक जैसे एक मानक ब्लॉक सिफर का उपयोग किया जा सकता है; यह उपयोगी हो सकता है जब एक [[अंतः स्थापित प्रणाली]] को न्यूनतम कोड आकार या हार्डवेयर क्षेत्र के साथ कूटलेखन और हैशिंग दोनों को लागू करने की आवश्यकता होती है। चूंकि, उस दृष्टिकोण की दक्षता और सुरक्षा में लागत हो सकती है। हैश फ़ंक्शंस में सिफर हैशिंग के लिए बनाए गए हैं: वे बड़ी चाबियों और ब्लॉकों का उपयोग करते हैं, कुशलतापूर्वक प्रत्येक ब्लॉक की चाबियों को बदल सकते हैं, और संबंधित-कुंजी अटैक के प्रतिरोध के लिए डिज़ाइन और पुनरीक्षण किया गया है। सामान्य-उद्देश्य वाले सिफर के भिन्न-भिन्न डिज़ाइन के लक्ष्य होते हैं। विशेष रूप से, एईएस में कुंजी और ब्लॉक आकार के होते हैं जो इसे लंबे हैश मान मे उत्पन्न करके उपयोग करने के लिए गैर-तुच्छ बनाते हैं; एईएस कूटलेखन कम कुशल हो जाता है जब कुंजी प्रत्येक ब्लॉक को बदल देती है; और संबंधित-प्रमुख हमले इसे कूटलेखन की तुलना में हैश फ़ंक्शन में उपयोग के लिए संभावित रूप से कम सुरक्षित बनाते हैं।
इन कस्टम ब्लॉक सिफर के स्थान पर उन्नत कूटलेखन मानक जैसे मानक ब्लॉक सिफर का उपयोग किया जा सकता है; यह उपयोगी हो सकता है जब [[अंतः स्थापित प्रणाली]] को न्यूनतम कोड आकार या हार्डवेयर क्षेत्र के साथ कूटलेखन और हैशिंग दोनों को लागू करने की आवश्यकता होती है। चूंकि, उस दृष्टिकोण की दक्षता और सुरक्षा में लागत हो सकती है। हैश फ़ंक्शंस में सिफर हैशिंग के लिए बनाए गए हैं: वे बड़ी कुँजी और ब्लॉकों का उपयोग करते हैं, कुशलतापूर्वक प्रत्येक ब्लॉक की कुँजी को बदल सकते हैं, और संबंधित-कुंजी अटैक के प्रतिरोध के लिए डिज़ाइन और पुनरीक्षण किया गया है। सामान्य-उद्देश्य वाले सिफर के भिन्न-भिन्न डिज़ाइन के लक्ष्य होते हैं। विशेष रूप से, एईएस में कुंजी और ब्लॉक आकार के होते हैं जो इसे लंबे हैश मान मे उत्पन्न करके उपयोग करने के लिए गैर-तुच्छ बनाते हैं; एईएस कूटलेखन कम कुशल हो जाता है जब कुंजी प्रत्येक ब्लॉक को बदल देती है; और संबंधित-प्रमुख अटैक इसे कूटलेखन की तुलना में हैश फ़ंक्शन में उपयोग के लिए संभावित रूप से कम सुरक्षित बनाते हैं।


== हैश फ़ंक्शन डिज़ाइन ==
== हैश फ़ंक्शन डिज़ाइन ==
Line 81: Line 80:
{{Main|मेर्कले-डमगार्ड निर्माण}}
{{Main|मेर्कले-डमगार्ड निर्माण}}
[[Image:Merkle-Damgard hash big.svg|thumb|450px|right|मेर्कले-डेमगार्ड हैश निर्माण]]
[[Image:Merkle-Damgard hash big.svg|thumb|450px|right|मेर्कले-डेमगार्ड हैश निर्माण]]
हैश फ़ंक्शन एक निश्चित-लंबाई वाले उत्पादन में मनमाने-लंबाई वाले संदेश को संसाधित करने में सक्षम होना चाहिए। इसे सामान्य आकार के ब्लॉकों की एक श्रृंखला में इनपुट को तोड़कर और एक तरफ़ा संपीड़न फ़ंक्शन का उपयोग करके अनुक्रम में संचालित करके प्राप्त किया जा सकता है। संपीड़न फ़ंक्शन या तो विशेष रूप से हैशिंग के लिए डिज़ाइन किया जा सकता है या फिर ब्लॉक सिफर से बनाया जा सकता है। मेर्कले-डैमगार्ड निर्माण के साथ निर्मित हैश फ़ंक्शन टकराव के लिए प्रतिरोधी है क्योंकि इसका संपीड़न कार्य है; पूर्ण हैश फ़ंक्शन के लिए किसी भी संघट्ट को संपीड़न फ़ंक्शन में टकराव के लिए वापस देखा जा सकता है।
हैश फ़ंक्शन निश्चित-लंबाई वाले उत्पादन में मनमाने-लंबाई वाले संदेश को संसाधित करने में सक्षम होना चाहिए। इसे सामान्य आकार के ब्लॉकों की श्रृंखला में इनपुट को तोड़कर और एक तरफ़ा संपीड़न फ़ंक्शन का उपयोग करके अनुक्रम में संचालित करके प्राप्त किया जा सकता है। संपीड़न फ़ंक्शन या तो विशेष रूप से हैशिंग के लिए डिज़ाइन किया जा सकता है या फिर ब्लॉक सिफर से बनाया जा सकता है। मेर्कले-डैमगार्ड निर्माण के साथ निर्मित हैश फ़ंक्शन संघट्ट के लिए प्रतिरोधी है क्योंकि इसका संपीड़न कार्य है; पूर्ण हैश फ़ंक्शन के लिए किसी भी संघट्ट को संपीड़न फ़ंक्शन में संघट्ट के लिए वापस देखा जा सकता है।


संसाधित किया गया अंतिम ब्लॉक भी स्पष्ट रूप से [[पैडिंग (क्रिप्टोग्राफी)]] होना चाहिए; यह इस निर्माण की सुरक्षा के लिए महत्वपूर्ण है। इस निर्माण को मेर्कले-डैमगार्ड निर्माण कहा जाता है। एसएचए-1 और एमडी5 सहित अधिकांश सामान्य क्लासिकल हैश फ़ंक्शंस, यह फ़ॉर्म लेते हैं।
संसाधित किया गया अंतिम ब्लॉक भी स्पष्ट रूप से [[पैडिंग (क्रिप्टोग्राफी)]] होना चाहिए; यह इस निर्माण की सुरक्षा के लिए महत्वपूर्ण है। इस निर्माण को मेर्कले-डैमगार्ड निर्माण कहा जाता है। एसएचए-1 और एमडी5 सहित अधिकांश सामान्य क्लासिकल हैश फ़ंक्शंस, यह फ़ॉर्म लेते हैं।


===वाइड पाइप बनाम संकीर्ण पाइप ===
===वाइड पाइप बनाम संकीर्ण पाइप ===
मेर्कले-डैमगार्ड निर्माण का एक सीधा अनुप्रयोग, जहां हैश उत्पादन का आकार आंतरिक राज्य आकार (प्रत्येक संपीड़न चरण के बीच) के बराबर होता है, परिणाम एक संकीर्ण-पाइप हैश डिज़ाइन में होता है। यह डिज़ाइन कई अंतर्निहित खामियों का कारण बनता है, लंबाई-विस्तार, बहु-टकराव,<ref name="LkIref">{{Cite journal|last=Lucks|first=Stefan|date=2004|title=इटरेटेड हैश फ़ंक्शंस के लिए डिज़ाइन सिद्धांत|url=https://eprint.iacr.org/2004/253|journal=Cryptology ePrint Archive |id=Report 2004/253}}</ref> लंबे संदेश हमले,{{sfn|Kelsey|Schneier|2005|pp=474–490}} जनरेट-एंड-पेस्ट हमले, और समानांतर भी नहीं किया जा सकता है। नतीजतन, आधुनिक हैश फ़ंक्शंस चौड़े-पाइप निर्माणों पर बनाए गए हैं जिनका एक बड़ा आंतरिक राज्य आकार है - जो मेर्कले-डैमगार्ड निर्माण के बदलावों से लेकर है।<ref name="LkIref" /> [[स्पंज निर्माण]] और हाइफ़ा निर्माण जैसे नए निर्माणों के लिए।<ref name="EjaBK">{{Cite conference|last1=Biham|first1=Eli|last2=Dunkelman|first2=Orr|date=24 August 2006|title=ए फ्रेमवर्क फॉर इटरेटिव हैश फंक्शंस - हाइफा|url=https://eprint.iacr.org/2007/278|conference=Second NIST Cryptographic Hash Workshop|work=Cryptology ePrint Archive |id=Report 2007/278}}</ref> एनआईएसटी हैश फंक्शन प्रतियोगिता में प्रवेश करने वालों में से कोई भी प्रतिष्ठित मेर्कले-डैमगार्ड निर्माण का उपयोग नहीं करता है।{{sfn|Nandi|Paul|2010}}
मेर्कले-डैमगार्ड निर्माण का सीधा अनुप्रयोग, जहां हैश उत्पादन का आकार आंतरिक राज्य आकार (प्रत्येक संपीड़न चरण के बीच) के बराबर होता है, परिणाम संकीर्ण-पाइप हैश डिज़ाइन में होता है। यह डिज़ाइन कई अंतर्निहित खामियों का कारण बनता है, लंबाई-विस्तार, बहु-संघट्ट,<ref name="LkIref">{{Cite journal|last=Lucks|first=Stefan|date=2004|title=इटरेटेड हैश फ़ंक्शंस के लिए डिज़ाइन सिद्धांत|url=https://eprint.iacr.org/2004/253|journal=Cryptology ePrint Archive |id=Report 2004/253}}</ref> लंबे संदेश अटैक,{{sfn|Kelsey|Schneier|2005|pp=474–490}} जनरेट-एंड-पेस्ट अटैक, और समानांतर भी नहीं किया जा सकता है। परिणाम स्वरुप, आधुनिक हैश फ़ंक्शंस चौड़े-पाइप निर्माणों पर बनाए गए हैं जिनका बड़ा आंतरिक राज्य आकार है - जो मेर्कले-डैमगार्ड निर्माण के बदलावों से लेकर है।<ref name="LkIref" /> [[स्पंज निर्माण]] और हाइफ़ा निर्माण जैसे नए निर्माणों के लिए।<ref name="EjaBK">{{Cite conference|last1=Biham|first1=Eli|last2=Dunkelman|first2=Orr|date=24 August 2006|title=ए फ्रेमवर्क फॉर इटरेटिव हैश फंक्शंस - हाइफा|url=https://eprint.iacr.org/2007/278|conference=Second NIST Cryptographic Hash Workshop|work=Cryptology ePrint Archive |id=Report 2007/278}}</ref> एनआईएसटी हैश फंक्शन प्रतियोगिता में प्रवेश करने वालों में से कोई भी प्रतिष्ठित मेर्कले-डैमगार्ड निर्माण का उपयोग नहीं करता है।{{sfn|Nandi|Paul|2010}}


इस बीच, एसएचए-512/256 में उपयोग किए जाने वाले लंबे हैश के उत्पादन को छोटा करना भी इन अटैक में से कई को हरा देता है।<ref name="ZY8I9">{{Cite report|last1=Dobraunig|first1=Christoph|last2=Eichlseder|first2=Maria|last3=Mendel |first3=Florian |date=February 2015|title=SHA-224, SHA-512/224, और SHA-512/256 का सुरक्षा मूल्यांकन|url=http://www.cryptrec.go.jp/estimation/techrep_id2401.pdf}}</ref>
इस बीच, एसएचए-512/256 में उपयोग किए जाने वाले लंबे हैश के उत्पादन को छोटा करना भी इन अटैक में से कई को हरा देता है।<ref name="ZY8I9">{{Cite report|last1=Dobraunig|first1=Christoph|last2=Eichlseder|first2=Maria|last3=Mendel |first3=Florian |date=February 2015|title=SHA-224, SHA-512/224, और SHA-512/256 का सुरक्षा मूल्यांकन|url=http://www.cryptrec.go.jp/estimation/techrep_id2401.pdf}}</ref>
== अन्य क्रिप्टोग्राफ़िक पूर्वग बनाने में उपयोग करें ==
== अन्य क्रिप्टोग्राफ़िक पूर्वग बनाने में उपयोग करें ==
अन्य क्रिप्टोग्राफ़िक पूर्वग बनाने के लिए हैश फ़ंक्शंस का उपयोग किया जा सकता है। इन अन्य पूर्वगों को क्रिप्टोग्राफ़िक रूप से सुरक्षित होने के लिए, उन्हें सही प्रकार से बनाने के लिए देखभाल की जानी चाहिए।
अन्य क्रिप्टोग्राफ़िक पूर्वग बनाने के लिए हैश फ़ंक्शंस का उपयोग किया जा सकता है। इन अन्य पूर्वगों को क्रिप्टोग्राफ़िक रूप से सुरक्षित होने के लिए, उन्हें सही प्रकार से बनाने के लिए रख-रखाव किया जाना चाहिए।


संदेश प्रमाणीकरण कोड (एमएसीएस) (जिसे कीड हैश फ़ंक्शंस भी कहा जाता है) अधिकांशतः हैश फ़ंक्शंस से बनाए जाते हैं। एचएमएसी ऐसा एमएसी है।
संदेश प्रमाणीकरण कोड (एमएसीएस) (जिसे कीड हैश फ़ंक्शंस भी कहा जाता है) अधिकांशतः हैश फ़ंक्शंस से बनाए जाते हैं। एचएमएसी ऐसा एमएसी है।


जिस तरह ब्लॉक सिफर का उपयोग हैश फंक्शन बनाने के लिए किया जा सकता है, उसी तरह हैश फंक्शन का उपयोग ब्लॉक सिफर बनाने के लिए किया जा सकता है। यदि अंतर्निहित हैश फ़ंक्शन सुरक्षित है, तो हैश फ़ंक्शंस का उपयोग करके [[Luby-Rackoff|लुबी-रैकॉफ]] निर्माण काफी सुरक्षित हो सकता है। इसके अतिरिक्त, कई हैश फ़ंक्शंस (एसएचए-1 और एसएचए-2 सहित) एक-तरफ़ा संपीड़न फ़ंक्शन डेविस-मेयर या अन्य निर्माण में एक विशेष-उद्देश्य ब्लॉक सिफर का उपयोग करके बनाए गए हैं। उस सिफर का उपयोग परिचालन के पारंपरिक मोड में भी किया जा सकता है, बिना समान सुरक्षा गारंटी के; उदाहरण के लिए, [[SHACAL|एसएचएसीएएल]], बीइएआर (सिफर) और एलआईओएन (सिफर)।
जिस प्रकार ब्लॉक सिफर का उपयोग हैश फंक्शन बनाने के लिए किया जा सकता है, उसी प्रकार हैश फंक्शन का उपयोग ब्लॉक सिफर बनाने के लिए किया जा सकता है। यदि अंतर्निहित हैश फ़ंक्शन सुरक्षित है, तो हैश फ़ंक्शंस का उपयोग करके [[Luby-Rackoff|लुबी-रैकॉफ]] निर्माण काफी सुरक्षित हो सकता है। इसके अतिरिक्त, कई हैश फ़ंक्शंस (एसएचए-1 और एसएचए-2 सहित) एक-तरफ़ा संपीड़न फ़ंक्शन डेविस-मेयर या अन्य निर्माण में विशेष-उद्देश्य ब्लॉक सिफर का उपयोग करके बनाए गए हैं। उस सिफर का उपयोग परिचालन के पारंपरिक मोड में भी किया जा सकता है, बिना समान सुरक्षा गारंटी के; उदाहरण के लिए, [[SHACAL|एसएचएसीएएल]], बीइएआर (सिफर) और एलआईओएन (सिफर)।


हैश फ़ंक्शन का उपयोग करके [[छद्म यादृच्छिक संख्या जनरेटर]] (पीआरएनजी) का निर्माण किया जा सकता है। यह एक (गुप्त) यादृच्छिक बीज को काउंटर के साथ जोड़कर और इसे हैश करके किया जाता है।
हैश फ़ंक्शन का उपयोग करके [[छद्म यादृच्छिक संख्या जनरेटर]] (पीआरएनजी) का निर्माण किया जा सकता है। यह (गुप्त) यादृच्छिक बीज को काउंटर के साथ जोड़कर और इसे हैश करके किया जाता है।


कुछ हैश फ़ंक्शंस, जैसे [[स्केन (हैश फ़ंक्शन)]], केकक, और रेडियोगैटन, एक मनमाने ढंग से लंबी स्ट्रीम का उत्पादन करते हैं और एक [[स्ट्रीम सिफर]] के रूप में उपयोग किया जा सकता है, और स्ट्रीम सिफर को निश्चित-लंबाई डाइजेस्ट हैश फ़ंक्शंस से भी बनाया जा सकता है। अधिकांशतः यह पहले एक [[क्रिप्टोग्राफिक आदिम|क्रिप्टोग्राफिक पूर्वग]] से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर का निर्माण करके और फिर यादृच्छिक बाइट्स की धारा को [[keystream|कीस्ट्रीम]] के रूप में उपयोग करके किया जाता है। एसइएएल (सिफर) एक स्ट्रीम सिफर है जो आंतरिक सूचीओं को उत्पन्न करने के लिए एसएचए-1 का उपयोग करता है, जो तब हैश एल्गोरिथम से कम या ज्यादा असंबंधित कीस्ट्रीम जनरेटर में उपयोग किया जाता है। एसइएएल को एसएचए-1 जितना मजबूत (या कमजोर) होने की गारंटी नहीं है। इसी तरह, एचसी-128 और [[एचसी-256]] स्ट्रीम सिफर का प्रमुख विस्तार [[SHA-256|एसएचए-256]] हैश फ़ंक्शन का भारी उपयोग करता है।
कुछ हैश फ़ंक्शंस, जैसे [[स्केन (हैश फ़ंक्शन)]], केकक, और रेडियोगैटन, मनमाने ढंग से लंबी स्ट्रीम का उत्पादन करते हैं और [[स्ट्रीम सिफर]] के रूप में उपयोग किया जा सकता है, और स्ट्रीम सिफर को निश्चित-लंबाई डाइजेस्ट हैश फ़ंक्शंस से भी बनाया जा सकता है। अधिकांशतः यह पहले [[क्रिप्टोग्राफिक आदिम|क्रिप्टोग्राफिक पूर्वग]] से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर का निर्माण करके और फिर यादृच्छिक बाइट्स की धारा को [[keystream|कीस्ट्रीम]] के रूप में उपयोग करके किया जाता है। एसइएएल (सिफर) स्ट्रीम सिफर है जो आंतरिक सूचीओं को उत्पन्न करने के लिए एसएचए-1 का उपयोग करता है, जो तब हैश कलनविधि से कम या ज्यादा असंबंधित कीस्ट्रीम जनरेटर में उपयोग किया जाता है। एसइएएल को एसएचए-1 जितना ठोस (या कमजोर) होने की गारंटी नहीं है। इसी प्रकार, एचसी-128 और [[एचसी-256]] स्ट्रीम सिफर का प्रमुख विस्तार [[SHA-256|एसएचए-256]] हैश फ़ंक्शन का भारी उपयोग करता है।


== संयोजन ==
== संयोजन ==


एकाधिक हैश फ़ंक्शंस से कॉन्टेनेशन उत्पादन टकराव प्रतिरोध प्रदान करते हैं जो समेकित परिणाम में सम्मलित एल्गोरिथ्म के सबसे मजबूत होते हैं।{{Citation needed|date=May 2016}} उदाहरण के लिए, ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) और सिक्योर सॉकेट्स लेयर (एसएसएल) के पुराने संस्करणों में संयोजित एमडी5 और एसएचए-1 रकम का उपयोग किया जाता है।{{sfn|Mendel|Rechberger|Schläffer|2009|p=145|ps= :Concatenating ... is often used by implementors to "hedge bets" on hash functions. A combiner of the form MD5|SHA-1 as used in SSL3.0/TLS1.0 ... is an example of such a strategy.}}{{sfn|Harnik|Kilian|Naor|Reingold|2005|p=99|ps=: the concatenation of hash functions as suggested in the TLS... is guaranteed to be as secure as the candidate that remains secure.}} यह सुनिश्चित करता है कि हैश फ़ंक्शंस में से किसी एक में टकराव खोजने का तरीका दोनों हैश फ़ंक्शंस द्वारा संरक्षित डेटा को पराजित नहीं करता है।{{Citation needed|date=May 2016}}
एकाधिक हैश फ़ंक्शंस से कॉन्टेनेशन उत्पादन संघट्ट प्रतिरोध प्रदान करते हैं जो समेकित परिणाम में सम्मलित कलनविधि सबसे ठोस होती हैं।{{Citation needed|date=May 2016}} उदाहरण के लिए, ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) और सिक्योर सॉकेट्स लेयर (एसएसएल) के पुराने संस्करणों में संयोजित एमडी5 और एसएचए-1 रकम का उपयोग किया जाता है।{{sfn|Mendel|Rechberger|Schläffer|2009|p=145|ps= :Concatenating ... is often used by implementors to "hedge bets" on hash functions. A combiner of the form MD5|SHA-1 as used in SSL3.0/TLS1.0 ... is an example of such a strategy.}}{{sfn|Harnik|Kilian|Naor|Reingold|2005|p=99|ps=: the concatenation of hash functions as suggested in the TLS... is guaranteed to be as secure as the candidate that remains secure.}} यह सुनिश्चित करता है कि हैश फ़ंक्शंस में से किसी में संघट्ट खोजने का विधी दोनों हैश फ़ंक्शंस द्वारा संरक्षित डेटा को पराजित नहीं करता है।{{Citation needed|date=May 2016}}


मेर्कले-डैमगार्ड निर्माण हैश फ़ंक्शंस के लिए, समेकित फ़ंक्शन संघट्ट-प्रतिरोधी के रूप में इसके सबसे मजबूत घटक के रूप में है, लेकिन अधिक संघट्ट-प्रतिरोधी नहीं है।{{Citation needed|date=May 2016}} [[एंटोनी जौक्स]] ने देखा कि 2-टकराव का कारण बनता है {{math|''n''}}-टकराव: यदि एक हमलावर के लिए एक ही एमडी5 हैश के साथ दो संदेशों को ढूंढना संभव है, तो वे उसी एमडी5 हैश के साथ जितने चाहें उतने अतिरिक्त संदेश पा सकते हैं, बिना किसी बड़ी कठिनाई के।{{sfn|Joux|2004}} उनके बीच {{math|''n''}} सामान्य एमडी5 हैश वाले संदेश, एसएचए-1 में संघट्ट होने की संभावना है। एसएचए-1 संघट्ट (घातीय जन्मदिन खोज से परे) खोजने के लिए आवश्यक अतिरिक्त कार्य के लिए केवल बहुपद समय की आवश्यकता होती है।<ref name="urlGmane">{{cite web |url=http://article.gmane.org/gmane.comp.encryption.general/5154 |title=हैश फ़ंक्शंस के साथ अधिक समस्याएं|first=Hal |last=Finney |author-link=Hal Finney (computer scientist) |date=August 20, 2004 |work=The Cryptography Mailing List |access-date=May 25, 2016 |archive-url=https://web.archive.org/web/20160409095104/http://article.gmane.org/gmane.comp.encryption.general/5154 |archive-date=April 9, 2016 |url-status=dead}}</ref>{{sfn|Hoch|Shamir|2008|pp=616–630}}
मेर्कले-डैमगार्ड निर्माण हैश फ़ंक्शंस के लिए, समेकित फ़ंक्शन संघट्ट-प्रतिरोधी के रूप में इसके सबसे ठोस घटक के रूप में है, लेकिन अधिक संघट्ट-प्रतिरोधी नहीं है।{{Citation needed|date=May 2016}} [[एंटोनी जौक्स]] ने देखा कि 2-संघट्ट का कारण बनता है {{math|''n''}}-संघट्ट: यदि अटैकर के लिए ही एमडी5 हैश के साथ दो संदेशों को ढूंढना संभव है, तो वे उसी एमडी5 हैश के साथ जितने चाहें उतने अतिरिक्त संदेश पा सकते हैं, बिना किसी बड़ी कठिनाई के।{{sfn|Joux|2004}} उनके बीच {{math|''n''}} सामान्य एमडी5 हैश वाले संदेश, एसएचए-1 में संघट्ट होने की संभावना है। एसएचए-1 संघट्ट (घातीय बर्थडे खोज से परे) खोजने के लिए आवश्यक अतिरिक्त कार्य के लिए केवल बहुपद समय की आवश्यकता होती है।<ref name="urlGmane">{{cite web |url=http://article.gmane.org/gmane.comp.encryption.general/5154 |title=हैश फ़ंक्शंस के साथ अधिक समस्याएं|first=Hal |last=Finney |author-link=Hal Finney (computer scientist) |date=August 20, 2004 |work=The Cryptography Mailing List |access-date=May 25, 2016 |archive-url=https://web.archive.org/web/20160409095104/http://article.gmane.org/gmane.comp.encryption.general/5154 |archive-date=April 9, 2016 |url-status=dead}}</ref>{{sfn|Hoch|Shamir|2008|pp=616–630}}
== क्रिप्टोग्राफ़िक हैश एल्गोरिथ्म ==
== क्रिप्टोग्राफ़िक हैश कलनविधि ==


कई क्रिप्टोग्राफ़िक हैश एल्गोरिथ्म हैं; यह खंड कुछ एल्गोरिथ्म सूचीबद्ध करता है जिन्हें अपेक्षाकृत अधिकांशतः संदर्भित किया जाता है। [[क्रिप्टोग्राफ़िक हैश फ़ंक्शंस की तुलना]] वाले पृष्ठ पर एक अधिक विस्तृत सूची पाई जा सकती है।
कई क्रिप्टोग्राफ़िक हैश कलनविधि हैं; यह खंड कुछ कलनविधि सूचीबद्ध करता है जिन्हें अपेक्षाकृत अधिकांशतः संदर्भित किया जाता है। [[क्रिप्टोग्राफ़िक हैश फ़ंक्शंस की तुलना]] वाले पृष्ठ पर अधिक विस्तृत सूची पाई जा सकती है।


=== एमडी 5 ===
=== एमडी 5 ===
{{Main | एमडी5 }}
{{Main | एमडी5 }}
एमडी5 को [[रोनाल्ड रिवेस्ट]] द्वारा 1991 में पहले के हैश फ़ंक्शन, एमडी4 को बदलने के लिए डिज़ाइन किया गया था, और 1992 में RFC 1321 के रूप में निर्दिष्ट किया गया था। एमडी5 के विरुद्ध टकराव की गणना सेकंड के भीतर की जा सकती है जो एल्गोरिथ्म को अधिकांश उपयोग मामलों के लिए अनुपयुक्त बनाता है जहाँ क्रिप्टोग्राफ़िक हैश की आवश्यकता होती है। एमडी5 128 बिट्स (16 बाइट्स) का डाइजेस्ट उत्पन्न करता है।
एमडी5 को [[रोनाल्ड रिवेस्ट]] द्वारा 1991 में पहले के हैश फ़ंक्शन, एमडी4 को बदलने के लिए डिज़ाइन किया गया था, और 1992 में RFC 1321 के रूप में निर्दिष्ट किया गया था। एमडी5 के विरुद्ध संघट्ट की गणना सेकंड के भीतर की जा सकती है जो कलनविधि को अधिकांश उपयोग स्थितियों के लिए अनुपयुक्त बनाता है जहाँ क्रिप्टोग्राफ़िक हैश की आवश्यकता होती है। एमडी5 128 बिट्स (16 बाइट्स) का डाइजेस्ट उत्पन्न करता है।


=== एसएचए-1===
=== एसएचए-1===
{{Main |एसएचए-1 }}
{{Main |एसएचए-1 }}
एसएचए-1 को अमेरिकी सरकार की [[कैपस्टोन (क्रिप्टोग्राफी)]] परियोजना के हिस्से के रूप में विकसित किया गया था। एल्गोरिथम का मूल विनिर्देश - जिसे अब सामान्यतः एसएचए-0 कहा जाता है - 1993 में अमेरिकी सरकार की मानक एजेंसी एनआईएसटी (राष्ट्रीय मानक और प्रौद्योगिकी संस्थान) द्वारा सिक्योर हैश स्टैंडर्ड, एफआईपीएस पीयूबी 180 शीर्षक के तहत प्रकाशित किया गया था। इसे प्रकाशन के तुरंत बाद एनएसऐ द्वारा वापस ले लिया गया था और 1995 में एफआईपीएस पीयूबी 180-1 में प्रकाशित संशोधित संस्करण और सामान्यतः एसएचए-1 नामित किया गया था। पूर्ण एसएचए-1 एल्गोरिथ्म के विरुद्ध टकराव एसएचए-1 एसएचएटीटीट्रड का उपयोग करके उत्पन्न किया जा सकता है - पहली सार्वजनिक संघट्ट और हैश फ़ंक्शन को टूटा हुआ माना जाना चाहिए। एसएचए-1 160 बिट्स (20 बाइट्स) का हैश डाइजेस्ट पैदा करता है।
एसएचए-1 को अमेरिकी सरकार की [[कैपस्टोन (क्रिप्टोग्राफी)]] परियोजना के हिस्से के रूप में विकसित किया गया था। कलनविधि का मूल विनिर्देश - जिसे अब सामान्यतः एसएचए-0 कहा जाता है - 1993 में अमेरिकी सरकार की मानक एजेंसी एनआईएसटी (राष्ट्रीय मानक और प्रौद्योगिकी संस्थान) द्वारा सिक्योर हैश स्टैंडर्ड, एफआईपीएस पीयूबी 180 शीर्षक के तहत प्रकाशित किया गया था। इसे प्रकाशन के तुरंत बाद एनएसऐ द्वारा वापस ले लिया गया था और 1995 में एफआईपीएस पीयूबी 180-1 में प्रकाशित संशोधित संस्करण और सामान्यतः एसएचए-1 नामित किया गया था। पूर्ण एसएचए-1 कलनविधि के विरुद्ध संघट्ट एसएचए-1 एसएचएटीटीट्रड का उपयोग करके उत्पन्न किया जा सकता है - पहली सार्वजनिक संघट्ट और हैश फ़ंक्शन को टूटा हुआ माना जाना चाहिए। एसएचए-1 160 बिट्स (20 बाइट्स) का हैश डाइजेस्ट पैदा करता है।


दस्तावेज़ एसएचए-1 को केवल एसएचए के रूप में संदर्भित कर सकते हैं, भले ही यह एसएचए-0, एसएचए-2 और एसएचए-3 जैसे अन्य सुरक्षित हैश एल्गोरिथ्म के साथ संघर्ष कर सकता है।
दस्तावेज़ एसएचए-1 को केवल एसएचए के रूप में संदर्भित कर सकते हैं, भले ही यह एसएचए-0, एसएचए-2 और एसएचए-3 जैसे अन्य सुरक्षित हैश कलनविधि के साथ संघर्ष कर सकता है।


===आरआईपीईएमडी-160===
===आरआईपीईएमडी-160===
{{Main | आरआईपीईएमडी-160 }}
{{Main | आरआईपीईएमडी-160 }}


आरआईपीईएमडी (आरएसीइ इंटीग्रिटी प्रिमिटिव्स इमूल्यएशन मैसेज डाइजेस्ट) क्रिप्टोग्राफ़िक हैश फ़ंक्शंस का एक परिवार है जिसे ल्यूवेन, बेल्जियम में हैंस डोबबर्टिन, एंटून बॉससेलर्स और बार्ट प्रेनील द्वारा कैथोलिएके यूनिवर्सिटीइट ल्यूवेन में सीएसओआईसी रिसर्च ग्रुप में विकसित किया गया था, और पहली बार 1996 में प्रकाशित किया गया था। आरआईपीईएमडी एमडी4 में उपयोग किए गए डिजाइन सिद्धांतों पर आधारित था और यह अधिक लोकप्रिय एसएचए-1 के प्रदर्शन के सामान्य है। चूंकि, आरआईपीईएमडी-160 तोड़ा नहीं गया है। जैसा कि नाम से ही स्पष्ट है, आरआईपीईएमडी-160 (20 बाइट्स) 160 बिट्स का हैश डाइजेस्ट उत्पन्न करता है।
आरआईपीईएमडी (आरएसीइ इंटीग्रिटी प्रिमिटिव्स इमूल्यएशन मैसेज डाइजेस्ट) क्रिप्टोग्राफ़िक हैश फ़ंक्शंस का परिवार है जिसे ल्यूवेन, बेल्जियम में हैंस डोबबर्टिन, एंटून बॉससेलर्स और बार्ट प्रेनील द्वारा कैथोलिएके यूनिवर्सिटीइट ल्यूवेन में सीएसओआईसी रिसर्च ग्रुप में विकसित किया गया था, और पहली बार 1996 में प्रकाशित किया गया था। आरआईपीईएमडी एमडी4 में उपयोग किए गए डिजाइन सिद्धांतों पर आधारित था और यह अधिक लोकप्रिय एसएचए-1 के प्रदर्शन के सामान्य है। चूंकि, आरआईपीईएमडी-160 तोड़ा नहीं गया है। जैसा कि नाम से ही स्पष्ट है, आरआईपीईएमडी-160 (20 बाइट्स) 160 बिट्स का हैश डाइजेस्ट उत्पन्न करता है।


=== व्हर्लपूल ===
=== व्हर्लपूल ===
{{Main |व्हर्लपूल (हैश फंकशन) }}
{{Main |व्हर्लपूल (हैश फंकशन) }}
व्हर्लपूल एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन है जिसे विन्सेंट रिजमेन और पाउलो एस.एल.एम. बैरेटो द्वारा डिज़ाइन किया गया है, जिन्होंने पहली बार 2000 में इसका वर्णन किया था। व्हर्लपूल उन्नत कूटलेखन स्टैंडर्ड (एईएस) के काफी संशोधित संस्करण पर आधारित है। व्हर्लपूल 512 बिट्स (64 बाइट्स) का हैश डाइजेस्ट उत्पन्न करता है।
व्हर्लपूल क्रिप्टोग्राफ़िक हैश फ़ंक्शन है जिसे विन्सेंट रिजमेन और पाउलो एस.एल.एम. बैरेटो द्वारा डिज़ाइन किया गया है, जिन्होंने पहली बार 2000 में इसका वर्णन किया था। व्हर्लपूल उन्नत कूटलेखन स्टैंडर्ड (एईएस) के काफी संशोधित संस्करण पर आधारित है। व्हर्लपूल 512 बिट्स (64 बाइट्स) का हैश डाइजेस्ट उत्पन्न करता है।


=== एसएचए-2===
=== एसएचए-2===
{{Main |एसएचए-2}}
{{Main |एसएचए-2}}


एसएचए-2 (सिक्योर हैश एल्गोरिथम 2) संयुक्त राज्य अमेरिका की राष्ट्रीय सुरक्षा एजेंसी (एनएसए) द्वारा डिज़ाइन किए गए क्रिप्टोग्राफ़िक हैश फ़ंक्शंस का समूह है, जो पहली बार 2001 में प्रकाशित हुआ था। वे एक तरफ़ा संपीड़न फ़ंक्शन से मर्कल-डैमगार्ड संरचना का उपयोग करके बनाए गए हैं। एक (वर्गीकृत) विशेष ब्लॉक सिफर से डेविस-मेयर संरचना का उपयोग करके स्वयं बनाया गया।
एसएचए-2 (सिक्योर हैश कलनविधि 2) संयुक्त राज्य अमेरिका की राष्ट्रीय सुरक्षा एजेंसी (एनएसए) द्वारा डिज़ाइन किए गए क्रिप्टोग्राफ़िक हैश फ़ंक्शंस का समूह है, जो पहली बार 2001 में प्रकाशित हुआ था। वे एक तरफ़ा संपीड़न फ़ंक्शन से मर्कल-डैमगार्ड संरचना का उपयोग करके बनाए गए हैं। (वर्गीकृत) विशेष ब्लॉक सिफर से डेविस-मेयर संरचना का उपयोग करके स्वयं बनाया गया।


एसएचए-2 में मूल रूप से दो हैश एल्गोरिथ्म होते हैं: एसएचए-256 और एसएचए-512। एसएचए-224, एसएचए-256 का भिन्न प्रारंभिक मान और छोटा उत्पादन के साथ एक प्रकार है। एसएचए-384 और कम ज्ञात एसएचए-512/224 और एसएचए-512/256 सभी एसएचए-512 के प्रकार हैं। एसएचए-512, एसएचए-256 की तुलना में अधिक सुरक्षित है और सामान्यतः 64-बिट मशीनों जैसे X86-64 पर एसएचए-256 से तेज़ है।
एसएचए-2 में मूल रूप से दो हैश कलनविधि होते हैं: एसएचए-256 और एसएचए-512 एसएचए-224, एसएचए-256 का भिन्न प्रारंभिक मान और छोटा उत्पादन के साथ प्रकार है। एसएचए-384 और कम ज्ञात एसएचए-512/224 और एसएचए-512/256 सभी एसएचए-512 के प्रकार हैं। एसएचए-512, एसएचए-256 की तुलना में अधिक सुरक्षित है और सामान्यतः 64-बिट मशीनों जैसे X86-64 पर एसएचए-256 से तेज़ है।


बिट्स में उत्पादन आकार एसएचए नाम के विस्तार द्वारा दिया गया है, इसलिए एसएचए-224 का उत्पादन आकार 224 बिट्स (28 बाइट्स) है; एसएचए-256, 32 बाइट्स; एसएचए-384, 48 बाइट्स; और एसएचए-512, 64 बाइट्स।
बिट्स में उत्पादन आकार एसएचए नाम के विस्तार द्वारा दिया गया है, इसलिए एसएचए-224 का उत्पादन आकार 224 बिट्स (28 बाइट्स) है; एसएचए-256, 32 बाइट्स; एसएचए-384, 48 बाइट्स; और एसएचए-512, 64 बाइट्स है।


=== एसएचए-3===
=== एसएचए-3===
{{Main  |एसएचए-3}}
{{Main  |एसएचए-3}}


एसएचए-3 (सिक्योर हैश एल्गोरिथम 3) एनआईएसटी द्वारा 5 अगस्त, 2015 को जारी किया गया था। एसएचए-3 व्यापक क्रिप्टोग्राफ़िक पूर्वग परिवार केकक का एक उपसमूह है। केकेक एल्गोरिथम गुइडो बर्टोनी, जोन डेमन, माइकल पीटर्स और गाइल्स वान असचे का काम है। केकेक एक स्पंज निर्माण पर आधारित है जिसका उपयोग अन्य क्रिप्टोग्राफ़िक प्रिमिटिव जैसे स्ट्रीम सिफर बनाने के लिए भी किया जा सकता है। एसएचए-3, एसएचए-2: 224, 256, 384 और 512 बिट्स के सामान्य उत्पादन आकार प्रदान करता है।
एसएचए-3 (सिक्योर हैश कलनविधि 3) एनआईएसटी द्वारा 5 अगस्त, 2015 को जारी किया गया था। एसएचए-3 व्यापक क्रिप्टोग्राफ़िक पूर्वग परिवार केकक का उपसमूह है। केकेक कलनविधि गुइडो बर्टोनी, जोन डेमन, माइकल पीटर्स और गाइल्स वान असचे का कार्य है। केकेक स्पंज निर्माण पर आधारित है जिसका उपयोग अन्य क्रिप्टोग्राफ़िक प्रिमिटिव जैसे स्ट्रीम सिफर बनाने के लिए भी किया जा सकता है। एसएचए-3, एसएचए-2: 224, 256, 384 और 512 बिट्स के सामान्य उत्पादन आकार प्रदान करता है।


एसएचएकेइ-128 और एसएचएकेइ-256 फ़ंक्शंस का उपयोग करके कॉन्फ़िगर करने योग्य उत्पादन आकार भी प्राप्त किए जा सकते हैं। यहां -128 और -256 नाम के विस्तार बिट्स में उत्पादन आकार के अतिरिक्त फ़ंक्शन की सुरक्षा सक्रियता का संकेत देते हैं।
एसएचएकेइ-128 और एसएचएकेइ-256 फ़ंक्शंस का उपयोग करके कॉन्फ़िगर करने योग्य उत्पादन आकार भी प्राप्त किए जा सकते हैं। यहां -128 और -256 नाम के विस्तार बिट्स में उत्पादन आकार के अतिरिक्त फ़ंक्शन की सुरक्षा सक्रियता का संकेत देते हैं।
Line 147: Line 146:
{{Main |ब्लेक2 }}
{{Main |ब्लेक2 }}


ब्लेक2, ब्लेक का एक उन्नत संस्करण, 21 दिसंबर, 2012 को घोषित किया गया था। इसे जीन-फिलिप ऑमसन, सैमुअल नेव्स, ज़ूको विलकॉक्स-ओ'हर्न और क्रिश्चियन विनरलीन द्वारा व्यापक रूप से उपयोग किए जाने वाले लेकिन टूटे हुए एमडी5 को बदलने के लक्ष्य के साथ बनाया गया था। एसएचए-1 एल्गोरिथ्म। जब 64-बिट एक्स64 और ऐआरएम आर्किटेक्चर पर चलाया जाता है, तो ब्लेक2बी एसएचए-3, एसएचए-2, एसएचए-1 और एमडी5 से तेज़ होता है। चूंकि ब्लेक और ब्लेक2 को एसएचए-3 के रूप में मानकीकृत नहीं किया गया है, ब्लेक2 का उपयोग आर्गन2 पासवर्ड हैश सहित कई प्रोटोकॉल में किया गया है, उच्च दक्षता के लिए जो यह आधुनिक सीपीयू पर प्रदान करता है। चूंकि ब्लेक एसएचए-3 के लिए एक उम्मीदवार था, ब्लेक और ब्लेक2 दोनों ही एसएचए-3 के सामान्य उत्पादन आकार प्रदान करते हैं - एक विन्यास योग्य उत्पादन आकार सहित।
ब्लेक2, ब्लेक का उन्नत संस्करण, 21 दिसंबर, 2012 को घोषित किया गया था। इसे जीन-फिलिप ऑमसन, सैमुअल नेव्स, ज़ूको विलकॉक्स-ओ'हर्न और क्रिश्चियन विनरलीन द्वारा व्यापक रूप से उपयोग किए जाने वाले लेकिन टूटे हुए एमडी5 को बदलने के लक्ष्य के साथ बनाया गया था। एसएचए-1 कलनविधि। जब 64-बिट एक्स64 और ऐआरएम आर्किटेक्चर पर चलाया जाता है, तो ब्लेक2बी एसएचए-3, एसएचए-2, एसएचए-1 और एमडी5 से तेज़ होता है। चूंकि ब्लेक और ब्लेक2 को एसएचए-3 के रूप में मानकीकृत नहीं किया गया है, ब्लेक2 का उपयोग आर्गन2 पासवर्ड हैश सहित कई प्रोटोकॉल में किया गया है, उच्च दक्षता के लिए जो यह आधुनिक सीपीयू पर प्रदान करता है। चूंकि ब्लेक एसएचए-3 के लिए अपेक्षावार था, ब्लेक और ब्लेक2 दोनों ही एसएचए-3 के सामान्य उत्पादन आकार प्रदान करते हैं - विन्यास योग्य उत्पादन आकार सहित।


=== पैच ===
=== पैच ===
{{Main | ब्लेक3 }}
{{Main | ब्लेक3 }}


ब्लेक3, ब्लेक2 का एक उन्नत संस्करण, 9 जनवरी, 2020 को घोषित किया गया था। इसे जैक ओ'कॉनर, जीन-फिलिप ऑमसन, सैमुअल नेव्स और ज़ूको विलकॉक्स-ओ'हर्न द्वारा बनाया गया था। ब्लेक3 एकल एल्गोरिथम है, ब्लेक और ब्लेक2 के विपरीत, जो कई वेरिएंट वाले एल्गोरिथम परिवार हैं। ब्लेक3 कंप्रेशन फ़ंक्शन ब्लेक2एस पर बारीकी से आधारित है, जिसमें सबसे बड़ा अंतर यह है कि राउंड की संख्या 10 से घटाकर 7 कर दी गई है। आंतरिक रूप से, ब्लेक3 एक मर्कल ट्री है, और यह ब्लेक2 की तुलना में सामान्यता के उच्च स्तर का समर्थन करता है।
ब्लेक3, ब्लेक2 का उन्नत संस्करण, 9 जनवरी, 2020 को घोषित किया गया था। इसे जैक ओ'कॉनर, जीन-फिलिप ऑमसन, सैमुअल नेव्स और ज़ूको विलकॉक्स-ओ'हर्न द्वारा बनाया गया था। ब्लेक3 एकल कलनविधि है, ब्लेक और ब्लेक2 के विपरीत, जो कई वेरिएंट वाले कलनविधि परिवार हैं। ब्लेक3 कंप्रेशन फ़ंक्शन ब्लेक2एस पर बारीकी से आधारित है, जिसमें सबसे बड़ा अंतर यह है कि राउंड की संख्या 10 से घटाकर 7 कर दी गई है। आंतरिक रूप से, ब्लेक3 मर्कल ट्री है, और यह ब्लेक2 की तुलना में सामान्यता के उच्च स्तर का समर्थन करता है।


== क्रिप्टोग्राफिक हैश एल्गोरिथ्म पर हमले ==
== क्रिप्टोग्राफिक हैश कलनविधि पर अटैक ==


क्रिप्टोग्राफ़िक हैश फ़ंक्शंस की एक लंबी सूची होती है लेकिन उनमे से कई असुरक्षित पाए गए हैं और उनका उपयोग नहीं किया जाना चाहिए। उदाहरण के लिए, एनआईएसटी ने 51 हैश फ़ंक्शंस का चयन किया<ref name="UNudB">Andrew Regenscheid, Ray Perlner, Shu-Jen Chang, John Kelsey, Mridul Nandi, Souradyuti Paul, [https://nvlpubs.nist.gov/nistpubs/Legacy/IR/nistir7620.pdf Status Report on the First Round of the SHA-3 Cryptographic Hash Algorithm Competition]</ref> एसएचए-3 हैश प्रतियोगिता के पहले दौर के उम्मीदवारों के रूप में, जिनमें से 10 को टूटा हुआ माना गया और 16 ने महत्वपूर्ण कमजोरियां दिखाईं और इसलिए अगले दौर में जगह नहीं बनाई; अधिक जानकारी एनआईएसटी हैश फंक्शन प्रतियोगिताओं के बारे में मुख्य लेख में पाई जा सकती है।
क्रिप्टोग्राफ़िक हैश फ़ंक्शंस की लंबी सूची होती है लेकिन उनमे से कई असुरक्षित पाए गए हैं और उनका उपयोग नहीं किया जाना चाहिए। उदाहरण के लिए, एनआईएसटी ने 51 हैश फ़ंक्शंस का चयन किया<ref name="UNudB">Andrew Regenscheid, Ray Perlner, Shu-Jen Chang, John Kelsey, Mridul Nandi, Souradyuti Paul, [https://nvlpubs.nist.gov/nistpubs/Legacy/IR/nistir7620.pdf Status Report on the First Round of the SHA-3 Cryptographic Hash Algorithm Competition]</ref> एसएचए-3 हैश प्रतियोगिता के पहले दौर के अपेक्षावारों के रूप में, जिनमें से 10 को टूटा हुआ माना गया और 16 ने महत्वपूर्ण कमजोरियां दिखाईं और इसलिए अगले दौर में जगह नहीं बनाई; अधिक जानकारी एनआईएसटी हैश फंक्शन प्रतियोगिताओं के बारे में मुख्य लेख में पाई जा सकती है।


यहां तक ​​​​कि यदि हैश फ़ंक्शन कभी नहीं तोड़ा गया है, तो एक क्रिप्टोग्राफ़िक हमला कमजोर संस्करण के खिलाफ हमलावर को उपलब्ध जानकारी विशेषज्ञों के विश्वास को कम कर सकती है। उदाहरण के लिए, अगस्त 2004 में एमडी5 सहित कई तत्कालीन लोकप्रिय हैश फ़ंक्शंस में टकराव पाए गए।<ref name="Mpt5q">XiaoyunWang, Dengguo Feng, Xuejia Lai, Hongbo Yu, [https://eprint.iacr.org/2004/199.pdf Collisions for Hash Functions MD4, MD5, HAVAL-128, and RIPEMD]</ref> इन कमजोरियों ने कमजोर हैश कार्यों से प्राप्त मजबूत एल्गोरिथ्म की सुरक्षा पर सवाल उठाया - विशेष रूप से, एसएचए-1 (एसएचए-0 का एक मजबूत संस्करण), आरआईपीईएमडी-128, और आरआईपीईएमडी-160 (आरआईपीईएमडी के दोनों मजबूत संस्करण)।<ref name="R7ASX">{{Citation|last1=Alshaikhli|first1=Imad Fakhri|title=Cryptographic Hash Function|date=2015|work=Handbook of Research on Threat Detection and Countermeasures in Network Security|pages=80–94|publisher=IGI Global |isbn=978-1-4666-6583-5|last2=AlAhmad|first2=Mohammad Abdulateef|doi=10.4018/978-1-4666-6583-5.ch006}}</ref>
यहां तक ​​​​कि यदि हैश फ़ंक्शन कभी नहीं तोड़ा गया है, तो क्रिप्टोग्राफ़िक अटैक कमजोर संस्करण के खिलाफ अटैकर को उपलब्ध जानकारी विशेषज्ञों के विश्वास को कम कर सकती है। उदाहरण के लिए, अगस्त 2004 में एमडी5 सहित कई तत्कालीन लोकप्रिय हैश फ़ंक्शंस में संघट्ट पाए गए।<ref name="Mpt5q">XiaoyunWang, Dengguo Feng, Xuejia Lai, Hongbo Yu, [https://eprint.iacr.org/2004/199.pdf Collisions for Hash Functions MD4, MD5, HAVAL-128, and RIPEMD]</ref> इन कमजोरियों ने कमजोर हैश कार्यों से प्राप्त ठोस कलनविधि की सुरक्षा पर सवाल उठाया - विशेष रूप से, एसएचए-1 (एसएचए-0 का ठोस संस्करण), आरआईपीईएमडी-128, और आरआईपीईएमडी-160 (आरआईपीईएमडी के दोनों ठोस संस्करण)।<ref name="R7ASX">{{Citation|last1=Alshaikhli|first1=Imad Fakhri|title=Cryptographic Hash Function|date=2015|work=Handbook of Research on Threat Detection and Countermeasures in Network Security|pages=80–94|publisher=IGI Global |isbn=978-1-4666-6583-5|last2=AlAhmad|first2=Mohammad Abdulateef|doi=10.4018/978-1-4666-6583-5.ch006}}</ref>


12 अगस्त 2004 को, जौक्स, कैरिबॉल्ट, लेमुएल और जल्बी ने पूर्ण एसएचए-0 एल्गोरिथम के लिए संघट्ट की घोषणा की।{{sfn|Joux|2004}} जौक्स एट अल। चाबाउद और जौक्स हमले के सामान्यीकरण का उपयोग करके इसे पूरा किया। उन्होंने पाया कि संघट्ट में जटिलता थी {{math|2<sup>51</sup>}} और 256 [[इटेनियम 2]] प्रोसेसर वाले [[सुपर कंप्यूटर]] पर लगभग 80,000 सीपीयू घंटे लगे - सुपरकंप्यूटर के 13 दिनों के पूर्णकालिक उपयोग के बराबर।{{Citation needed|date=May 2016}}
12 अगस्त 2004 को, जौक्स, कैरिबॉल्ट, लेमुएल और जल्बी ने पूर्ण एसएचए-0 कलनविधि के लिए संघट्ट की घोषणा की।{{sfn|Joux|2004}} जौक्स एट अल चाबाउद और जौक्स अटैक के सामान्यीकरण का उपयोग करके इसे पूरा किया था। उन्होंने पाया कि संघट्ट में जटिलता थी {{math|2<sup>51</sup>}} और 256 [[इटेनियम 2]] प्रोसेसर वाले [[सुपर कंप्यूटर]] पर अधिकतर 80,000 सीपीयू घंटे लगे - जो सुपरकंप्यूटर के 13 दिनों के पूर्णकालिक उपयोग के बराबर है।{{Citation needed|date=May 2016}}


फरवरी 2005 में, एसएचए-1 पर एक हमले की सूचना मिली थी जो लगभग 2 में टकराएगा<sup>69</sup> हैशिंग ऑपरेशंस, 2 के अतिरिक्त<sup>80</sup> 160-बिट हैश फ़ंक्शन के लिए अपेक्षित है। अगस्त 2005 में, एसएचए-1 पर एक और हमले की सूचना मिली थी जो 2 में संघट्टों को खोजेगा<sup>63</sup> संचालन। एसएचए-1 की अन्य सैद्धांतिक कमजोरियां ज्ञात हैं:<ref name="NhaRr">Xiaoyun Wang, [[Yiqun Lisa Yin]], and Hongbo Yu, [http://people.csail.mit.edu/yiqun/SHA1AttackProceedingVersion.pdf Finding Collisions in the Full SHA-1]</ref><ref name="CmkOx">Bruce Schneier, [http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html Cryptanalysis of SHA-1] (summarizes Wang et al. results and their implications)</ref> और फरवरी 2017 में गूगल ने एसएचए-1 में संघट्ट की घोषणा की।<ref name="xW1m9">{{Cite news |url=https://www.forbes.com/sites/thomasbrewster/2017/02/23/google-sha-1-hack-why-it-matters/#3f73df04c8cd |title=Google ने एक पुराने क्रिप्टो एल्गोरिथम को 'चकनाचूर' कर दिया - यही कारण है कि वेब सुरक्षा के लिए यह बहुत बड़ा है|last=Fox-Brewster|first=Thomas|newspaper=Forbes|access-date=2017-02-24}}</ref> सुरक्षा शोधकर्ता अनुशंसा करते हैं कि नए अनुप्रयोग एसएचए-2 जैसे एसएचए परिवार के बाद के सदस्यों का उपयोग करके या यादृच्छिक हैशिंग जैसी तकनीकों का उपयोग करके इन समस्याओं से बच सकते हैं।<ref name="MrThfd">Shai Halevi and Hugo Krawczyk, [http://webee.technion.ac.il/~hugo/rhash/ Randomized Hashing and Digital Signatures]</ref> जिसे संघट्ट प्रतिरोध की आवश्यकता नहीं है।
फरवरी 2005 में, एसएचए-1 पर अटैक की सूचना मिली थी जो अधिकतर 2 में टकराएगा<sup>69</sup> हैशिंग ऑपरेशंस, 2 के अतिरिक्त<sup>80</sup> 160-बिट हैश फ़ंक्शन के लिए अपेक्षित है। अगस्त 2005 में, एसएचए-1 पर और अटैक की सूचना मिली थी जो 2 में संघट्टों को खोजेगा<sup>63</sup> संचालन। एसएचए-1 की अन्य सैद्धांतिक कमजोरियां ज्ञात हैं:<ref name="NhaRr">Xiaoyun Wang, [[Yiqun Lisa Yin]], and Hongbo Yu, [http://people.csail.mit.edu/yiqun/SHA1AttackProceedingVersion.pdf Finding Collisions in the Full SHA-1]</ref><ref name="CmkOx">Bruce Schneier, [http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html Cryptanalysis of SHA-1] (summarizes Wang et al. results and their implications)</ref> और फरवरी 2017 में गूगल ने एसएचए-1 में संघट्ट की घोषणा की।<ref name="xW1m9">{{Cite news |url=https://www.forbes.com/sites/thomasbrewster/2017/02/23/google-sha-1-hack-why-it-matters/#3f73df04c8cd |title=Google ने एक पुराने क्रिप्टो एल्गोरिथम को 'चकनाचूर' कर दिया - यही कारण है कि वेब सुरक्षा के लिए यह बहुत बड़ा है|last=Fox-Brewster|first=Thomas|newspaper=Forbes|access-date=2017-02-24}}</ref> सुरक्षा शोधकर्ता अनुशंसा करते हैं कि नए अनुप्रयोग एसएचए-2 जैसे एसएचए परिवार के बाद के सदस्यों का उपयोग करके या यादृच्छिक हैशिंग जैसी तकनीकों का उपयोग करके इन समस्याओं से बच सकते हैं।<ref name="MrThfd">Shai Halevi and Hugo Krawczyk, [http://webee.technion.ac.il/~hugo/rhash/ Randomized Hashing and Digital Signatures]</ref> जिसे संघट्ट प्रतिरोध की आवश्यकता नहीं है।


एक सफल, व्यावहारिक हमले ने 2008 में ट्रांसपोर्ट लेयर सिक्योरिटी के प्रमाणपत्रों के भीतर उपयोग किए गए एमडी5 को तोड़ दिया।<ref name="bVltK">Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, [http://www.win.tue.nl/hashclash/rogue-ca/ MD5 considered harmful today: Creating a rogue CA certificate], accessed March 29, 2009.</ref>
एक सफल, प्रायोगिक अटैक ने 2008 में ट्रांसपोर्ट लेयर सिक्योरिटी के प्रमाणपत्रों के भीतर उपयोग किए गए एमडी5 को तोड़ दिया था।<ref name="bVltK">Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, [http://www.win.tue.nl/hashclash/rogue-ca/ MD5 considered harmful today: Creating a rogue CA certificate], accessed March 29, 2009.</ref>


कई क्रिप्टोग्राफ़िक हैश मेर्कले-डेमगार्ड निर्माण पर आधारित हैं। सभी क्रिप्टोग्राफ़िक हैश जो सीधे मेर्कले-डैमगार्ड निर्माण के पूर्ण उत्पादन का उपयोग करते हैं, लंबाई विस्तार के अटैक के लिए कमजोर हैं। यह एमडी5, एसएचए-1, आरआईपीईएमडी-160, व्हर्लपूल, और एसएचए-256 / एसएचए-512 हैश एल्गोरिथम को इस विशिष्ट हमले के लिए असुरक्षित बनाता है। एसएचए-3, ब्लेक2, ब्लेक3, और छोटे एसएचए-2 वेरिएंट इस प्रकार के हमले के लिए असुरक्षित नहीं हैं।{{cit|date=April 2020}}
कई क्रिप्टोग्राफ़िक हैश मेर्कले-डेमगार्ड निर्माण पर आधारित हैं। सभी क्रिप्टोग्राफ़िक हैश जो सीधे मेर्कले-डैमगार्ड निर्माण के पूर्ण उत्पादन का उपयोग करते हैं, लंबाई विस्तार के अटैक के लिए कमजोर हैं। यह एमडी5, एसएचए-1, आरआईपीईएमडी-160, व्हर्लपूल, और एसएचए-256 / एसएचए-512 हैश कलनविधि को इस विशिष्ट अटैक के लिए असुरक्षित बनाता है। एसएचए-3, ब्लेक2, ब्लेक3, और छोटे एसएचए-2 वेरिएंट इस प्रकार के अटैक के लिए असुरक्षित नहीं हैं।{{cit|date=April 2020}}
== हैश किए गए पासवर्ड पर हमला ==
== हैश किए गए पासवर्ड पर अटैक ==
{{main|पासवर्ड क्रैकिंग}}
{{main|पासवर्ड क्रैकिंग}}


पासवर्ड प्रमाणीकरण डेटा को संग्रहीत करने के लिए हैश का एक सामान्य उपयोग होता हैं। उपयोगकर्ता पासवर्ड के सादे पाठ को संग्रहीत करने के अतिरिक्त, एक नियंत्रित एक्सेस प्रणाली फ़ाइल या डेटाबेस में प्रत्येक उपयोगकर्ता के पासवर्ड के हैश को संग्रहीत करता है। जब कोई एक्सेस का अनुरोध करता है, तो उनके द्वारा सबमिट किया गया पासवर्ड हैश किया जाता है और संग्रहीत मान से तुलना की जाती है। यदि डेटाबेस चोरी हो गया है (एक बहुत ही लगातार घटना<ref name="jjUS1">{{cite news|url=https://www.csoonline.com/article/2130877/the-biggest-data-breaches-of-the-21st-century.html|title=21वीं सदी के 15 सबसे बड़े डेटा उल्लंघन|first= Dan |last=Swinhoe |publisher=CSO Magazine| date=April 17, 2020}}</ref>), चोर के पास केवल हैश मूल्य होगा, पासवर्ड नहीं।
पासवर्ड प्रमाणीकरण डेटा को संग्रहीत करने के लिए हैश का सामान्य उपयोग होता हैं। उपयोगकर्ता पासवर्ड के सादे पाठ को संग्रहीत करने के अतिरिक्त, नियंत्रित एक्सेस प्रणाली फ़ाइल या डेटाबेस में प्रत्येक उपयोगकर्ता के पासवर्ड के हैश को संग्रहीत करता है। जब कोई एक्सेस का अनुरोध करता है, तो उनके द्वारा सबमिट किया गया पासवर्ड हैश किया जाता है और संग्रहीत मान से तुलना की जाती है। यदि डेटाबेस चोरी हो गया है (एक बहुत ही लगातार घटना<ref name="jjUS1">{{cite news|url=https://www.csoonline.com/article/2130877/the-biggest-data-breaches-of-the-21st-century.html|title=21वीं सदी के 15 सबसे बड़े डेटा उल्लंघन|first= Dan |last=Swinhoe |publisher=CSO Magazine| date=April 17, 2020}}</ref>), तो चोर के पास केवल हैश मूल्य होता है, ना की पासवर्ड होता है।


चूंकि, अधिकांश लोग पूर्वानुमानित तरीकों से पासवर्ड चुनते हैं। सामान्य पासवर्डों की सूची व्यापक रूप से परिचालित की जाती है और कई पासवर्ड इतने छोटे होते हैं कि यदि तेजी से हैश का उपयोग किया जाता है तो सभी संभावित संयोजनों का परीक्षण किया जा सकता है।<ref name="2tECU">{{cite web | url=https://arstechnica.com/information-technology/2012/12/25-gpu-cluster-cracks-every-standard-windows-password-in-6-hours/ | title=25-जीपीयू क्लस्टर हर मानक विंडोज पासवर्ड को <6 घंटे में क्रैक करता है| date=2012-12-10 | first=Dan | last=Goodin | publisher=[[Ars Technica]] | access-date=2020-11-23}}</ref> सॉल्ट (क्रिप्टोग्राफी) का उपयोग कुछ अटैक को रोकता है, जैसे प्रीकंप्यूटिंग हैश मूल्य की फाइलें बनाना। रेनबो सूची लेकिन हाई-एंड [[ग्राफिक्स प्रोसेसर]] के साथ प्रति सेकंड 100 बिलियन परीक्षण के क्रम में खोज संभव है, जिससे सॉल्ट के साथ भी सीधा हमला संभव हो जाता है।<ref name="28vy8">{{Cite web|url=https://www.theregister.co.uk/2019/02/14/password_length/|title=8-चार Windows NTLM पासवर्ड का उपयोग करें? मत। हर एक को 2.5 घंटे के अंदर क्रैक किया जा सकता है|last= Claburn |first=Thomas|date=February 14, 2019|website=www.theregister.co.uk|language=en|access-date=2020-11-26}}</ref><ref name="TbJcd">{{cite web|url=https://improsec.com/tech-blog/mind-blowing-gpu-performance|title=दिमाग उड़ाने वाला जीपीयू प्रदर्शन|publisher=Improsec|date=January 3, 2020}}</ref> युनाइटेड स्टेट्स [[मानक और प्रौद्योगिकी का राष्ट्रीय संस्थान]] विशेष हैश का उपयोग करके पासवर्ड संग्रहीत करने की सिफारिश करता है जिसे प्रमुख व्युत्पन्न कार्य (केडीएफ) कहा जाता है जो कि क्रूर बल की खोजों को धीमा करने के लिए बनाया गया है।<ref name="sp800-63B">{{cite book | title = SP 800-63B-3 - डिजिटल पहचान दिशानिर्देश, प्रमाणीकरण और जीवनचक्र प्रबंधन| publisher = NIST | date = June 2017 | doi=10.6028/NIST.SP.800-63b | author=Grassi Paul A.}}</ref>{{rp|5.1.1.2}} स्लो हैश में [[pbkdf2|पीबीकेडीएफ2]], [[bcrypt|बीक्रिप्ट]], स्क्रिप्ट, आर्गन2, [[Balloon hashing|बैलून हैशिंग]] और यूनिक्स क्रिप्ट के कुछ हालिया मोड सम्मलित हैं। केएसएफएस के लिए जो निष्पादन को धीमा करने के लिए कई हैश करते हैं, एनआईएसटी 10,000 या अधिक की पुनरावृत्ति गणना की सिफारिश करता है।<ref name="sp800-63B" />{{rp|5.1.1.2}}
चूंकि, अधिकांश लोग पूर्वानुमानित तरीकों से पासवर्ड चुनते हैं। सामान्य पासवर्डों की सूची व्यापक रूप से परिचालित की जाती है और कई पासवर्ड इतने छोटे होते हैं कि यदि तेजी से हैश का उपयोग किया जाता है तो सभी संभावित संयोजनों का परीक्षण किया जा सकता है।<ref name="2tECU">{{cite web | url=https://arstechnica.com/information-technology/2012/12/25-gpu-cluster-cracks-every-standard-windows-password-in-6-hours/ | title=25-जीपीयू क्लस्टर हर मानक विंडोज पासवर्ड को <6 घंटे में क्रैक करता है| date=2012-12-10 | first=Dan | last=Goodin | publisher=[[Ars Technica]] | access-date=2020-11-23}}</ref> सॉल्ट (क्रिप्टोग्राफी) का उपयोग कुछ अटैक को रोकता है, जैसे प्रीकंप्यूटिंग हैश मूल्य की फाइलें बनाना रेनबो सूची लेकिन हाई-एंड [[ग्राफिक्स प्रोसेसर]] के साथ प्रति सेकंड 100 बिलियन परीक्षण के क्रम में खोज संभव है, जिससे सॉल्ट के साथ भी सीधा अटैक संभव हो जाता है।<ref name="28vy8">{{Cite web|url=https://www.theregister.co.uk/2019/02/14/password_length/|title=8-चार Windows NTLM पासवर्ड का उपयोग करें? मत। हर एक को 2.5 घंटे के अंदर क्रैक किया जा सकता है|last= Claburn |first=Thomas|date=February 14, 2019|website=www.theregister.co.uk|language=en|access-date=2020-11-26}}</ref><ref name="TbJcd">{{cite web|url=https://improsec.com/tech-blog/mind-blowing-gpu-performance|title=दिमाग उड़ाने वाला जीपीयू प्रदर्शन|publisher=Improsec|date=January 3, 2020}}</ref> युनाइटेड स्टेट्स [[मानक और प्रौद्योगिकी का राष्ट्रीय संस्थान]] विशेष हैश का उपयोग करके पासवर्ड संग्रहीत करने की अनुरोध करता है जिसे प्रमुख व्युत्पन्न कार्य (केडीएफ) कहा जाता है जो कि क्रूर बल की खोजों को धीमा करने के लिए बनाया गया है।<ref name="sp800-63B">{{cite book | title = SP 800-63B-3 - डिजिटल पहचान दिशानिर्देश, प्रमाणीकरण और जीवनचक्र प्रबंधन| publisher = NIST | date = June 2017 | doi=10.6028/NIST.SP.800-63b | author=Grassi Paul A.}}</ref>{{rp|5.1.1.2}} स्लो हैश में [[pbkdf2|पीबीकेडीएफ2]], [[bcrypt|बीक्रिप्ट]], स्क्रिप्ट, आर्गन2, [[Balloon hashing|बैलून हैशिंग]] और यूनिक्स क्रिप्ट के कुछ हालिया मोड सम्मलित हैं। केएसएफएस के लिए जो निष्पादन को धीमा करने के लिए कई हैश करते हैं, एनआईएसटी 10,000 या अधिक की पुनरावृत्ति गणना की अनुरोध करता है।<ref name="sp800-63B" />{{rp|5.1.1.2}}


== यह भी देखें ==
== यह भी देखें ==
Line 226: Line 225:
{{Cryptography navbox|hash}}
{{Cryptography navbox|hash}}


{{DEFAULTSORT:Cryptographic Hash Function}}[[Category: क्रिप्टोग्राफी]]
{{DEFAULTSORT:Cryptographic Hash Function}}
[[Category:क्रिप्टोग्राफ़िक आदिम]]
 
[[Category:All articles with unsourced statements|Cryptographic Hash Function]]
[[Category:Articles with hatnote templates targeting a nonexistent page|Cryptographic Hash Function]]
[[Category:Articles with unsourced statements from May 2016|Cryptographic Hash Function]]
[[Category:CS1 English-language sources (en)]]
[[Category:Citation Style 1 templates|M]]
[[Category:Collapse templates|Cryptographic Hash Function]]
[[Category:Created On 16/12/2022|Cryptographic Hash Function]]
[[Category:Lua-based templates|Cryptographic Hash Function]]
[[Category:Machine Translated Page|Cryptographic Hash Function]]
[[Category:Multi-column templates|Cryptographic Hash Function]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Cryptographic Hash Function]]
[[Category:Pages using div col with small parameter|Cryptographic Hash Function]]
[[Category:Pages with script errors|Cryptographic Hash Function]]
[[Category:Short description with empty Wikidata description|Cryptographic Hash Function]]
[[Category:Sidebars with styles needing conversion|Cryptographic Hash Function]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|Cryptographic Hash Function]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite magazine]]
[[Category:Templates generating microformats|Cryptographic Hash Function]]
[[Category:Templates that add a tracking category|Cryptographic Hash Function]]
[[Category:Templates that are not mobile friendly|Cryptographic Hash Function]]
[[Category:Templates that generate short descriptions|Cryptographic Hash Function]]
[[Category:Templates using TemplateData|Cryptographic Hash Function]]
[[Category:Templates using under-protected Lua modules|Cryptographic Hash Function]]
[[Category:Wikipedia fully protected templates|Div col]]
[[Category:Wikipedia metatemplates|Cryptographic Hash Function]]
[[Category:क्रिप्टोग्राफ़िक आदिम|Cryptographic Hash Function]]
[[Category:क्रिप्टोग्राफ़िक हैश फ़ंक्शंस| ]]
[[Category:क्रिप्टोग्राफ़िक हैश फ़ंक्शंस| ]]
[[Category: हैशिंग]]
[[Category:क्रिप्टोग्राफी|Cryptographic Hash Function]]
 
[[Category:हैशिंग|Cryptographic Hash Function]]
 
[[Category: Machine Translated Page]]
[[Category:Created On 16/12/2022]]

Latest revision as of 10:00, 24 January 2023

कार्य पर क्रिप्टोग्राफ़िक हैश फ़ंक्शन (विशेष रूप से एसएचए-1)। इनपुट में छोटा सा बदलाव (ओवर वर्ड में) उत्पादन (डाइजेस्ट) में काफी बदलाव करता है। यह तथाकथित हिमस्खलन प्रभाव है।

क्रिप्टोग्राफ़िक हैश फ़ंक्शन (सीएचएफ) यह हैश कलनविधि है ( बिट्स के निश्चित आकार के साथ बाइनरी स्ट्रिंग के लिए यादृच्छिक बाइनरी स्ट्रिंग का नक्शा (गणित) है) जिसमें क्रिप्टोग्राफी के लिए विशेष गुण होते हैं:[1]

  • एक यादृच्छिक इनपुट स्ट्रिंग ("संदेश") के लिए विशेष -बिट उत्पादन परिणाम (हैश मान) की संभावना (किसी भी अच्छे हैश का प्रकार) है, इसलिए हैश मान का उपयोग संदेश के प्रतिनिधि के रूप में किया जा सकता है;
  • किसी दिए गए हैश मान (एक प्री-इमेज) से मेल खाने वाली इनपुट स्ट्रिंग को ढूँढना अक्षम्य है, जब तक कि किसी पूर्व-परिकलित ज्ञात शब्दकोश ("रेनबो सूची") से मान का चयन नहीं किया जाता है। ऐसी खोज के प्रतिरोध को सुरक्षा सक्रियता के रूप में परिमाणित किया जाता है, हैश मान को बिट्स के साथ क्रिप्टोग्राफ़िक हैश में बिट्स की पूर्वप्रतिबिंब प्रतिरोध सक्रियता होने की अपेक्षा होती है। दूसरी पूर्वप्रतिबिंब प्रतिरोध सक्रियता, सामान्य अपेक्षाओं के साथ, दूसरे संदेश को खोजने की सामान्य समस्या को संदर्भित करती है जब संदेश पहले से ही ज्ञात हो तो वह दिए गए हैश मान से मेल खाती है;
  • एक ही प्रकार के हैश मान (संघट्ट) उत्पन्न करने वाले विभिन्न संदेशों के किसी प्रकार के जोड़े को खोजना भी संभव नहीं है, क्रिप्टोग्राफ़िक हैश में (बर्थडे विरोधाभास कम होने के कारण) बिट्स का संघट्ट प्रतिरोध सक्रियता होने की अपेक्षा होती है।

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

गुण

अधिकांश क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को इनपुट के रूप में किसी भी लम्बाई की स्ट्रिंग (कंप्यूटर विज्ञान) लेने और निश्चित-लंबाई हैश मान को उत्पन्न करने के लिए डिज़ाइन किया गया है।

एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन को सभी प्रकार के क्रिप्टैनालिटिक अटैक का सामना करने में सक्षम होना चाहिए। सैद्धांतिक क्रिप्टोग्राफी में, क्रिप्टोग्राफिक हैश फ़ंक्शन के सुरक्षा स्तर को निम्नलिखित गुणों का उपयोग करके परिभाषित किया गया है:

प्रीइमेज प्रतिरोध
एक हैश मान h दिया गया है, किसी भी संदेश m को ढूंढना कठिन होता है जैसे कि h = hash(m)। यह अवधारणा एक तरफ़ा कार्य से संबंधित है। जिन कार्यों में इस गुण का अभाव होता है, वे प्रीइमेज अटैक के प्रति संवेदनशील होते हैं।
दूसरा प्रीइमेज प्रतिरोध
एक इनपुट m1 को देखते हुए, भिन्न इनपुट m2 खोजना कठिन होता है जैसे कि hash(m1) = hash(m2)। इस गुण को कभी-कभी कमजोर संघट्ट प्रतिरोध कहा जाता है। ऐसे कार्य जिनमें इस गुण का अभाव होता है, वह द्वितीय-प्रीइमेज अटैक के प्रति संवेदनशील होते हैं।
संघट्ट प्रतिरोध
दो भिन्न-भिन्न संदेश m1 और m2 जैसे hash(m1) = hash(m2) को ढूंढना कठिन हो जाता है। ऐसी जोड़ी को क्रिप्टोग्राफ़िक हैश संघट्ट कहा जाता है। इस संपत्ति को कभी-कभी ठोस संघट्ट प्रतिरोध कहा जाता है। इसके लिए प्री-इमेज प्रतिरोध को आवश्यक हैश मान की तुलना में कम से कम दो बार हैश मान की आवश्यकता होती है; अन्यथा संघट्ट बर्थडे अटैक से मिल सकते हैं।[3]

संघट्ट प्रतिरोध का तात्पर्य दूसरे प्री-इमेज प्रतिरोध से है, लेकिन प्री-इमेज प्रतिरोध का अर्थ नहीं है।[4] सैद्धांतिक क्रिप्टोग्राफी में हमेशा कमजोर धारणा को प्राथमिकता दी जाती है, लेकिन पद्धति में, हैश-फ़ंक्शन जो केवल दूसरा प्री-इमेज प्रतिरोधी है, उसे असुरक्षित माना जाता है और इसलिए यह वास्तविक अनुप्रयोगों के लिए अनुशंसित नहीं है।

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

इन मानदंडों को पूरा करने वाले फ़ंक्शन में अभी भी अवांछित गुण हो सकते हैं। वर्तमान में, लोकप्रिय क्रिप्टोग्राफ़िक हैश फ़ंक्शंस लंबाई-विस्तार अटैक के लिए कमजोर हैं: दिए गए hash(m) और len(m) लेकिन उपयुक्त m 'चुनकर अटैकर हैश की गणना कर सकता है hash(mm), जहां यह चिन्ह ∥ संयोजन को दर्शाता है।[5] इस संपत्ति का उपयोग हैश कार्यों के आधार पर सहज प्रमाणीकरण योजनाओं को तोड़ने के लिए किया जा सकता है। एचएमएसी संरचना इन समस्याओं के इर्द-गिर्द कार्य करती है।

पद्धति में, संघट्ट प्रतिरोध कई प्रायौगिक उपयोगों के लिए अपर्याप्त है। संघट्ट प्रतिरोध के अतिरिक्त, विरोधी के लिए दो संदेशों को काफी सीमा तक सामान्य डाइजेस्ट के साथ खोजना असंभव हो जाता है; या डेटा के बारे में किसी भी उपयोगी जानकारी का अनुमान लगाने के लिए, केवल उसके डाइजेस्ट को देखते है विशेष रूप से, हैश फ़ंक्शन को यथासंभव यादृच्छिक फ़ंक्शन (अधिकांशतः सुरक्षा के प्रमाण में यादृच्छिक ऑरेकल कहा जाता है) की प्रकार पद्धति करनी चाहिए, जबकि ये अभी भी निर्धारक और कुशलता से गणना योग्य है। यह एसडब्लूआईआईएफटी फ़ंक्शन जैसे कार्यों को नियमबद्ध करता है, जो कठोर रूप से संघट्ट-प्रतिरोधी साबित हो सकता है, यह मानते हुए कि आदर्श लैटिस पर कुछ समस्याएं अभिकलनात्मक रूप से कठिन हैं, लेकिन, रैखिक फ़ंक्शन के रूप में, इन अतिरिक्त गुणों को ये संतुष्ट नहीं करता है।[6]

चेकसम कलनविधि, जैसे सीआरसी32 और अन्य चक्रीय अतिरेक जाँच, बहुत कमजोर आवश्यकताओं को पूरा करने के लिए डिज़ाइन किए गए हैं और सामान्यतः क्रिप्टोग्राफ़िक हैश फ़ंक्शन के रूप में अनुपयुक्त हैं। उदाहरण के लिए, डब्लूइपी कूटलेखन मानक में संदेश अखंडता के लिए सीआरसी का उपयोग किया गया था, जो चेकसम की रैखिकता का फायदा उठाते थे।

कठिनाई की डिग्री

क्रिप्टोग्राफिक पद्धति में, "कठिन" का सामान्यतः यह मतलब है "अधिकतर निश्चित रूप से किसी भी विरोधी की पहुंच से परे जिसे प्रणाली की सुरक्षा को महत्वपूर्ण समझा जाता है, तब तक प्रणाली को तोड़ने से रोका जाना चाहिए" इसलिए इस शब्द का अर्थ कुछ सीमा तक अनुप्रयोग पर निर्भर करता है क्योंकि मैलिसियस एजेंट द्वारा कार्य में लगाए जाने वाले प्रयास सामान्यतः उनके अपेक्षित लाभ के समानुपाती होते हैं। चूंकि, आवश्यक प्रयास सामान्यतः डाइजेस्ट लंबाई के साथ गुणा हो जाता है, प्रसंस्करण घात में हजार गुना लाभ को बाद में दर्जन बिट्स के साथ जोड़कर बेअसर किया जा सकता है।

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

कुछ अभिकलनात्मक जटिलता सिद्धांत विश्लेषणों में "कठिन" का विशिष्ट गणितीय अर्थ है, जैसे कि स्पर्शोन्मुख अभिकलनात्मक जटिलता बहुपद समय में इसे हल नहीं किया जा सकता है। पहले से सुरक्षित कूटलेखन हैश कार्यक्रमों का अध्ययन करते समय इन कठिनाइयों की व्याख्या करना महत्वपूर्ण है किन्तु प्रायोगिक सुरक्षा से उनका गहरा संबंध नहीं है। उदाहरण के लिए, घातीय समय कलनविधि कभी-कभी इतनी तेजी से हो सकती है कि संभावित रूप से अटैक हो सके। इसके विपरीत, बहुपद-समय कलनविधि (उदाहरण के लिए, जिसकी आवश्यकता होती है n20 के लिए कदम n-डिजिट कुंजियाँ) किसी भी प्रायोगिक उपयोग के लिए बहुत धीमी हो सकती हैं।

चित्रण

क्रिप्टोग्राफ़िक हैश के संभावित उपयोग का उदाहरण इस प्रकार है: ऐलिस और बॉब के लिए एक कठिन गणित की समस्या प्रस्तुत की जाती है और दावा किया जाता हैं कि उसने इसे हल कर लिया है। बॉब इसे स्वयं आज़माना चाहेंगे, लेकिन फिर भी यह सुनिश्चित करना चाहेंगे कि कहीं ऐलिस झांसा तो नहीं दे रही है। इसलिए, ऐलिस अपना समाधान लिखती है, अपने हैश की गणना करती है, और बॉब को हैश मान बताती है (समाधान को छिपाते हुए)। फिर, जब कुछ दिनों के बाद बॉब स्वयं समाधान के साथ आता है, तो ऐलिस यह साबित कर सकती है कि उसके पास पहले समाधान था और बॉब हैश होने के बाद यह जांच कर सकता है कि यह पहले दिए गए हैश मान से मेल खाता है। (यह साधारण प्रतिबद्धता योजना का उदाहरण है; वास्तविक पद्धति में, ऐलिस और बॉब अधिकांशतः कंप्यूटर प्रोग्राम होंगे, और रहस्य कुछ कम सरलता से दावा किया गया की पहेली समाधान में धोखा होता है)।

अनुप्रयोग

संदेशों और फाइलों की अखंडता का सत्यापन

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

एमडी5, एसएचए-1, या एसएचए-2 हैश डाइजेस्ट को कभी-कभी वेबसाइटों या फ़ोरम पर प्रकाशित किया जाता है जिससे की डाउनलोड की गई फ़ाइलों के लिए अखंडता का सत्यापन किया जा सके,[7] फ़ाइल साझाकरण जैसे मिरर वेबसाइट का उपयोग करके पुनर्प्राप्त की गई फ़ाइलें सम्मलित हैं। यह अभ्यास विश्वास की श्रृंखला को स्थापित करता है जब तक कि हैश विश्वसनीय साइट पर पोस्ट किया जाता है - सामान्यतः मूल साइट - एचटीटीपीएस द्वारा प्रमाणित की जाती है। क्रिप्टोग्राफ़िक हैश और विश्वास की श्रृंखला का उपयोग फ़ाइल में मैलिसियस परिवर्तनों का पता लगाता है। गैर-क्रिप्टोग्राफ़िक त्रुटि-खोज कोड जैसे कि चक्रीय अतिरेक जाँच केवल फ़ाइल के गैर-मैलिसियस परिवर्तनों से बचाती है, क्योंकि अभिप्रायपूर्वक स्पूफिंग अटैक को संघट्ट अटैक के मूल्य के लिए इसे सरलता से तैयार किया जा सकता है।

हस्ताक्षर निर्माण और सत्यापन

अधिकतर सभी डिजिटल हस्ताक्षर योजनाओं को संदेश पर गणना करने के लिए क्रिप्टोग्राफ़िक हैश की आवश्यकता होती है। यह हस्ताक्षर गणना को अपेक्षाकृत छोटे, स्थिर आकार के हैश डाइजेस्ट पर निष्पादित करने की अनुमति देता है। संदेश को प्रामाणिक माना जाता है यदि हस्ताक्षर सत्यापन संदेश पर हस्ताक्षर और पुनर्गणना किए गए हैश डाइजेस्ट को सफल बनाता है। इसलिए क्रिप्टोग्राफ़िक हैश की संदेश अखंडता संपत्ति का उपयोग सुरक्षित और कुशल डिजिटल हस्ताक्षर योजनाएँ बनाने के लिए किया जाता है।

पासवर्ड सत्यापन

पासवर्ड सत्यापन सामान्यतः क्रिप्टोग्राफ़िक हैश पर निर्भर करता है। यदि पासवर्ड फ़ाइल से समझौता किया जाता है, तो सभी उपयोगकर्ता पासवर्ड को स्पष्ट टेक्स्ट के रूप में संग्रहीत करने से बड़े पैमाने पर सुरक्षा में उल्लंघन हो सकता है। इस खतरे को कम करने की विधी केवल प्रत्येक पासवर्ड के हैश डाइजेस्ट को स्टोर करना है। उपयोगकर्ता को प्रमाणित करने के लिए, उपयोगकर्ता द्वारा प्रस्तुत पासवर्ड को हैश किया जाता है और संग्रहीत हैश के साथ तुलना की जाती है। पासवर्ड हैशिंग करते समय पासवर्ड रीसेट विधि की आवश्यकता होती है; संग्रहीत हैश मान से मूल पासवर्ड की पुनर्गणना नहीं की जा सकती है।

मानक क्रिप्टोग्राफ़िक हैश फ़ंक्शंस को जल्दी से गणना करने के लिए डिज़ाइन किया गया है, और इसके परिणामस्वरूप, उच्च दरों पर अनुमानित पासवर्ड का प्रयास करना संभव है। सामान्य ग्राफ़िक्स प्रोसेसिंग युनिट प्रत्येक सेकंड में अरबों संभावित पासवर्ड को परख सकते हैं पासवर्ड हैश फ़ंक्शंस जो कुंजी तनन करते हैं - जैसे पीबीकेडीएफ2, स्क्रिप्ट या आर्गन2 - सामान्यतः क्रिप्टोग्राफ़िक हैश के बार-बार इनवोकेशन का उपयोग समय (और कुछ स्थितियों में कंप्यूटर मेमोरी) को बढ़ाने के लिए संग्रहीत पासवर्ड हैश डाइजेस्ट पर ब्रूट-फोर्स अटैक करने के लिए आवश्यक है। पासवर्ड हैश के लिए बड़े यादृच्छिक, गैर-गुप्त सॉल्ट (क्रिप्टोग्राफी) मान के उपयोग की आवश्यकता होती है जिसे पासवर्ड हैश के साथ संग्रहीत किया जा सकता है। सॉल्ट पासवर्ड हैश के उत्पादन को यादृच्छिक करता है, जिससे विरोधी के लिए पासवर्ड की सूची और पूर्वगणना हैश मूल्य को स्टोर करना असंभव हो जाता है जिससे पासवर्ड हैश डाइजेस्ट की तुलना की जा सकती है।

कार्य का प्रमाण

एक प्रूफ-ऑफ़-वर्क प्रणाली (या प्रोटोकॉल, या फ़ंक्शन) आर्थिक उपाय है, जो सेवा अनुरोधकर्ता से कुछ कार्य की आवश्यकता के द्वारा नेटवर्क पर सेवा के इनकार और अन्य सेवा दुरुपयोग जैसे स्पैम को रोकने के लिए होता है, सामान्यतः प्रसंस्करण समय का अर्थ कंप्यूटर होता है। इन योजनाओं की प्रमुख विशेषता उनकी विषमता है: अनुरोधकर्ता की ओर से कार्य मध्यम रूप से कठिन (लेकिन पद्धति्य) होना चाहिए लेकिन सेवा प्रदाता के लिए जाँच करना सरल होना चाहिए। लोकप्रिय प्रणाली - बिटकॉइन खनन और हशकाश में उपयोग की जाती है - यह साबित करने के लिए आंशिक हैश व्युत्क्रम का उपयोग करती है कि बिटकॉइन में खनन इनाम को अनलॉक करने के लिए कार्य किया गया था, और हैशकैश में ई-मेल भेजने के लिए सद्भावना टोकन के रूप में होती हैं। प्रेषक को संदेश खोजने की आवश्यकता होती है जिसका हैश मान कई शून्य बिट्स से शुरू होता है। वैध संदेश खोजने के लिए प्रेषक को जो औसत कार्य करने की आवश्यकता होती है, वह हैश मान में आवश्यक शून्य बिट्स की संख्या में घातीय होता है, जबकि प्राप्तकर्ता एकल हैश फ़ंक्शन को निष्पादित करके संदेश की वैधता को सत्यापित कर सकता है। उदाहरण के लिए, हैशकैश में, प्रेषक को शीर्षलेख उत्पन्न करने के लिए कहा जाता है जिसका 160-बिट एसएचए-1 हैश मान शून्य के रूप में पहले 20 बिट होता है। प्रेषक को वैध शीर्षलेख खोजने के लिए औसतन 219 बार प्रयास करना होता है।

फ़ाइल या डेटा पहचानकर्ता

एक संदेश डाइजेस्ट किसी फ़ाइल की मज़बूती से पहचान करने के साधन के रूप में भी कार्य कर सकता है; गिट (सॉफ़्टवेयर), मर्क्युरिअल (सॉफ़्टवेयर) और मोनोटोन (सॉफ़्टवेयर) सहित कई स्रोत कोड प्रबंधन प्रणालियाँ, विशिष्ट रूप से उनकी पहचान करने के लिए विभिन्न प्रकार की सामग्री (फ़ाइल सामग्री, निर्देशिका ट्री, पूर्वजों की जानकारी, आदि) के एसएचए1एसयूएम का उपयोग करती हैं। पीयर टू पीयर फ़ाइल फ़ाइल साझा करना नेटवर्क पर फ़ाइलों की पहचान करने के लिए हैश का उपयोग किया जाता है। उदाहरण के लिए, इडी2के लिंक में, एमडी4-वैरिएंट हैश को फ़ाइल आकार के साथ जोड़ा जाता है, जिससे फ़ाइल स्रोतों का पता लगाने, फ़ाइल को डाउनलोड करने और इसकी सामग्री को सत्यापित करने के लिए पर्याप्त जानकारी मिलती है। मैग्नेट यूआरआई योजना अन्य उदाहरण है। ऐसी फ़ाइल हैश अधिकांशतः हैश सूची या मर्कल ट्री का शीर्ष हैश होता है जो अतिरिक्त लाभ की अनुमति देता है।

हैश फ़ंक्शन के मुख्य अनुप्रयोगों में से हैश सूची में डेटा को तेज़ी से देखने की अनुमति देना है। विशेष प्रकार के हैश फ़ंक्शन होने के नाते, क्रिप्टोग्राफ़िक हैश फ़ंक्शन स्वयं को इस अनुप्रयोग के लिए भी अच्छी प्रकार से किराए पर देते हैं।

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

ब्लॉक सिफर पर आधारित हैश फ़ंक्शन

क्रिप्टोग्राफ़िक हैश फ़ंक्शन, विशेष रूप से एक तरफ़ा संपीड़न फ़ंक्शन बनाने के लिए ब्लॉक सिफर का उपयोग करने के कई प्रकार हैं।

सामान्यतः कूटलेखन के लिए उपयोग किए जाने वाले परिचालन के ब्लॉक सिफर मोड के सामान्य प्रकार हैं। एमडी4, एमडी5, एसएचए-1 और एसएचए-2 सहित कई जाने-माने हैश फ़ंक्शंस, इस उद्देश्य के लिए डिज़ाइन किए गए ब्लॉक-सिफर-जैसे घटकों से बनाए गए हैं, यह सुनिश्चित करने के लिए फीडबैक के साथ कि परिणामी फ़ंक्शन उलटा नहीं है। एनआईएसटी हैश फंक्शन प्रतियोगिता एसएचए-3 फाइनलिस्ट में ब्लॉक-सिफर जैसे घटकों (जैसे, स्केन हैश फ़ंक्शन, ब्लेक (हैश फंक्शन)) के साथ फंक्शन सम्मलित थे, चूंकि फंक्शन को अंत में चुना गया, केकेक, इसके अतिरिक्त स्पंज फ़ंक्शन पर बनाया गया था।

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

हैश फ़ंक्शन डिज़ाइन

मर्कल-डैमगार्ड निर्माण

मेर्कले-डेमगार्ड हैश निर्माण

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

संसाधित किया गया अंतिम ब्लॉक भी स्पष्ट रूप से पैडिंग (क्रिप्टोग्राफी) होना चाहिए; यह इस निर्माण की सुरक्षा के लिए महत्वपूर्ण है। इस निर्माण को मेर्कले-डैमगार्ड निर्माण कहा जाता है। एसएचए-1 और एमडी5 सहित अधिकांश सामान्य क्लासिकल हैश फ़ंक्शंस, यह फ़ॉर्म लेते हैं।

वाइड पाइप बनाम संकीर्ण पाइप

मेर्कले-डैमगार्ड निर्माण का सीधा अनुप्रयोग, जहां हैश उत्पादन का आकार आंतरिक राज्य आकार (प्रत्येक संपीड़न चरण के बीच) के बराबर होता है, परिणाम संकीर्ण-पाइप हैश डिज़ाइन में होता है। यह डिज़ाइन कई अंतर्निहित खामियों का कारण बनता है, लंबाई-विस्तार, बहु-संघट्ट,[8] लंबे संदेश अटैक,[9] जनरेट-एंड-पेस्ट अटैक, और समानांतर भी नहीं किया जा सकता है। परिणाम स्वरुप, आधुनिक हैश फ़ंक्शंस चौड़े-पाइप निर्माणों पर बनाए गए हैं जिनका बड़ा आंतरिक राज्य आकार है - जो मेर्कले-डैमगार्ड निर्माण के बदलावों से लेकर है।[8] स्पंज निर्माण और हाइफ़ा निर्माण जैसे नए निर्माणों के लिए।[10] एनआईएसटी हैश फंक्शन प्रतियोगिता में प्रवेश करने वालों में से कोई भी प्रतिष्ठित मेर्कले-डैमगार्ड निर्माण का उपयोग नहीं करता है।[11]

इस बीच, एसएचए-512/256 में उपयोग किए जाने वाले लंबे हैश के उत्पादन को छोटा करना भी इन अटैक में से कई को हरा देता है।[12]

अन्य क्रिप्टोग्राफ़िक पूर्वग बनाने में उपयोग करें

अन्य क्रिप्टोग्राफ़िक पूर्वग बनाने के लिए हैश फ़ंक्शंस का उपयोग किया जा सकता है। इन अन्य पूर्वगों को क्रिप्टोग्राफ़िक रूप से सुरक्षित होने के लिए, उन्हें सही प्रकार से बनाने के लिए रख-रखाव किया जाना चाहिए।

संदेश प्रमाणीकरण कोड (एमएसीएस) (जिसे कीड हैश फ़ंक्शंस भी कहा जाता है) अधिकांशतः हैश फ़ंक्शंस से बनाए जाते हैं। एचएमएसी ऐसा एमएसी है।

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

हैश फ़ंक्शन का उपयोग करके छद्म यादृच्छिक संख्या जनरेटर (पीआरएनजी) का निर्माण किया जा सकता है। यह (गुप्त) यादृच्छिक बीज को काउंटर के साथ जोड़कर और इसे हैश करके किया जाता है।

कुछ हैश फ़ंक्शंस, जैसे स्केन (हैश फ़ंक्शन), केकक, और रेडियोगैटन, मनमाने ढंग से लंबी स्ट्रीम का उत्पादन करते हैं और स्ट्रीम सिफर के रूप में उपयोग किया जा सकता है, और स्ट्रीम सिफर को निश्चित-लंबाई डाइजेस्ट हैश फ़ंक्शंस से भी बनाया जा सकता है। अधिकांशतः यह पहले क्रिप्टोग्राफिक पूर्वग से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर का निर्माण करके और फिर यादृच्छिक बाइट्स की धारा को कीस्ट्रीम के रूप में उपयोग करके किया जाता है। एसइएएल (सिफर) स्ट्रीम सिफर है जो आंतरिक सूचीओं को उत्पन्न करने के लिए एसएचए-1 का उपयोग करता है, जो तब हैश कलनविधि से कम या ज्यादा असंबंधित कीस्ट्रीम जनरेटर में उपयोग किया जाता है। एसइएएल को एसएचए-1 जितना ठोस (या कमजोर) होने की गारंटी नहीं है। इसी प्रकार, एचसी-128 और एचसी-256 स्ट्रीम सिफर का प्रमुख विस्तार एसएचए-256 हैश फ़ंक्शन का भारी उपयोग करता है।

संयोजन

एकाधिक हैश फ़ंक्शंस से कॉन्टेनेशन उत्पादन संघट्ट प्रतिरोध प्रदान करते हैं जो समेकित परिणाम में सम्मलित कलनविधि सबसे ठोस होती हैं।[citation needed] उदाहरण के लिए, ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) और सिक्योर सॉकेट्स लेयर (एसएसएल) के पुराने संस्करणों में संयोजित एमडी5 और एसएचए-1 रकम का उपयोग किया जाता है।[13][14] यह सुनिश्चित करता है कि हैश फ़ंक्शंस में से किसी में संघट्ट खोजने का विधी दोनों हैश फ़ंक्शंस द्वारा संरक्षित डेटा को पराजित नहीं करता है।[citation needed]

मेर्कले-डैमगार्ड निर्माण हैश फ़ंक्शंस के लिए, समेकित फ़ंक्शन संघट्ट-प्रतिरोधी के रूप में इसके सबसे ठोस घटक के रूप में है, लेकिन अधिक संघट्ट-प्रतिरोधी नहीं है।[citation needed] एंटोनी जौक्स ने देखा कि 2-संघट्ट का कारण बनता है n-संघट्ट: यदि अटैकर के लिए ही एमडी5 हैश के साथ दो संदेशों को ढूंढना संभव है, तो वे उसी एमडी5 हैश के साथ जितने चाहें उतने अतिरिक्त संदेश पा सकते हैं, बिना किसी बड़ी कठिनाई के।[15] उनके बीच n सामान्य एमडी5 हैश वाले संदेश, एसएचए-1 में संघट्ट होने की संभावना है। एसएचए-1 संघट्ट (घातीय बर्थडे खोज से परे) खोजने के लिए आवश्यक अतिरिक्त कार्य के लिए केवल बहुपद समय की आवश्यकता होती है।[16][17]

क्रिप्टोग्राफ़िक हैश कलनविधि

कई क्रिप्टोग्राफ़िक हैश कलनविधि हैं; यह खंड कुछ कलनविधि सूचीबद्ध करता है जिन्हें अपेक्षाकृत अधिकांशतः संदर्भित किया जाता है। क्रिप्टोग्राफ़िक हैश फ़ंक्शंस की तुलना वाले पृष्ठ पर अधिक विस्तृत सूची पाई जा सकती है।

एमडी 5

एमडी5 को रोनाल्ड रिवेस्ट द्वारा 1991 में पहले के हैश फ़ंक्शन, एमडी4 को बदलने के लिए डिज़ाइन किया गया था, और 1992 में RFC 1321 के रूप में निर्दिष्ट किया गया था। एमडी5 के विरुद्ध संघट्ट की गणना सेकंड के भीतर की जा सकती है जो कलनविधि को अधिकांश उपयोग स्थितियों के लिए अनुपयुक्त बनाता है जहाँ क्रिप्टोग्राफ़िक हैश की आवश्यकता होती है। एमडी5 128 बिट्स (16 बाइट्स) का डाइजेस्ट उत्पन्न करता है।

एसएचए-1

एसएचए-1 को अमेरिकी सरकार की कैपस्टोन (क्रिप्टोग्राफी) परियोजना के हिस्से के रूप में विकसित किया गया था। कलनविधि का मूल विनिर्देश - जिसे अब सामान्यतः एसएचए-0 कहा जाता है - 1993 में अमेरिकी सरकार की मानक एजेंसी एनआईएसटी (राष्ट्रीय मानक और प्रौद्योगिकी संस्थान) द्वारा सिक्योर हैश स्टैंडर्ड, एफआईपीएस पीयूबी 180 शीर्षक के तहत प्रकाशित किया गया था। इसे प्रकाशन के तुरंत बाद एनएसऐ द्वारा वापस ले लिया गया था और 1995 में एफआईपीएस पीयूबी 180-1 में प्रकाशित संशोधित संस्करण और सामान्यतः एसएचए-1 नामित किया गया था। पूर्ण एसएचए-1 कलनविधि के विरुद्ध संघट्ट एसएचए-1 एसएचएटीटीट्रड का उपयोग करके उत्पन्न किया जा सकता है - पहली सार्वजनिक संघट्ट और हैश फ़ंक्शन को टूटा हुआ माना जाना चाहिए। एसएचए-1 160 बिट्स (20 बाइट्स) का हैश डाइजेस्ट पैदा करता है।

दस्तावेज़ एसएचए-1 को केवल एसएचए के रूप में संदर्भित कर सकते हैं, भले ही यह एसएचए-0, एसएचए-2 और एसएचए-3 जैसे अन्य सुरक्षित हैश कलनविधि के साथ संघर्ष कर सकता है।

आरआईपीईएमडी-160

आरआईपीईएमडी (आरएसीइ इंटीग्रिटी प्रिमिटिव्स इमूल्यएशन मैसेज डाइजेस्ट) क्रिप्टोग्राफ़िक हैश फ़ंक्शंस का परिवार है जिसे ल्यूवेन, बेल्जियम में हैंस डोबबर्टिन, एंटून बॉससेलर्स और बार्ट प्रेनील द्वारा कैथोलिएके यूनिवर्सिटीइट ल्यूवेन में सीएसओआईसी रिसर्च ग्रुप में विकसित किया गया था, और पहली बार 1996 में प्रकाशित किया गया था। आरआईपीईएमडी एमडी4 में उपयोग किए गए डिजाइन सिद्धांतों पर आधारित था और यह अधिक लोकप्रिय एसएचए-1 के प्रदर्शन के सामान्य है। चूंकि, आरआईपीईएमडी-160 तोड़ा नहीं गया है। जैसा कि नाम से ही स्पष्ट है, आरआईपीईएमडी-160 (20 बाइट्स) 160 बिट्स का हैश डाइजेस्ट उत्पन्न करता है।

व्हर्लपूल

व्हर्लपूल क्रिप्टोग्राफ़िक हैश फ़ंक्शन है जिसे विन्सेंट रिजमेन और पाउलो एस.एल.एम. बैरेटो द्वारा डिज़ाइन किया गया है, जिन्होंने पहली बार 2000 में इसका वर्णन किया था। व्हर्लपूल उन्नत कूटलेखन स्टैंडर्ड (एईएस) के काफी संशोधित संस्करण पर आधारित है। व्हर्लपूल 512 बिट्स (64 बाइट्स) का हैश डाइजेस्ट उत्पन्न करता है।

एसएचए-2

एसएचए-2 (सिक्योर हैश कलनविधि 2) संयुक्त राज्य अमेरिका की राष्ट्रीय सुरक्षा एजेंसी (एनएसए) द्वारा डिज़ाइन किए गए क्रिप्टोग्राफ़िक हैश फ़ंक्शंस का समूह है, जो पहली बार 2001 में प्रकाशित हुआ था। वे एक तरफ़ा संपीड़न फ़ंक्शन से मर्कल-डैमगार्ड संरचना का उपयोग करके बनाए गए हैं। (वर्गीकृत) विशेष ब्लॉक सिफर से डेविस-मेयर संरचना का उपयोग करके स्वयं बनाया गया।

एसएचए-2 में मूल रूप से दो हैश कलनविधि होते हैं: एसएचए-256 और एसएचए-512 एसएचए-224, एसएचए-256 का भिन्न प्रारंभिक मान और छोटा उत्पादन के साथ प्रकार है। एसएचए-384 और कम ज्ञात एसएचए-512/224 और एसएचए-512/256 सभी एसएचए-512 के प्रकार हैं। एसएचए-512, एसएचए-256 की तुलना में अधिक सुरक्षित है और सामान्यतः 64-बिट मशीनों जैसे X86-64 पर एसएचए-256 से तेज़ है।

बिट्स में उत्पादन आकार एसएचए नाम के विस्तार द्वारा दिया गया है, इसलिए एसएचए-224 का उत्पादन आकार 224 बिट्स (28 बाइट्स) है; एसएचए-256, 32 बाइट्स; एसएचए-384, 48 बाइट्स; और एसएचए-512, 64 बाइट्स है।

एसएचए-3

एसएचए-3 (सिक्योर हैश कलनविधि 3) एनआईएसटी द्वारा 5 अगस्त, 2015 को जारी किया गया था। एसएचए-3 व्यापक क्रिप्टोग्राफ़िक पूर्वग परिवार केकक का उपसमूह है। केकेक कलनविधि गुइडो बर्टोनी, जोन डेमन, माइकल पीटर्स और गाइल्स वान असचे का कार्य है। केकेक स्पंज निर्माण पर आधारित है जिसका उपयोग अन्य क्रिप्टोग्राफ़िक प्रिमिटिव जैसे स्ट्रीम सिफर बनाने के लिए भी किया जा सकता है। एसएचए-3, एसएचए-2: 224, 256, 384 और 512 बिट्स के सामान्य उत्पादन आकार प्रदान करता है।

एसएचएकेइ-128 और एसएचएकेइ-256 फ़ंक्शंस का उपयोग करके कॉन्फ़िगर करने योग्य उत्पादन आकार भी प्राप्त किए जा सकते हैं। यहां -128 और -256 नाम के विस्तार बिट्स में उत्पादन आकार के अतिरिक्त फ़ंक्शन की सुरक्षा सक्रियता का संकेत देते हैं।

ब्लेक2

ब्लेक2, ब्लेक का उन्नत संस्करण, 21 दिसंबर, 2012 को घोषित किया गया था। इसे जीन-फिलिप ऑमसन, सैमुअल नेव्स, ज़ूको विलकॉक्स-ओ'हर्न और क्रिश्चियन विनरलीन द्वारा व्यापक रूप से उपयोग किए जाने वाले लेकिन टूटे हुए एमडी5 को बदलने के लक्ष्य के साथ बनाया गया था। एसएचए-1 कलनविधि। जब 64-बिट एक्स64 और ऐआरएम आर्किटेक्चर पर चलाया जाता है, तो ब्लेक2बी एसएचए-3, एसएचए-2, एसएचए-1 और एमडी5 से तेज़ होता है। चूंकि ब्लेक और ब्लेक2 को एसएचए-3 के रूप में मानकीकृत नहीं किया गया है, ब्लेक2 का उपयोग आर्गन2 पासवर्ड हैश सहित कई प्रोटोकॉल में किया गया है, उच्च दक्षता के लिए जो यह आधुनिक सीपीयू पर प्रदान करता है। चूंकि ब्लेक एसएचए-3 के लिए अपेक्षावार था, ब्लेक और ब्लेक2 दोनों ही एसएचए-3 के सामान्य उत्पादन आकार प्रदान करते हैं - विन्यास योग्य उत्पादन आकार सहित।

पैच

ब्लेक3, ब्लेक2 का उन्नत संस्करण, 9 जनवरी, 2020 को घोषित किया गया था। इसे जैक ओ'कॉनर, जीन-फिलिप ऑमसन, सैमुअल नेव्स और ज़ूको विलकॉक्स-ओ'हर्न द्वारा बनाया गया था। ब्लेक3 एकल कलनविधि है, ब्लेक और ब्लेक2 के विपरीत, जो कई वेरिएंट वाले कलनविधि परिवार हैं। ब्लेक3 कंप्रेशन फ़ंक्शन ब्लेक2एस पर बारीकी से आधारित है, जिसमें सबसे बड़ा अंतर यह है कि राउंड की संख्या 10 से घटाकर 7 कर दी गई है। आंतरिक रूप से, ब्लेक3 मर्कल ट्री है, और यह ब्लेक2 की तुलना में सामान्यता के उच्च स्तर का समर्थन करता है।

क्रिप्टोग्राफिक हैश कलनविधि पर अटैक

क्रिप्टोग्राफ़िक हैश फ़ंक्शंस की लंबी सूची होती है लेकिन उनमे से कई असुरक्षित पाए गए हैं और उनका उपयोग नहीं किया जाना चाहिए। उदाहरण के लिए, एनआईएसटी ने 51 हैश फ़ंक्शंस का चयन किया[18] एसएचए-3 हैश प्रतियोगिता के पहले दौर के अपेक्षावारों के रूप में, जिनमें से 10 को टूटा हुआ माना गया और 16 ने महत्वपूर्ण कमजोरियां दिखाईं और इसलिए अगले दौर में जगह नहीं बनाई; अधिक जानकारी एनआईएसटी हैश फंक्शन प्रतियोगिताओं के बारे में मुख्य लेख में पाई जा सकती है।

यहां तक ​​​​कि यदि हैश फ़ंक्शन कभी नहीं तोड़ा गया है, तो क्रिप्टोग्राफ़िक अटैक कमजोर संस्करण के खिलाफ अटैकर को उपलब्ध जानकारी विशेषज्ञों के विश्वास को कम कर सकती है। उदाहरण के लिए, अगस्त 2004 में एमडी5 सहित कई तत्कालीन लोकप्रिय हैश फ़ंक्शंस में संघट्ट पाए गए।[19] इन कमजोरियों ने कमजोर हैश कार्यों से प्राप्त ठोस कलनविधि की सुरक्षा पर सवाल उठाया - विशेष रूप से, एसएचए-1 (एसएचए-0 का ठोस संस्करण), आरआईपीईएमडी-128, और आरआईपीईएमडी-160 (आरआईपीईएमडी के दोनों ठोस संस्करण)।[20]

12 अगस्त 2004 को, जौक्स, कैरिबॉल्ट, लेमुएल और जल्बी ने पूर्ण एसएचए-0 कलनविधि के लिए संघट्ट की घोषणा की।[15] जौक्स एट अल चाबाउद और जौक्स अटैक के सामान्यीकरण का उपयोग करके इसे पूरा किया था। उन्होंने पाया कि संघट्ट में जटिलता थी 251 और 256 इटेनियम 2 प्रोसेसर वाले सुपर कंप्यूटर पर अधिकतर 80,000 सीपीयू घंटे लगे - जो सुपरकंप्यूटर के 13 दिनों के पूर्णकालिक उपयोग के बराबर है।[citation needed]

फरवरी 2005 में, एसएचए-1 पर अटैक की सूचना मिली थी जो अधिकतर 2 में टकराएगा69 हैशिंग ऑपरेशंस, 2 के अतिरिक्त80 160-बिट हैश फ़ंक्शन के लिए अपेक्षित है। अगस्त 2005 में, एसएचए-1 पर और अटैक की सूचना मिली थी जो 2 में संघट्टों को खोजेगा63 संचालन। एसएचए-1 की अन्य सैद्धांतिक कमजोरियां ज्ञात हैं:[21][22] और फरवरी 2017 में गूगल ने एसएचए-1 में संघट्ट की घोषणा की।[23] सुरक्षा शोधकर्ता अनुशंसा करते हैं कि नए अनुप्रयोग एसएचए-2 जैसे एसएचए परिवार के बाद के सदस्यों का उपयोग करके या यादृच्छिक हैशिंग जैसी तकनीकों का उपयोग करके इन समस्याओं से बच सकते हैं।[24] जिसे संघट्ट प्रतिरोध की आवश्यकता नहीं है।

एक सफल, प्रायोगिक अटैक ने 2008 में ट्रांसपोर्ट लेयर सिक्योरिटी के प्रमाणपत्रों के भीतर उपयोग किए गए एमडी5 को तोड़ दिया था।[25]

कई क्रिप्टोग्राफ़िक हैश मेर्कले-डेमगार्ड निर्माण पर आधारित हैं। सभी क्रिप्टोग्राफ़िक हैश जो सीधे मेर्कले-डैमगार्ड निर्माण के पूर्ण उत्पादन का उपयोग करते हैं, लंबाई विस्तार के अटैक के लिए कमजोर हैं। यह एमडी5, एसएचए-1, आरआईपीईएमडी-160, व्हर्लपूल, और एसएचए-256 / एसएचए-512 हैश कलनविधि को इस विशिष्ट अटैक के लिए असुरक्षित बनाता है। एसएचए-3, ब्लेक2, ब्लेक3, और छोटे एसएचए-2 वेरिएंट इस प्रकार के अटैक के लिए असुरक्षित नहीं हैं।[citation needed]

हैश किए गए पासवर्ड पर अटैक

पासवर्ड प्रमाणीकरण डेटा को संग्रहीत करने के लिए हैश का सामान्य उपयोग होता हैं। उपयोगकर्ता पासवर्ड के सादे पाठ को संग्रहीत करने के अतिरिक्त, नियंत्रित एक्सेस प्रणाली फ़ाइल या डेटाबेस में प्रत्येक उपयोगकर्ता के पासवर्ड के हैश को संग्रहीत करता है। जब कोई एक्सेस का अनुरोध करता है, तो उनके द्वारा सबमिट किया गया पासवर्ड हैश किया जाता है और संग्रहीत मान से तुलना की जाती है। यदि डेटाबेस चोरी हो गया है (एक बहुत ही लगातार घटना[26]), तो चोर के पास केवल हैश मूल्य होता है, ना की पासवर्ड होता है।

चूंकि, अधिकांश लोग पूर्वानुमानित तरीकों से पासवर्ड चुनते हैं। सामान्य पासवर्डों की सूची व्यापक रूप से परिचालित की जाती है और कई पासवर्ड इतने छोटे होते हैं कि यदि तेजी से हैश का उपयोग किया जाता है तो सभी संभावित संयोजनों का परीक्षण किया जा सकता है।[27] सॉल्ट (क्रिप्टोग्राफी) का उपयोग कुछ अटैक को रोकता है, जैसे प्रीकंप्यूटिंग हैश मूल्य की फाइलें बनाना रेनबो सूची लेकिन हाई-एंड ग्राफिक्स प्रोसेसर के साथ प्रति सेकंड 100 बिलियन परीक्षण के क्रम में खोज संभव है, जिससे सॉल्ट के साथ भी सीधा अटैक संभव हो जाता है।[28][29] युनाइटेड स्टेट्स मानक और प्रौद्योगिकी का राष्ट्रीय संस्थान विशेष हैश का उपयोग करके पासवर्ड संग्रहीत करने की अनुरोध करता है जिसे प्रमुख व्युत्पन्न कार्य (केडीएफ) कहा जाता है जो कि क्रूर बल की खोजों को धीमा करने के लिए बनाया गया है।[30]: 5.1.1.2  स्लो हैश में पीबीकेडीएफ2, बीक्रिप्ट, स्क्रिप्ट, आर्गन2, बैलून हैशिंग और यूनिक्स क्रिप्ट के कुछ हालिया मोड सम्मलित हैं। केएसएफएस के लिए जो निष्पादन को धीमा करने के लिए कई हैश करते हैं, एनआईएसटी 10,000 या अधिक की पुनरावृत्ति गणना की अनुरोध करता है।[30]: 5.1.1.2 

यह भी देखें


संदर्भ

उद्धरण

  1. Menezes, van Oorschot & Vanstone 2018, p. 33.
  2. Schneier, Bruce. "MD5 और SHA का क्रिप्ट विश्लेषण: एक नए मानक के लिए समय". Computerworld. Archived from the original on 2016-03-16. Retrieved 2016-04-20. एन्क्रिप्शन एल्गोरिदम से कहीं अधिक, एक तरफ़ा हैश फ़ंक्शन आधुनिक क्रिप्टोग्राफी के वर्कहॉर्स हैं।
  3. Katz & Lindell 2014, pp. 155–157, 190, 232.
  4. Rogaway & Shrimpton 2004, in Sec. 5. Implications.
  5. Duong, Thai; Rizzo, Juliano. "फ़्लिकर की एपीआई हस्ताक्षर जालसाजी भेद्यता".
  6. Lyubashevsky et al. 2008, pp. 54–72.
  7. Perrin, Chad (December 5, 2007). "सॉफ़्टवेयर डाउनलोड सत्यापित करने के लिए MD5 हैश का उपयोग करें". TechRepublic. Retrieved March 2, 2013.
  8. 8.0 8.1 Lucks, Stefan (2004). "इटरेटेड हैश फ़ंक्शंस के लिए डिज़ाइन सिद्धांत". Cryptology ePrint Archive. Report 2004/253.
  9. Kelsey & Schneier 2005, pp. 474–490.
  10. Biham, Eli; Dunkelman, Orr (24 August 2006). ए फ्रेमवर्क फॉर इटरेटिव हैश फंक्शंस - हाइफा. Second NIST Cryptographic Hash Workshop. Cryptology ePrint Archive. Report 2007/278.
  11. Nandi & Paul 2010.
  12. Dobraunig, Christoph; Eichlseder, Maria; Mendel, Florian (February 2015). SHA-224, SHA-512/224, और SHA-512/256 का सुरक्षा मूल्यांकन (PDF) (Report).
  13. Mendel et al., p. 145:Concatenating ... is often used by implementors to "hedge bets" on hash functions. A combiner of the form MD5
  14. Harnik et al. 2005, p. 99: the concatenation of hash functions as suggested in the TLS... is guaranteed to be as secure as the candidate that remains secure.
  15. 15.0 15.1 Joux 2004.
  16. Finney, Hal (August 20, 2004). "हैश फ़ंक्शंस के साथ अधिक समस्याएं". The Cryptography Mailing List. Archived from the original on April 9, 2016. Retrieved May 25, 2016.
  17. Hoch & Shamir 2008, pp. 616–630.
  18. Andrew Regenscheid, Ray Perlner, Shu-Jen Chang, John Kelsey, Mridul Nandi, Souradyuti Paul, Status Report on the First Round of the SHA-3 Cryptographic Hash Algorithm Competition
  19. XiaoyunWang, Dengguo Feng, Xuejia Lai, Hongbo Yu, Collisions for Hash Functions MD4, MD5, HAVAL-128, and RIPEMD
  20. Alshaikhli, Imad Fakhri; AlAhmad, Mohammad Abdulateef (2015), "Cryptographic Hash Function", Handbook of Research on Threat Detection and Countermeasures in Network Security, IGI Global, pp. 80–94, doi:10.4018/978-1-4666-6583-5.ch006, ISBN 978-1-4666-6583-5
  21. Xiaoyun Wang, Yiqun Lisa Yin, and Hongbo Yu, Finding Collisions in the Full SHA-1
  22. Bruce Schneier, Cryptanalysis of SHA-1 (summarizes Wang et al. results and their implications)
  23. Fox-Brewster, Thomas. "Google ने एक पुराने क्रिप्टो एल्गोरिथम को 'चकनाचूर' कर दिया - यही कारण है कि वेब सुरक्षा के लिए यह बहुत बड़ा है". Forbes. Retrieved 2017-02-24.
  24. Shai Halevi and Hugo Krawczyk, Randomized Hashing and Digital Signatures
  25. Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, MD5 considered harmful today: Creating a rogue CA certificate, accessed March 29, 2009.
  26. Swinhoe, Dan (April 17, 2020). "21वीं सदी के 15 सबसे बड़े डेटा उल्लंघन". CSO Magazine.
  27. Goodin, Dan (2012-12-10). "25-जीपीयू क्लस्टर हर मानक विंडोज पासवर्ड को <6 घंटे में क्रैक करता है". Ars Technica. Retrieved 2020-11-23.
  28. Claburn, Thomas (February 14, 2019). "8-चार Windows NTLM पासवर्ड का उपयोग करें? मत। हर एक को 2.5 घंटे के अंदर क्रैक किया जा सकता है". www.theregister.co.uk (in English). Retrieved 2020-11-26.
  29. "दिमाग उड़ाने वाला जीपीयू प्रदर्शन". Improsec. January 3, 2020.
  30. 30.0 30.1 Grassi Paul A. (June 2017). SP 800-63B-3 - डिजिटल पहचान दिशानिर्देश, प्रमाणीकरण और जीवनचक्र प्रबंधन. NIST. doi:10.6028/NIST.SP.800-63b.


स्रोत

  • Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (7 December 2018). "Hash functions". एप्लाइड क्रिप्टोग्राफी की पुस्तिका. CRC Press. pp. 33–. ISBN 978-0-429-88132-9.

बाहरी संबंध