एसएचए-1

From alpha
Jump to navigation Jump to search
Secure Hash Algorithms
Concepts
hash functions · SHA · DSA
Main standards
SHA-0 · SHA-1 · SHA-2 · SHA-3
SHA-1
General
DesignersNational Security Agency
First published1993 (SHA-0),
1995 (SHA-1)
Series(SHA-0), SHA-1, SHA-2, SHA-3
CertificationFIPS PUB 180-4, CRYPTREC (Monitored)
Cipher detail
Digest sizes160 bits
Block sizes512 bits
StructureMerkle–Damgård construction
Rounds80
Best public cryptanalysis
A 2011 attack by Marc Stevens can produce hash collisions with a complexity between 260.3 and 265.3 operations.[1] The first public collision was published on 23 February 2017.[2] SHA-1 is prone to length extension attacks.

क्रिप्टोग्राफी में, SHA-1 (सिक्योर हैश एल्गोरिथम 1) एक हैश फंकशन है जो एक इनपुट लेता है और एक 160-अंश (20-बाइट) हैश मान उत्पन्न करता है जिसे संदेश संग्रह के रूप में जाना जाता है - आमतौर पर 40 हेक्साडेसिमल अंकों के रूप में प्रस्तुत किया जाता है। यह संयुक्त राज्य अमेरिका की राष्ट्रीय सुरक्षा एजेंसी द्वारा डिजाइन किया गया था, और यह एक अमेरिकी संघीय सूचना प्रसंस्करण मानक है।[3] एल्गोरिदम को क्रिप्टोग्राफ़िक रूप से तोड़ा गया है[4][5][6][7][8][9][10]लेकिन अभी भी व्यापक रूप से उपयोग किया जाता है।

2005 के बाद से, SHA-1 को अच्छी तरह से वित्तपोषित विरोधियों के खिलाफ सुरक्षित नहीं माना गया है;[11] 2010 तक कई संगठनों ने इसके प्रतिस्थापन की सिफारिश की है।[12][10][13] एनआईएसटी ने औपचारिक रूप से 2011 में एसएचए-1 के उपयोग को रोक दिया और 2013 में डिजिटल हस्ताक्षर के लिए इसके उपयोग की अनुमति नहीं दी और घोषणा की कि इसे 2030 तक समाप्त कर दिया जाना चाहिए।[14] As of 2020, SHA-1 के विरुद्ध चुने गए-उपसर्ग हमले व्यावहारिक हैं।[6][8] इसलिए, जितनी जल्दी हो सके उत्पादों से SHA-1 को हटाने और इसके बजाय SHA-2 या SHA-3 का उपयोग करने की अनुशंसा की जाती है। SHA-1 को बदलना अत्यावश्यक है जहाँ इसका उपयोग डिजिटल हस्ताक्षर के लिए किया जाता है।

सभी प्रमुख वेब ब्राउज़र विक्रेताओं ने 2017 में SHA-1 SSL प्रमाणपत्रों की स्वीकृति बंद कर दी।[15][9][4] फरवरी 2017 में, CWI एम्स्टर्डम और Google ने घोषणा की कि उन्होंने SHA-1 के खिलाफ टकराव का हमला किया है, दो अलग-अलग पीडीएफ फाइलों को प्रकाशित किया है जो समान SHA-1 हैश का उत्पादन करते हैं।[16][2]हालाँकि, SHA-1 अभी भी HMAC के लिए सुरक्षित है।[17] Microsoft ने 7 अगस्त, 2020 को विंडोज अपडेट के लिए SHA-1 कोड साइनिंग सपोर्ट बंद कर दिया है।

विकास

SHA-1 संपीड़न समारोह के भीतर एक पुनरावृत्ति:
  • A, B, C, D and E are 32-bit words of the state;
  • F is a nonlinear function that varies;
  • denotes a left bit rotation by n places;
  • n varies for each operation;
  • Wt is the expanded message word of round t;
  • Kt is the round constant of round t;
  • ⊞ denotes addition modulo 232.

SHA-1, रॉन रिवेस्ट|रोनाल्ड एल. रिवेस्ट ऑफ़ मैसाचुसेट्स की तकनीकी संस्था द्वारा MD2 (हैश फ़ंक्शन), MD4 और MD5 संदेश डाइजेस्ट एल्गोरिदम के डिज़ाइन में उपयोग किए गए सिद्धांतों के समान सिद्धांतों के आधार पर एक संदेश डाइजेस्ट बनाता है, लेकिन एक बड़ा हैश उत्पन्न करता है मान (160 बिट बनाम 128 बिट)।

