Git 3.0 में SHA-256 डिफ़ॉल्ट: बड़ी भूल?
मूल शीर्षक: Git 3.0's upcoming SHA-256 default will be a costly mistake
यह क्यों महत्वपूर्ण है
Git दुनिया के करोड़ों developers और हर बड़े software project की नींव है — इस बदलाव का असर पूरे tech उद्योग पर पड़ेगा।
GitButler के सह-संस्थापक Scott Chacon ने चेतावनी दी है कि Git 3.0 में SHA-256 को डिफ़ॉल्ट हैशिंग एल्गोरिदम बनाना वैश्विक स्तर पर अत्यंत महंगा और व्यावहारिक रूप से निरर्थक बदलाव साबित होगा।
Git 2005 से SHA-1 हैश फ़ंक्शन का उपयोग करता आया है। यह एक content-addressable डेटाबेस है जिसमें हर फ़ाइल, commit और tree का hash एक unique key की तरह काम करता है। SHA-1 की 160-bit output इतनी विशाल है कि किसी एक project में accidental collision के लिए लगभग 1.4 septillion यानी 1,400,000,000,000,000 अरब फ़ाइलें चाहिए — जो व्यावहारिक रूप से असंभव है।
समस्या यह है कि 2017 में SHAttered और 2020 में SHA-1 is a Shambles नामक शोधपत्रों ने साबित किया कि SHA-1 में जानबूझकर collision उत्पन्न करना — पर्याप्त GPU और धन लगाकर — सैद्धांतिक रूप से संभव है। इसी के जवाब में Git 3.0 SHA-256 को नया डिफ़ॉल्ट बनाने की योजना बना रहा है।
Chacon का तर्क है कि यह "broken" शब्द भ्रामक है। SHA-1 में accidental collision आज तक Git के इतिहास में अरबों repositories में कभी नहीं हुई। जानबूझकर collision के लिए जो computational cost चाहिए, वह किसी भी practical हमले को लगभग असंभव बनाती है। इसके बावजूद SHA-256 को default बनाने से दुनिया भर के सभी Git tools, hosting platforms, CI/CD pipelines और workflows को बड़े पैमाने पर बदलना पड़ेगा — जो एक विशाल और महंगा undertaking होगा। Chacon की मुख्य आपत्ति यह है कि यह बदलाव लाखों developers और organizations पर भारी बोझ डालेगा, जबकि वास्तविक सुरक्षा लाभ नगण्य है।