SHA-1 को अमेरिकी सरकार के कैपस्टोन (क्रिप्टोग्राफी) के हिस्से के रूप में विकसित किया गया था।[18] एल्गोरिथ्म का मूल विनिर्देश 1993 में अमेरिकी सरकार की मानक एजेंसी NIST (नेशनल इंस्टीट्यूट ऑफ स्टैंडर्ड एंड टेक्नोलॉजी) द्वारा सिक्योर हैश स्टैंडर्ड, फेडरल इंफॉर्मेशन प्रोसेसिंग स्टैंडर्ड PUB 180 शीर्षक के तहत प्रकाशित किया गया था।[19][20] इस संस्करण को अब अक्सर SHA-0 नाम दिया गया है। प्रकाशन के तुरंत बाद एनएसए द्वारा इसे वापस ले लिया गया था और 1995 में FIPS PUB 180-1 में प्रकाशित संशोधित संस्करण और आमतौर पर SHA-1 नामित किया गया था। SHA-1 अपने एक तरफ़ा संपीड़न समारोह के मैसेज शेड्यूल में केवल एक बिटवाइज़ रोटेशन द्वारा SHA-0 से भिन्न होता है। एनएसए के अनुसार, यह मूल एल्गोरिथम में एक दोष को ठीक करने के लिए किया गया था जिसने इसकी क्रिप्टोग्राफ़िक सुरक्षा को कम कर दिया था, लेकिन उन्होंने आगे कोई स्पष्टीकरण नहीं दिया।[21][22] सार्वजनिक रूप से उपलब्ध तकनीकों ने वास्तव में 2017 में SHA-1 से पहले, 2004 में SHA-0 के एक समझौते को प्रदर्शित किया था (#Attacks|§Attacks देखें)।

अनुप्रयोग

क्रिप्टोग्राफी

SHA-1 परिवहन परत सुरक्षा और सुरक्षित सॉकेट लेयर, काफ़ी अच्छी गोपनीयता, सुरक्षित खोल, S/MIME और IPsec सहित कई व्यापक रूप से उपयोग किए जाने वाले सुरक्षा अनुप्रयोगों और प्रोटोकॉल का हिस्सा है। वे अनुप्रयोग MD5 का भी उपयोग कर सकते हैं; MD5 और SHA-1 दोनों MD4 के वंशज हैं।

SHA-1 और SHA-2 संवेदनशील अवर्गीकृत जानकारी की सुरक्षा के लिए अन्य क्रिप्टोग्राफ़िक एल्गोरिदम और प्रोटोकॉल के भीतर उपयोग सहित कुछ अमेरिकी सरकारी अनुप्रयोगों में उपयोग के लिए कानून द्वारा आवश्यक हैश एल्गोरिदम हैं। FIPS PUB 180-1 ने निजी और वाणिज्यिक संगठनों द्वारा SHA-1 को अपनाने और उपयोग करने को भी प्रोत्साहित किया। SHA-1 को अधिकांश सरकारी उपयोगों से हटाया जा रहा है; यू.एस. राष्ट्रीय मानक और प्रौद्योगिकी संस्थान ने कहा, संघीय एजेंसियों को SHA-1 का उपयोग बंद कर देना चाहिए... उन अनुप्रयोगों के लिए जिन्हें व्यावहारिक रूप से टकराव प्रतिरोध की आवश्यकता होती है, और इन अनुप्रयोगों के लिए SHA-2 परिवार के हैश फ़ंक्शन का उपयोग करना चाहिए। 2010 के बाद (मूल में जोर),[23] हालांकि बाद में पुराने डिजिटल हस्ताक्षरों और टाइम स्टैम्प के सत्यापन के लिए SHA-1 का उपयोग करने की अनुमति देने के लिए इसमें ढील दी गई थी।[24] सुरक्षित हैश एल्गोरिथ्म के प्रकाशन के लिए एक प्रमुख प्रेरणा डिजिटल हस्ताक्षर एल्गोरिथम थी, जिसमें इसे शामिल किया गया है।

SHACAL ब्लॉक सिफर के आधार के लिए SHA हैश फ़ंक्शंस का उपयोग किया गया है।


डेटा अखंडता

संशोधन नियंत्रण प्रणालियाँ जैसे Git (सॉफ़्टवेयर), Mercurial, और Monotone (सॉफ़्टवेयर) SHA-1 का उपयोग सुरक्षा के लिए नहीं, बल्कि संशोधनों की पहचान करने और यह सुनिश्चित करने के लिए करती हैं कि डेटा आकस्मिक भ्रष्टाचार के कारण नहीं बदला है। लिनस टोरवाल्ड्स ने गिट के बारे में कहा:

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


क्रिप्ट विश्लेषण और सत्यापन

एक हैश फ़ंक्शन के लिए जिसके लिए एल संदेश डाइजेस्ट में बिट्स की संख्या है, एक संदेश खोजना जो किसी दिए गए संदेश डाइजेस्ट से मेल खाता है, लगभग 2 में एक क्रूर बल खोज का उपयोग करके हमेशा किया जा सकता हैएल मूल्यांकन। इसे प्रीइमेज अटैक कहा जाता है और एल और विशेष कंप्यूटिंग वातावरण के आधार पर व्यावहारिक हो भी सकता है और नहीं भी। हालाँकि, एक टक्कर, जिसमें एक ही संदेश डाइजेस्ट उत्पन्न करने वाले दो अलग-अलग संदेशों को खोजने की आवश्यकता होती है, के बारे में औसतन आवश्यकता होती है 1.2 × 2L/2 जन्मदिन के हमले का उपयोग करके मूल्यांकन। इस प्रकार एक हैश फ़ंक्शन के सुरक्षा स्तर की तुलना आमतौर पर आधे संदेश डाइजेस्ट लंबाई के सममित सिफर से की जाती है। SHA-1, जिसमें 160-बिट संदेश डाइजेस्ट है, मूल रूप से 80-बिट शक्ति वाला माना जाता था।

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

दस्तावेज़ पर हस्ताक्षर करने के मामले में, एक हमलावर केवल एक मौजूदा दस्तावेज़ से नकली हस्ताक्षर नहीं कर सकता था: हमलावर को दस्तावेजों की एक जोड़ी, एक सहज और एक हानिकारक, और सहज दस्तावेज़ पर हस्ताक्षर करने के लिए निजी कुंजी धारक प्राप्त करना होगा। ऐसी व्यावहारिक परिस्थितियाँ हैं जिनमें यह संभव है; 2008 के अंत तक, MD5 टक्कर का उपयोग करके जाली ट्रांसपोर्ट लेयर सुरक्षा प्रमाणपत्र बनाना संभव था।[27] एल्गोरिदम के ब्लॉक और पुनरावृत्त संरचना और अतिरिक्त अंतिम चरणों की अनुपस्थिति के कारण, सभी SHA फ़ंक्शन (SHA-3 को छोड़कर)[28]) लंबाई विस्तार हमले|लंबाई-विस्तार और आंशिक-संदेश टक्कर हमलों के प्रति संवेदनशील हैं।[29] ये हमले एक हमलावर को केवल एक कुंजी वाले हैश द्वारा हस्ताक्षरित संदेश बनाने की अनुमति देते हैं - SHA(message || key) या SHA(key || message) - कुंजी को जाने बिना संदेश का विस्तार करके और हैश की पुनर्गणना करके। इन हमलों को रोकने के लिए एक साधारण सुधार दो बार हैश करना है: SHAd(message) = SHA(SHA(0b || message)) (लंबाई 0b, शून्य ब्लॉक, हैश फ़ंक्शन के ब्लॉक आकार के बराबर है)।

शा-0

CRYPTO (सम्मेलन) 98 में, दो फ्रांसीसी शोधकर्ताओं, फ्लोरेंट चाबौड और एंटोनी जौक्स ने SHA1 पर एक हमला प्रस्तुत किया: हैश टक्कर जटिलता 2 के साथ पाई जा सकती है61, 2 से कम80 समान आकार के एक आदर्श हैश फ़ंक्शन के लिए।[30] 2004 में, उन्हें और चेन ने SHA-0 के लिए निकट-टक्कर पाया - दो संदेश जो लगभग समान मान के हैश; इस मामले में, 160 में से 142 बिट बराबर हैं। उन्होंने यह भी पाया कि SHA-0 की पूर्ण टक्कर इसके 80 राउंड में से 62 तक कम हो गई।[31] इसके बाद, 12 अगस्त 2004 को, जौक्स, कैरिबॉल्ट, लेमुएट और जल्बी द्वारा पूर्ण SHA-0 एल्गोरिथम के लिए टक्कर की घोषणा की गई। यह चाबाउद और जौक्स हमले के सामान्यीकरण का उपयोग करके किया गया था। टक्कर खोजने में जटिलता थी 251 और 256 इटेनियम 2 प्रोसेसर वाले सुपर कंप्यूटर पर लगभग 80,000 प्रोसेसर-घंटे लगे (कंप्यूटर के 13 दिनों के पूर्णकालिक उपयोग के बराबर)।

17 अगस्त 2004 को, CRYPTO 2004 के रैंप सत्र में, MD5, SHA-0 और अन्य हैश कार्यों पर हमले के बारे में, Xiaoyun Wang, Feng, Lai, और Yu द्वारा प्रारंभिक परिणामों की घोषणा की गई। SHA-0 पर उनके हमले की जटिलता 2 है40, जोक्स एट अल द्वारा किए गए हमले से काफी बेहतर है।[32][33] फरवरी 2005 में, शियाओयुन वांग, वाई आई ग्रुप लिसा यिन और होंगबो यू द्वारा एक हमले की घोषणा की गई थी, जो 2 में SHA-0 में टक्कर पा सकता था।39 संचालन।[5][34] 2008 में बूमरैंग हमले को लागू करने वाले एक अन्य हमले ने टक्करों को खोजने की जटिलता को 2 तक नीचे ला दिया33.6, जो कि वर्ष 2008 से एक औसत पीसी पर 1 घंटा लगने का अनुमान लगाया गया था।[35] SHA-0 के परिणामों के प्रकाश में, कुछ विशेषज्ञ[who?] सुझाव दिया कि नए क्रिप्टो सिस्टम में SHA-1 के उपयोग की योजना पर पुनर्विचार किया जाना चाहिए। CRYPTO 2004 के परिणाम प्रकाशित होने के बाद, NIST ने घोषणा की कि उन्होंने SHA-2 वेरिएंट के पक्ष में 2010 तक SHA-1 के उपयोग को समाप्त करने की योजना बनाई है।[36]


हमला

2005 की शुरुआत में, विन्सेन्ट रिजमेन और एलिजाबेथ ओसवाल्ड ने SHA-1 के कम संस्करण पर एक हमले को प्रकाशित किया - 80 राउंड में से 53 - जो 2 से कम के कम्प्यूटेशनल प्रयास के साथ टकराव का पता लगाता है।80 संचालन।[37] फरवरी 2005 में, शियाओयुन वांग, यिकुन लिसा यिन और होंगबो यू द्वारा हमले की घोषणा की गई थी।[5]हमले SHA-1 के पूर्ण संस्करण में टकराव पा सकते हैं, जिसके लिए 2 से कम की आवश्यकता होती है69 संचालन। (एक क्रूर-बल खोज के लिए 2 की आवश्यकता होगी80 संचालन।)

लेखक लिखते हैं: विशेष रूप से, हमारा विश्लेषण SHA-0 पर मूल अंतर हमले, SHA-0 पर निकट टकराव के हमले, मल्टीब्लॉक टक्कर तकनीकों के साथ-साथ MD5 पर टक्कर खोज हमले में उपयोग की जाने वाली संदेश संशोधन तकनीकों पर बनाया गया है। . इन शक्तिशाली विश्लेषणात्मक तकनीकों के बिना SHA-1 को तोड़ना संभव नहीं होगा।[38] लेखकों ने 58-राउंड SHA-1 के लिए टक्कर प्रस्तुत की है, जो 2 के साथ मिली है33 हैश ऑपरेशन। हमले के पूर्ण विवरण वाला पेपर अगस्त 2005 में CRYPTO सम्मेलन में प्रकाशित हुआ था।

एक साक्षात्कार में, यिन ने कहा कि, मोटे तौर पर, हम निम्नलिखित दो कमजोरियों का फायदा उठाते हैं: एक यह है कि फ़ाइल प्रीप्रोसेसिंग चरण पर्याप्त जटिल नहीं है; दूसरा यह है कि पहले 20 राउंड में गणित के कुछ संचालनों में अप्रत्याशित सुरक्षा समस्याएं होती हैं।[39] 17 अगस्त 2005 को, शियाओयुन वांग, एंड्रयू याओ और फ्रांसिस याओ की ओर से क्रिप्टो 2005 रम्प सत्र में SHA-1 हमले में सुधार की घोषणा की गई, जिससे SHA-1 से 2 में टक्कर खोजने के लिए आवश्यक जटिलता कम हो गई।63.[7] 18 दिसंबर 2007 को मार्टिन कोचरन द्वारा इस परिणाम के विवरण की व्याख्या और सत्यापन किया गया।[40] क्रिस्टोफ़ डी कैनीयर और क्रिश्चियन रेचबर्गर ने SHA-1 विशेषताओं को खोजने में SHA-1 पर हमले में और सुधार किया: सामान्य परिणाम और अनुप्रयोग,[41] ASIACRYPT 2006 में सर्वश्रेष्ठ पेपर पुरस्कार प्राप्त करना। 64-राउंड SHA-1 के लिए दो-ब्लॉक की टक्कर प्रस्तुत की गई, 2 के साथ अअनुकूलित विधियों का उपयोग करते हुए पाया गया35 कम्प्रेशन फंक्शन मूल्यांकन। चूंकि इस हमले के लिए लगभग 2 के समतुल्य की आवश्यकता होती है35 मूल्यांकन, इसे एक महत्वपूर्ण सैद्धांतिक विराम माना जाता है।[42] ग्रीचनिकोव द्वारा 2010 में उनके हमले को 73 राउंड (80 में से) तक बढ़ा दिया गया था।[43] हैश फ़ंक्शन के पूरे 80 राउंड में वास्तविक टक्कर खोजने के लिए, हालांकि, कंप्यूटर समय की जबरदस्त मात्रा की आवश्यकता होती है। उस अंत तक, 8 अगस्त, 2007 को प्रौद्योगिकी के ग्राज़ विश्वविद्यालय द्वारा आयोजित स्वयंसेवक कंप्यूटिंग प्लेटफॉर्म BOINC का उपयोग करके SHA-1 के लिए टकराव की खोज शुरू हुई। प्रगति की कमी के कारण 12 मई 2009 को प्रयास छोड़ दिया गया था।[44] CRYPTO 2006 के रम्प सत्र में, क्रिश्चियन रेचबर्गर और क्रिस्टोफ़ डे कैनीयर ने SHA-1 पर टक्कर के हमले की खोज करने का दावा किया, जो एक हमलावर को संदेश के कम से कम भागों का चयन करने की अनुमति देगा।[45][46] 2008 में, स्टीफन मैनुअल द्वारा एक हमले की पद्धति ने 2 की अनुमानित सैद्धांतिक जटिलता के साथ हैश टकराव की सूचना दी।51 से 257 संचालन।[47] हालांकि बाद में उन्होंने दावा वापस ले लिया कि स्थानीय टक्कर पथ वास्तव में स्वतंत्र नहीं थे, और अंत में सबसे कुशल टक्कर वेक्टर के लिए उद्धृत किया गया था जो इस काम से पहले ही ज्ञात था।[48] कैमरून मैकडॉनल्ड, फिलिप हॉक्स और जोसेफ पीप्रज़िक ने दावा की गई जटिलता 2 के साथ हैश टक्कर का हमला प्रस्तुत किया52 यूरोक्रिप्ट 2009 के रम्प सत्र में।[49] हालांकि, साथ में दिया गया पेपर, जटिल बिग ओ नोटेशन के साथ SHA-1 के लिए डिफरेंशियल पाथ (252) लेखकों की इस खोज के कारण वापस ले लिया गया है कि उनका अनुमान गलत था।[50] SHA-1 के खिलाफ एक हमला मार्क स्टीवंस ने किया था[51] क्लाउड सर्वर से सीपीयू पावर किराए पर लेकर एकल हैश मूल्य को तोड़ने के लिए $2.77M(2012) की अनुमानित लागत के साथ।[52] स्टीवंस ने इस हमले को हैशक्लैश नामक परियोजना में विकसित किया,[53] एक अंतर पथ हमले को लागू करना। 8 नवंबर 2010 को, उन्होंने दावा किया कि उनके पास 2 के बराबर अनुमानित जटिलता के साथ काम कर रहे पूर्ण SHA-1 के खिलाफ पूरी तरह से निकट-टकराव का हमला था57.5 SHA-1 कंप्रेशन. उन्होंने अनुमान लगाया कि इस हमले को लगभग 2 की जटिलता के साथ पूर्ण टकराव तक बढ़ाया जा सकता है61 ।

द शेपिंग

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

यह पद्धति उनके पहले के काम पर आधारित थी, साथ ही जौक्स और पाइरिन से सहायक पथ (या बुमेरांग) स्पीड-अप तकनीक, और एनवीआईडीआईए से उच्च प्रदर्शन/लागत कुशल जीपीयू कार्ड का उपयोग कर रही थी। टक्कर कुल 64 ग्राफिक्स कार्ड के साथ 16-नोड क्लस्टर पर मिली थी। लेखकों ने अनुमान लगाया कि अमेज़ॅन लोचदार कंप्यूट क्लाउड पर जीपीयू समय के यूएस $ 2,000 खरीदकर इसी तरह की टक्कर मिल सकती है।[10]

लेखकों ने अनुमान लगाया कि प्रकाशन के समय SHA-1 के लिए पूर्ण टक्कर उत्पन्न करने के लिए पर्याप्त EC2 CPU/GPU किराए पर लेने की लागत US$75K और 120K के बीच थी, और नोट किया कि यह आपराधिक संगठनों के बजट के भीतर था, न कि राष्ट्रीय खुफिया एजेंसी का उल्लेख करने के लिए। इस प्रकार, लेखकों ने अनुशंसा की कि SHA-1 को जितनी जल्दी हो सके पदावनत कर दिया जाए।[10]


बिखर गया - पहली सार्वजनिक टक्कर

23 फरवरी 2017 को, Centrum Wiskunde & Informatica|CWI (Centrum Wiskunde & Informatica) और Google ने SHAttered हमले की घोषणा की, जिसमें उन्होंने लगभग 2 में समान SHA-1 हैश के साथ दो अलग-अलग PDF फाइलें बनाईं63.1 SHA-1 मूल्यांकन। यह हमला एक जन्मदिन के हमले के साथ SHA-1 टक्कर को मजबूर करने वाले जानवर की तुलना में लगभग 100,000 गुना तेज है, जिसमें 2 लेने का अनुमान लगाया गया था80 SHA-1 मूल्यांकन। इस हमले के लिए 6,500 वर्षों के एकल-सीपीयू संगणनाओं और 110 वर्षों के एकल-जीपीयू संगणनाओं के समतुल्य प्रसंस्करण शक्ति की आवश्यकता थी।[2]


जन्मदिन-निकट-टक्कर हमला - पहला व्यावहारिक चुना-उपसर्ग हमला

24 अप्रैल 2019 को यूरोक्रिप्ट 2019 में गाएटन ल्यूरेंट और थॉमस पाइरिन द्वारा प्रस्तुत एक पेपर ने पहले के सर्वश्रेष्ठ टक्कर हमले में वृद्धि का वर्णन किया#चुना-उपसर्ग टक्कर हमला|मर्कले-डैमगार्ड निर्माण में चुना-उपसर्ग हमला|मर्कल-डैमगार्ड-जैसे डाइजेस्ट फ़ंक्शन आधारित ऑन वन-वे कंप्रेशन फंक्शन#डेविस-मेयर|डेविस-मेयर ब्लॉक सिफर। इन सुधारों के साथ, यह विधि लगभग 2 में चयनित-उपसर्ग टक्करों को खोजने में सक्षम है68 SHA-1 मूल्यांकन। यह पिछले हमले के 2 की तुलना में लगभग 1 बिलियन गुना तेज है (और अब कई लक्षित हमलों के लिए प्रयोग करने योग्य है, उदाहरण के लिए दुर्भावनापूर्ण कोड या हस्ताक्षरित प्रमाणपत्रों में नकली पहचान चुनने की संभावना के लिए धन्यवाद)।77.1 मूल्यांकन (लेकिन चुने हुए उपसर्ग के बिना, जो अधिकांश लक्षित हमलों के लिए अव्यावहारिक था क्योंकि पाए गए टकराव लगभग यादृच्छिक थे)[54] और संसाधन संपन्न हमलावरों के लिए व्यावहारिक होने के लिए पर्याप्त तेज़ है, जिसके लिए लगभग $100,000 क्लाउड प्रोसेसिंग की आवश्यकता होती है। यह विधि MD5 फ़ंक्शन में चयनित-उपसर्ग टक्करों को खोजने में भी सक्षम है, लेकिन 2 की जटिलता पर46.3 सैद्धांतिक स्तर पर पहले उपलब्ध सर्वोत्तम पद्धति से आगे नहीं बढ़ता (239), हालांकि संभावित रूप से व्यावहारिक स्तर पर (≤249)।[55][56] इस हमले के लिए 500+ जीबी की स्मृति आवश्यकता है।

5 जनवरी 2020 को लेखकों ने एक बेहतर हमला प्रकाशित किया।[8]इस पत्र में वे 2 की जटिलता के साथ एक चुने हुए-उपसर्ग टक्कर हमले का प्रदर्शन करते हैं63.4, कि प्रकाशन के समय प्रति उत्पन्न टक्कर के लिए 45k USD खर्च होंगे।

आधिकारिक सत्यापन

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

As of December 2013, SHA-1 के 2000 से अधिक मान्य कार्यान्वयन हैं, जिनमें से 14 बिट्स में लंबाई वाले संदेशों को संभालने में सक्षम हैं जो आठ से अधिक नहीं हैं (देखें /shs/shaval.htm SHS सत्यापन सूची Archived 2011-08-23 at the Wayback Machine).

उदाहरण और स्यूडोकोड

उदाहरण हैश

ये हेक्साडेसिमल में SHA-1 संदेश डाइजेस्ट के उदाहरण हैं और ASCII टेक्स्ट एन्कोडिंग के लिए बेस 64 बाइनरी में हैं।

  • SHA1("The quick brown fox jumps over the lazy dog")
    • आउटपुट हेक्साडेसिमल: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
    • ASCII पाठ एन्कोडिंग के लिए आउटपुट बेस 64 बाइनरी: L9ThxnotKPzthJ7hu3bnORuT6xI=

यहां तक ​​कि संदेश में एक छोटा सा परिवर्तन, अत्यधिक संभावना के साथ, हिमस्खलन प्रभाव के कारण कई बिट बदल जाएगा। उदाहरण के लिए, बदल रहा है dog को cog 160 बिट्स में से 81 के लिए विभिन्न मानों के साथ एक हैश उत्पन्न करता है:

  • SHA1("The quick brown fox jumps over the lazy cog")
    • आउटपुट हेक्साडेसिमल: de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3
    • ASCII पाठ एन्कोडिंग के लिए आउटपुट बेस 64 बाइनरी: 3p8sf9JeGzr60+haC9F9mxANtLM=

शून्य-लंबाई वाली स्ट्रिंग का हैश है:

  • SHA1("")
    • आउटपुट हेक्साडेसिमल: da39a3ee5e6b4b0d3255bfef95601890afd80709
    • ASCII पाठ एन्कोडिंग के लिए आउटपुट बेस 64 बाइनरी: 2jmj7l5rSw0yVb/vlWAYkK/YBwk=


SHA-1 स्यूडोकोड

SHA-1 एल्गोरिथम के लिए स्यूडोकोड इस प्रकार है:

<अवधि शैली = रंग: हरा; > नोट 1: सभी चर अहस्ताक्षरित 32-बिट मात्राएँ हैं और मॉड्यूल 2 को लपेटते हैं32 गणना करते समय,  को छोड़कर
        <अवधि शैली = रंग: हरा; >ml, संदेश की लंबाई, जो कि 64-बिट मात्रा है, और
        <अवधि शैली = रंग: हरा; >hh, संदेश डाइजेस्ट, जो एक 160-बिट मात्रा है।
<अवधि शैली = रंग: हरा; >नोट 2: इस स्यूडो कोड में सभी स्थिरांक endianness में हैं।
        <अवधि शैली = रंग: हरा; > प्रत्येक शब्द के भीतर, सबसे महत्वपूर्ण बाइट को सबसे बाईं बाइट स्थिति में संग्रहीत किया जाता है

<अवधि शैली = रंग: हरा; > वेरिएबल्स को इनिशियलाइज़ करें:

एच0 = 0x67452301
एच1 = 0xEFCDAB89
h2 = 0x98BADCFE
एच3 = 0x10325476
एच4 = 0xC3D2E1F0

एमएल = बिट्स में संदेश की लंबाई (हमेशा एक चरित्र में बिट्स की संख्या का गुणक)।

<अवधि शैली = रंग: हरा; >प्री-प्रोसेसिंग:
संदेश में बिट '1' जोड़ें उदा। 0x80 जोड़कर यदि संदेश की लंबाई 8 बिट्स की एक बहु है।
0 ≤ k < 512 बिट्स '0' संलग्न करें, जैसे बिट्स में परिणामी संदेश लंबाई
   −64 ≡ 448 (मॉड 512) के लिए मॉड्यूलर अंकगणितीय है
64-बिट एंडियननेस | बिग-एंडियन पूर्णांक के रूप में एमएल, बिट्स में मूल संदेश लंबाई संलग्न करें।
   इस प्रकार, कुल लंबाई 512 बिट्स की एक बहु है।

<अवधि शैली = रंग: हरा; >संदेश को क्रमिक 512-बिट विखंडू में संसाधित करें:
संदेश को 512-बिट विखंडू में तोड़ें
'के लिए' प्रत्येक हिस्सा
    चंक को सोलह 32-बिट बिग-एंडियन शब्दों में तोड़ें w[i], 0 ≤ i ≤ 15

    <अवधि शैली = रंग: हरा; >संदेश अनुसूची: सोलह 32-बिट शब्दों को अस्सी 32-बिट शब्दों में विस्तारित करें:
    16 से 79 तक 'मैं' के लिए
        <अवधि शैली = रंग: हरा; > नोट 3: SHA-0 इस लेफ्टरोटेट न होने से अलग है।
        w[i] = (w[i-3] 'xor' w[i-8] 'xor' w[i-14] 'xor' w[i-16]) 'वर्तुल पारी' 1

    <अवधि शैली = रंग: हरा; > इस खंड के लिए हैश मान प्रारंभ करें:
    ए = एच 0
    बी = एच 1
    सी = एच 2
    डी = एच 3
    ई = एच 4

    <अवधि शैली = रंग: हरा; > मेन लूप:[3][57]

मैं 0 से 79 के लिए

        अगर 0 ≤ i ≤ 19 तब
            f = (बी और सी) xor ((बी नहीं) और डी)
            के = 0x5A827999
        वरना अगर 20 ≤ i ≤ 39
            एफ = बी एक्सओआर सी एक्सओआर डी
            के = 0x6ED9EBA1
        वरना अगर 40 ≤ i ≤ 59
            एफ = (बी और सी) एक्सोर (बी और डी) एक्सोर (सी और डी)
            के = 0x8F1BBCDC
        वरना अगर 60 ≤ i ≤ 79
            एफ = बी एक्सओआर सी एक्सओआर डी
            के = 0xCA62C1D6

        temp = (एक बायीं तरफ 5) + f + e + k + w[i]
        ई = डी
        डी = सी
        सी = बी लेफ्टरोटेट 30
        बी = ए
        ए = अस्थायी

    <अवधि शैली = रंग: हरा; >इस चंक के हैश को अब तक के परिणाम में जोड़ें:
    एच0 = एच0 + ए
    एच1 = एच1 + बी
    एच2 = एच2 + सी
    एच3 = एच3 + डी
    एच4 = एच4 + ई

<अवधि शैली = रंग: हरा; >160-बिट संख्या के रूप में अंतिम हैश मान (बिग-एंडियन) उत्पन्न करें:
hh = (h0 लेफ्टशिफ्ट 128) या (h1 लेफ्टशिफ्ट 96) या (h2 लेफ्टशिफ्ट 64) या (h3 लेफ्टशिफ्ट 32) या h4

जो नंबर hh संदेश डाइजेस्ट है, जिसे हेक्साडेसिमल (बेस 16) में लिखा जा सकता है।

एल्गोरिथम में उपयोग किए जाने वाले चुने हुए स्थिर मानों को मेरी आस्तीन संख्या से कुछ भी नहीं माना गया था:

  • चार गोल स्थिरांक k 2 हैं2, 3, 5 और 10 के वर्गमूल का 30 गुना। हालांकि, उन्हें शून्य और एक बिट के समतुल्य अनुपात के साथ, निकटतम विषम पूर्णांक पर गोल किए जाने के बजाय गलत तरीके से निकटतम पूर्णांक पर गोल कर दिया गया था। साथ ही, 10 के वर्गमूल को चुनना (जो कि अभाज्य नहीं है) ने इसे अभाज्य संख्या 2 और 5 के दो अन्य चुने हुए वर्गमूलों के लिए एक सामान्य कारक बना दिया, जिसमें क्रमिक दौरों में संभावित रूप से प्रयोग करने योग्य अंकगणितीय गुण होते हैं, जिसके विरुद्ध एल्गोरिथम की ताकत कम हो जाती है। कुछ बिट्स पर टक्कर ढूँढना।
  • के लिए पहले चार शुरुआती मान h0 द्वारा h3 MD5 एल्गोरिथम के साथ समान हैं, और पांचवां (for h4) समान है। हालांकि मल्टीब्लॉक डिफरेंशियल हमलों द्वारा उपयोग किए जाने वाले कुछ बिट्स पर संभावित टक्करों का अनुमान लगाने के लिए कुछ पहले राउंड के व्युत्क्रम के खिलाफ प्रतिरोधी होने के लिए उन्हें ठीक से सत्यापित नहीं किया गया था।

दिखाए गए मूल FIPS PUB 180-1 से फॉर्मूलेशन के बजाय, गणना करने के लिए निम्नलिखित समकक्ष अभिव्यक्तियों का उपयोग किया जा सकता है f ऊपर मुख्य पाश में:

<अवधि शैली = रंग: हरा; >सी और डी के बीच बिटवाइज़ चुनाव, बी द्वारा नियंत्रित।
(0 ≤ i ≤ 19): f = d 'xor' (b 'और' (c 'xor' d)) <अवधि शैली = रंग: हरा; >(वैकल्पिक 1)
(0 ≤ i ≤ 19): f = (b 'और' c) 'या' (('नहीं' b) 'और' d) <अवधि शैली = रंग: हरा; >(वैकल्पिक 2)
(0 ≤ i ≤ 19): f = (b 'और' c) 'xor' (('नहीं' b) 'और' d) <अवधि शैली = रंग: हरा; >(वैकल्पिक 3)
(0 ≤ i ≤ 19): f = vec_sel(d, c, b) <अवधि शैली = रंग: हरा; >(वैकल्पिक 4)
[प्रेमो08]
<अवधि शैली = रंग: हरा; > बिटवाइज मेजॉरिटी फंक्शन।
(40 ≤ आई ≤ 59): एफ = (बी 'और' सी) 'या' (डी 'और' (बी 'या' सी)) <अवधि शैली = रंग: हरा; >(वैकल्पिक 1)
(40 ≤ i ≤ 59): f = (b 'और' c) 'या' (d 'और' (b 'xor' c)) <अवधि शैली = रंग: हरा; >(वैकल्पिक 2)
(40 ≤ i ≤ 59): f = (b 'और' c) 'xor' (d 'और' (b 'xor' c)) <अवधि शैली = रंग: हरा; >(वैकल्पिक 3)
(40 ≤ i ≤ 59): f = (b 'और' c) 'xor' (b 'और' d) 'xor' (c 'और' d) <अवधि शैली = रंग: हरा; >(वैकल्पिक 4)
(40 ≤ i ≤ 59): f = vec_sel(c, b, c 'xor' d) <अवधि शैली = रंग: हरा; >(वैकल्पिक 5)

इसे भी दिखाया गया[58] 32-79 के दौर के लिए इसकी गणना:

w[i] = (w[i-3] xor w[i-8] xor w[i-14] xor w[i-16]) सर्कुलर शिफ्ट 1

इसके साथ बदला जा सकता है:

w[i] = (w[i-6] xor w[i-16] xor w[i-28] xor w[i-32]) सर्कुलर शिफ्ट 2

यह परिवर्तन सभी ऑपरेंड को 64-बिट संरेखित रखता है और, की निर्भरता को हटाकर w[i] पर w[i-3], x86 स्ट्रीमिंग SIMD एक्सटेंशन निर्देशों की तरह 4 की वेक्टर लंबाई के साथ कुशल SIMD कार्यान्वयन की अनुमति देता है।

SHA कार्यों की तुलना

नीचे दी गई तालिका में, आंतरिक स्थिति का अर्थ डेटा ब्लॉक के प्रत्येक संपीड़न के बाद आंतरिक हैश योग है।

Comparison of SHA functions
Algorithm and variant Output size
(bits)
Internal
state size
(bits)
Block size
(bits)
Rounds Operations Security against collision attacks
(bits)
Security against length extension attacks
(bits)
Performance on Skylake (median cpb)[59] First published
Long messages 8 bytes
MD5 (as reference) 128 128
(4 × 32)
512 64 And, Xor, Or, Rot, Add (mod 232) ≤ 18
(collisions found)[60]
0 4.99 55.00 1992
SHA-0 160 160
(5 × 32)
512 80 And, Xor, Or, Rot, Add (mod 232) < 34
(collisions found)
0 ≈ SHA-1 ≈ SHA-1 1993
SHA-1 < 63
(collisions found)[61]
3.47 52.00 1995
SHA-2 SHA-224
SHA-256
224
256
256
(8 × 32)
512 64 And, Xor, Or,
Rot, Shr, Add (mod 232)
112
128
32
0
7.62
7.63
84.50
85.25
2004
2001
SHA-384 384 512
(8 × 64)
1024 80 And, Xor, Or,
Rot, Shr, Add (mod 264)
192 128 (≤ 384) 5.12 135.75 2001
SHA-512 512 256 0[62] 5.06 135.50 2001
SHA-512/224
SHA-512/256
224
256
112
128
288
256
≈ SHA-384 ≈ SHA-384 2012
SHA-3 SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600
(5 × 5 × 64)
1152
1088
832
576
24[63] And, Xor, Rot, Not 112
128
192
256
448
512
768
1024
8.12
8.59
11.06
15.88
154.25
155.50
164.00
164.00
2015
SHAKE128
SHAKE256
d (arbitrary)
d (arbitrary)
1344
1088
min(d/2, 128)
min(d/2, 256)
256
512
7.08
8.59
155.25
155.50


कार्यान्वयन

नीचे क्रिप्टो++ग्राफ़ी लाइब्रेरी की सूची दी गई है जो SHA-1 का समर्थन करती है:

हार्डवेयर त्वरण निम्नलिखित प्रोसेसर एक्सटेंशन द्वारा प्रदान किया जाता है:

  • Intel SHA एक्सटेंशन: कुछ Intel और AMD x86 प्रोसेसर पर उपलब्ध है।
  • पैडलॉक के माध्यम से
  • IBM z/आर्किटेक्चर: संदेश-सुरक्षा-सहायता एक्सटेंशन के भाग के रूप में 2003 से उपलब्ध[64]


यह भी देखें

टिप्पणियाँ

  1. Stevens, Marc (June 19, 2012). Attacks on Hash Functions and Applications (PDF) (Thesis). Leiden University. hdl:1887/19093. ISBN 9789461913173. OCLC 795702954.
  2. 2.0 2.1 2.2 Stevens, Marc; Bursztein, Elie; Karpman, Pierre; Albertini, Ange; Markov, Yarik (2017). Katz, Jonathan; Shacham, Hovav (eds.). The First Collision for Full SHA-1 (PDF). Advances in Cryptology – CRYPTO 2017. Lecture Notes in Computer Science. Vol. 10401. Springer. pp. 570–596. doi:10.1007/978-3-319-63688-7_19. ISBN 9783319636870. Archived from the original (PDF) on May 15, 2018. Retrieved February 23, 2017.
    • Marc Stevens; Elie Bursztein; Pierre Karpman; Ange Albertini; Yarik Markov; Alex Petit Bianco; Clement Baisse (February 23, 2017). "Announcing the first SHA1 collision". Google Security Blog.
  3. 3.0 3.1 "Archived copy" (PDF). Archived from the original (PDF) on 2020-01-07. Retrieved 2019-09-23.{{cite web}}: CS1 maint: archived copy as title (link)
  4. 4.0 4.1 "The end of SHA-1 on the Public Web". Mozilla Security Blog. Retrieved 2019-05-29.
  5. 5.0 5.1 5.2 "SHA-1 Broken - Schneier on Security". www.schneier.com.
  6. 6.0 6.1 "Critical flaw demonstrated in common digital security algorithm". Nanyang Technological University, Singapore. 24 January 2020.
  7. 7.0 7.1 "New Cryptanalytic Results Against SHA-1 - Schneier on Security". www.schneier.com.
  8. 8.0 8.1 8.2 Gaëtan Leurent; Thomas Peyrin (2020-01-05). "SHA-1 is a Shambles First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust" (PDF). Cryptology ePrint Archive, Report 2020/014.
  9. 9.0 9.1 "Google will drop SHA-1 encryption from Chrome by January 1, 2017". VentureBeat. 2015-12-18. Retrieved 2019-05-29.
  10. 10.0 10.1 10.2 10.3 10.4 Stevens1, Marc; Karpman, Pierre; Peyrin, Thomas. "The SHAppening: freestart collisions for SHA-1". Retrieved 2015-10-09.
  11. Schneier, Bruce (February 18, 2005). "Schneier on Security: Cryptanalysis of SHA-1".
  12. "NIST.gov – Computer Security Division – Computer Security Resource Center". Archived from the original on 2011-06-25. Retrieved 2019-01-05.
  13. Schneier, Bruce (8 October 2015). "SHA-1 Freestart Collision". Schneier on Security.
  14. "NIST Retires SHA-1 Cryptographic Algorithm". NIST. 2022-12-15.
  15. Goodin, Dan (2016-05-04). "Microsoft to retire support for SHA1 certificates in the next 4 months". Ars Technica. Retrieved 2019-05-29.
  16. "CWI, Google announce first collision for Industry Security Standard SHA-1". Retrieved 2017-02-23.
  17. Barker, Elaine (May 2020). "Recommendation for Key Management: Part 1 – General, Table 3". NIST, Technical Report: 56. doi:10.6028/NIST.SP.800-57pt1r5.
  18. "RSA FAQ on Capstone".
  19. Selvarani, R.; Aswatha, Kumar; T V Suresh, Kumar (2012). Proceedings of International Conference on Advances in Computing. Springer Science & Business Media. p. 551. ISBN 978-81-322-0740-5.
  20. Secure Hash Standard, Federal Information Processing Standards Publication FIPS PUB 180, National Institute of Standards and Technology, 11 May 1993
  21. Kramer, Samuel (11 July 1994). "Proposed Revision of Federal Information Processing Standard (FIPS) 180, Secure Hash Standard". Federal Register.
  22. fgrieu. "Where can I find a description of the SHA-0 hash algorithm?". Cryptography Stack Exchange.
  23. National Institute on Standards and Technology Computer Security Resource Center, NIST's March 2006 Policy on Hash Functions Archived 2014-01-02 at the Wayback Machine, accessed September 28, 2012.
  24. National Institute on Standards and Technology Computer Security Resource Center, NIST's Policy on Hash Functions Archived 2011-06-09 at the Wayback Machine, accessed September 28, 2012.
  25. "Tech Talk: Linus Torvalds on git". YouTube. Retrieved November 13, 2013.
  26. Torvalds, Linus. "Re: Starting to think about sha-256?". marc.info. Retrieved 30 May 2016.
  27. Sotirov, Alexander; Stevens, Marc; Appelbaum, Jacob; Lenstra, Arjen; Molnar, David; Osvik, Dag Arne; de Weger, Benne (December 30, 2008). "MD5 considered harmful today: Creating a rogue CA certificate". Retrieved March 29, 2009.
  28. "Strengths of Keccak – Design and security". The Keccak sponge function family. Keccak team. Retrieved 20 September 2015. Unlike SHA-1 and SHA-2, Keccak does not have the length-extension weakness, hence does not need the HMAC nested construction. Instead, MAC computation can be performed by simply prepending the message with the key.
  29. Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno, Cryptography Engineering, John Wiley & Sons, 2010. ISBN 978-0-470-47424-2
  30. Chabaud, Florent; Joux, Antoine (October 3, 1998). "Differential collisions in SHA-0". In Krawczyk, Hugo (ed.). Advances in Cryptology — CRYPTO '98. Lecture Notes in Computer Science. Vol. 1462. Springer. pp. 56–71. doi:10.1007/BFb0055720. ISBN 978-3-540-64892-5 – via Springer Link.
  31. Biham, Eli; Chen, Rafi. "Near-Collisions of SHA-0" (PDF).
  32. "Report from Crypto 2004". Archived from the original on 2004-08-21. Retrieved 2004-08-23.
  33. Grieu, Francois (18 August 2004). "Re: Any advance news from the crypto rump session?". Newsgroupsci.crypt. Event occurs at 05:06:02 +0200. Usenet: fgrieu-05A994.05060218082004@individual.net.
  34. Efficient Collision Search Attacks on SHA-0 Archived 2005-09-10 at the Wayback Machine, Shandong University
  35. Manuel, Stéphane; Peyrin, Thomas (2008-02-11). Collisions on SHA-0 in One Hour (PDF). Fast Software Encryption 2008. Lecture Notes in Computer Science. Vol. 5086. pp. 16–35. doi:10.1007/978-3-540-71039-4_2. ISBN 978-3-540-71038-7.
  36. "NIST Brief Comments on Recent Cryptanalytic Attacks on Secure Hashing Functions and the Continued Security Provided by SHA-1". 23 August 2017. Retrieved 2022-03-16.
  37. Rijmen, Vincent; Oswald, Elisabeth (2005). "Update on SHA-1". Cryptology ePrint Archive.
  38. Collision Search Attacks on SHA1 Archived 2005-02-19 at the Wayback Machine, Massachusetts Institute of Technology
  39. Lemos, Robert. "Fixing a hole in security". ZDNet.
  40. Cochran, Martin (2007). "Notes on the Wang et al. 263 SHA-1 Differential Path". Cryptology ePrint Archive.
  41. De Cannière, Christophe; Rechberger, Christian (2006-11-15). "Finding SHA-1 Characteristics: General Results and Applications". Advances in Cryptology – ASIACRYPT 2006. Lecture Notes in Computer Science. Vol. 4284. pp. 1–20. doi:10.1007/11935230_1. ISBN 978-3-540-49475-1.
  42. "IAIK Krypto Group — Description of SHA-1 Collision Search Project". Archived from the original on 2013-01-15. Retrieved 2009-06-30.
  43. "Collisions for 72-step and 73-step SHA-1: Improvements in the Method of Characteristics". Retrieved 2010-07-24.
  44. "SHA-1 Collision Search Graz". Archived from the original on 2009-02-25. Retrieved 2009-06-30.
  45. "heise online – IT-News, Nachrichten und Hintergründe". heise online.
  46. "Crypto 2006 Rump Schedule". www.iacr.org.
  47. Manuel, Stéphane. "Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1" (PDF). Cryptology ePrint Archive. Retrieved 2011-05-19.
  48. Manuel, Stéphane (2011). "Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1". Designs, Codes and Cryptography. 59 (1–3): 247–263. doi:10.1007/s10623-010-9458-9. S2CID 47179704. the most efficient disturbance vector is Codeword2 first reported by Jutla and Patthak
  49. "SHA-1 collisions now 2^52" (PDF).
  50. McDonald, Cameron; Hawkes, Philip; Pieprzyk, Josef (2009). "Differential Path for SHA-1 with complexity O(252)". Cryptology ePrint Archive. (withdrawn)
  51. "Cryptanalysis of MD5 & SHA-1" (PDF).
  52. "When Will We See Collisions for SHA-1? - Schneier on Security". www.schneier.com.
  53. "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com.
  54. Marc Stevens (2012-06-19). "Attacks on Hash Functions and Applications" (PDF). PhD Thesis.
  55. Leurent, Gaëtan; Peyrin, Thomas (2019). "From Collisions to Chosen-Prefix Collisions Application to Full SHA-1" (PDF). Advances in Cryptology – EUROCRYPT 2019. Lecture Notes in Computer Science. Vol. 11478. pp. 527–555. doi:10.1007/978-3-030-17659-4_18. ISBN 978-3-030-17658-7. S2CID 153311244.
  56. Gaëtan Leurent; Thomas Peyrin (2019-04-24). "From Collisions to Chosen-Prefix Collisions - Application to Full SHA-1" (PDF). Eurocrypt 2019.
  57. "RFC 3174 - US Secure Hash Algorithm 1 (SHA1) (RFC3174)". www.faqs.org.
  58. Locktyukhin, Max (2010-03-31), "Improving the Performance of the Secure Hash Algorithm (SHA-1)", Intel Software Knowledge Base, retrieved 2010-04-02
  59. "Measurements table". bench.cr.yp.to.
  60. Tao, Xie; Liu, Fanbao; Feng, Dengguo (2013). Fast Collision Attack on MD5 (PDF). Cryptology ePrint Archive (Technical report). IACR.
  61. Stevens, Marc; Bursztein, Elie; Karpman, Pierre; Albertini, Ange; Markov, Yarik. The first collision for full SHA-1 (PDF) (Technical report). Google Research.
    • Marc Stevens; Elie Bursztein; Pierre Karpman; Ange Albertini; Yarik Markov; Alex Petit Bianco; Clement Baisse (February 23, 2017). "Announcing the first SHA1 collision". Google Security Blog.
  62. Without truncation, the full internal state of the hash function is known, regardless of collision resistance. If the output is truncated, the removed part of the state must be searched for and found before the hash function can be resumed, allowing the attack to proceed.
  63. "The Keccak sponge function family". Retrieved 2016-01-27.
  64. IBM z/Architecture Principles of Operation, publication number SA22-7832. See KIMD and KLMD instructions in Chapter 7.


संदर्भ


बाहरी संबंध