1. एक जैसा फ़ाइल नाम और एक जैसी सामग्री अलग बातें हैं
डाउनलोड की गई स्थापना फ़ाइल का नाम और आकार निर्देश वाले पृष्ठ से मेल खाएँ तो लग सकता है कि फ़ाइल सही मिल गई। लेकिन नाम बदला जा सकता है और समान आकार की फ़ाइलों की सामग्री अलग हो सकती है। दूसरी ओर, किसी फ़ोटो को दूसरे नाम से कॉपी करने पर उसके अंदर के बाइट अनिवार्य रूप से नहीं बदलते। ऐसी तुलना में हैश मदद करता है: फ़ाइल की सामग्री पर तय गणना करके उसे छोटे मान के रूप में दिखाया जाता है। सवाल नाम विश्वसनीय दिखने का नहीं, बल्कि प्राप्त बाइट का भरोसेमंद संदर्भ से मिलान होने का है। बैकअप को दूसरे संग्रहण उपकरण पर ले जाते समय भी यही सवाल उपयोगी है।
SHA-256 ऐसा एल्गोरिदम है जो इनपुट से 256 बिट का हैश बनाता है। इसे प्रायः 64 हेक्साडेसिमल अंकों में लिखा जाता है, क्योंकि हर ऐसा अंक 4 बिट दर्शाता है। फ़ाइल बड़ी होने पर परिणाम की लंबाई उसके आकार के अनुपात में नहीं बढ़ती। समान बाइट पर समान एल्गोरिदम लगाने से समान परिणाम मिलता है। फिर भी सीमित लंबाई के मानों में सभी इनपुट समाते हैं, इसलिए अलग इनपुट का समान मान देने वाला टकराव सिद्धांततः मौजूद है। व्यावहारिक तुलना में उपयोगी होना और गणितीय रूप से हर फ़ाइल को अद्वितीय नाम देना अलग बातें हैं। RFC 6234 में SHA-256 सहित हैश की गणना और परीक्षण सामग्री मिलती है।
2. हैश एन्क्रिप्शन या फ़ाइल की छोटी प्रति नहीं है
हैश जान लेने से मूल दस्तावेज़ या फ़ोटो वापस पाने वाला डिक्रिप्शन बटन नहीं मिलता। एन्क्रिप्शन उपयुक्त कुंजी से मूल डेटा वापस पाने के लिए बनाया जाता है, लेकिन क्रिप्टोग्राफ़िक हैश मूल डेटा फिर बनाने का संग्रहण प्रारूप नहीं है। इसका यह अर्थ भी नहीं कि केवल हैश प्रकाशित करने से हर इनपुट गुप्त रहता है। संभावित इनपुट कम हों तो हर एक का हैश निकालकर तुलना की जा सकती है। इसलिए फ़ाइल जाँच के लिए SHA-256 का विवरण, पासवर्ड को सीधे हैश करके रखना पर्याप्त है, ऐसी सलाह नहीं बनना चाहिए। अखंडता जाँचना, गोपनीयता बनाए रखना और पासवर्ड रखना अलग आवश्यकताओं वाले काम हैं।
पूरी फ़ाइल की गणना में केवल स्क्रीन पर दिखने वाले अक्षर नहीं मिलाए जाते। वाक्य समान दिखें, फिर भी पंक्ति अंत, अक्षर एन्कोडिंग या दस्तावेज़ के अंदर के मेटाडेटा से बाइट बदल सकते हैं। संपीड़ित संग्रह से निकली फ़ाइल और मूल संग्रह अलग तुलना वस्तुएँ हैं। अक्षर सामान्यीकृत करने या पंक्ति अंत बदलने के बाद गणना करने पर बदले हुए डेटा का हैश मिलता है। वितरक ने मूल संग्रह का मान दिया हो तो पहले डाउनलोड किए गए संग्रह को ही मिलाएँ। यह पहले के Unicode और UTF-8 लेख में बताए प्रदर्शन और बाइट के अंतर को वास्तविक फ़ाइल जाँच में लागू करने का उदाहरण है।
3. डाउनलोड को उसी एल्गोरिदम और संदर्भ मान से मिलाएँ
जाँच से पहले निर्माता के आधिकारिक वितरण निर्देश में संस्करण, ऑपरेटिंग सिस्टम, फ़ाइल नाम और हैश एल्गोरिदम साथ देखें। दूसरे सिस्टम की स्थापना फ़ाइल या दूसरे संस्करण का मान संदर्भ नहीं हो सकता। PowerShell में Get-FileHash -LiteralPath '.\download.zip' -Algorithm SHA256 स्थानीय फ़ाइल पढ़कर हैश निकालता है। यह दिए गए पथ की सामग्री चलाने का आदेश नहीं है। Microsoft का आधिकारिक दस्तावेज़ बताता है कि मान फ़ाइल की सामग्री से बनता है और केवल नाम बदलने से नहीं बदलता। नाम और पथ वास्तव में मिली फ़ाइल के अनुसार रखें तथा गणना के दौरान फ़ाइल न बदलें।
आउटपुट के Hash क्षेत्र के सभी 64 अंक वितरक के प्रकाशित SHA-256 से मिलाएँ। शुरू या अंत के कुछ अंक मिलना पूरी समानता नहीं है। हेक्साडेसिमल में बड़े और छोटे लैटिन अक्षर समान संख्या बताते हैं, लेकिन कोई अन्य चिह्न आ गया हो या अंक कम हों तो पहले कॉपी किए गए मान को जाँचें। मेल प्राप्त बाइट और विश्वसनीय संदर्भ की संगति का समर्थन करता है। यह दस्तावेज़ के तथ्यों, प्रोग्राम की गुणवत्ता या दुर्भावनापूर्ण व्यवहार की जाँच नहीं है। संदर्भ फ़ाइल में ही समस्या हो तो उसकी हूबहू प्रति का हैश भी समान होगा। गणना सफल होना और फ़ाइल का उपयोग उचित होना अलग निर्णय हैं।
4. मेल न खाना जाँच का संकेत है, हमले का निश्चित प्रमाण नहीं
मान लें कि कल डाउनलोड की गई वितरण फ़ाइल आज के निर्देश के मान से अलग निकलती है। यह समझाने का काल्पनिक उदाहरण है, वास्तविक घटना का रिकॉर्ड नहीं। पहले देखें कि निर्देश उसी संस्करण के हैं, किसी दूसरे उपकरण की फ़ाइल तो नहीं मिली और डाउनलोड पूरा होने से पहले गणना तो नहीं की गई। संभव है कि संग्रह के बजाय निकाली हुई फ़ाइल जाँची गई हो या संपादक ने दस्तावेज़ फिर सेव किया हो। तुलना वस्तु बदलने और संचार या संग्रहण में सामग्री बदलने को अलग रखें। अलग मान अपने आप नहीं बताता कि किसने, कब और क्या बदला।
अलग हैश वाली स्थापना फ़ाइल को जाँचने के लिए तुरंत न चलाएँ। आधिकारिक वितरण निर्देश और संदर्भ फिर जाँचकर नई डाउनलोड की गई फ़ाइल से तुलना करें। अंतर बना रहे तो वितरक की सुधार सूचना या सहायता माध्यम देखें और परिणाम दर्ज करें। रिकॉर्ड में जाँच का समय, स्रोत का पता, फ़ाइल संस्करण, एल्गोरिदम और निकला मान रखें। बार-बार समान परिणाम वर्तमान स्थानीय फ़ाइल को उसी तरीके से पढ़ने का संकेत है, लेकिन प्रकाशित संदर्भ की त्रुटि या वितरण मार्ग की समस्या हल नहीं करता। संदर्भ रिकॉर्ड पर अपेक्षित मान लिख देने से बाद के बदलाव पहचानने का आधार खो जाता है।
5. संदर्भ पर भरोसे का आधार और डिजिटल हस्ताक्षर की भूमिका
हमलावर फ़ाइल और उसके साथ दिए हैश, दोनों बदल सकता हो तो बदली फ़ाइल का हैश निकालकर उसे नया संदर्भ बना सकता है। NIST SP 800-175B कुंजी या हस्ताक्षर के बिना केवल हैश इस्तेमाल करने की यह सीमा समझाता है। आधिकारिक पते के HTTPS पृष्ठ से मान लेना स्रोत और संचार मार्ग की जाँच में मदद करता है, लेकिन वितरण सर्वर पर ही हमलावर का नियंत्रण हो जाने की संभावना मिटाने की गारंटी नहीं है। अहम बात हैश का लंबा दिखना नहीं, बल्कि उसका संदर्भ कहाँ से और किस विश्वास प्रक्रिया से मिला है। एक स्क्रीन से कॉपी किए दो मान मिलना अपने आप निर्माता की पहचान सिद्ध नहीं करता।
डिजिटल हस्ताक्षर भरोसेमंद तरीके से प्राप्त सार्वजनिक कुंजी आदि की मदद से हस्ताक्षर और डेटा का संबंध जाँचने देता है। वितरक हस्ताक्षर जाँच प्रक्रिया देता हो तो कुंजी के मालिक और फ़िंगरप्रिंट की पुष्टि सहित आधिकारिक निर्देश अपनाएँ। अज्ञात स्रोत की फ़ाइल के पास पहली बार दिखी सार्वजनिक कुंजी पर सीधा भरोसा करने से विश्वास का आरंभिक प्रश्न हल नहीं होता। साझा गुप्त कुंजी वाला HMAC भी साधारण हैश से अलग प्रमाणीकरण साधन है, लेकिन हर डाउनलोड में मनमाने ढंग से जोड़कर समस्या हल करने वाली सुविधा नहीं। वैध हस्ताक्षर भी प्रोग्राम में दोष न होने या दस्तावेज़ के सत्य होने का निष्कर्ष नहीं देता। बाइट का मेल, स्रोत की पुष्टि और सामग्री का मूल्यांकन जुड़े हैं, पर हर एक के लिए अलग आधार चाहिए।
6. बैकअप और सहयोग में तुलना का दायरा भी दर्ज करें
व्यक्तिगत फ़ोटो बैकअप में मूल फ़ाइल का SHA-256 रखकर प्रति से मिलाना स्थानांतरण के दौरान बदलाव पहचानने में मदद करता है। संदर्भ सूची भी ऐसी रखें कि मूल फ़ाइलों के साथ मिटे या उस पर नया डेटा न लिखा जाए। फ़ोटो प्रबंधन प्रोग्राम घुमाव की जानकारी या फ़ोटो के मेटाडेटा फिर लिखे तो तस्वीर लगभग समान दिखने पर भी हैश बदल सकता है। इसलिए पहले अलग करें कि उद्देश्य बाइट का हूबहू संरक्षण है या संपादित फ़ोटो के अर्थ का समान रहना। पूरे फ़ोल्डर के लिए एक फ़ाइल का हैश पर्याप्त नहीं; शामिल फ़ाइलों की सूची, सापेक्ष पथ और प्रत्येक मान साथ सँभालना होता है।
सहयोगी दस्तावेज़ समीक्षा में भी हैश जाँचे गए संस्करण को निश्चित करने का चिह्न बन सकता है। लेकिन हैश मिलना इस प्रमाण की जगह नहीं लेता कि किसी ने पूरा पाठ पढ़ा या अनुवाद मिलाया। पहले दर्ज करें कि क्या, कब और किस तरीके से जाँचा गया, फिर रिकॉर्ड को उस फ़ाइल के मान से जोड़ें। लेख का चित्र बाइट तुलना, संदर्भ के स्रोत और जाँच के दायरे का अपना व्याख्यात्मक आरेख है; वास्तविक मापन या प्रमाणपत्र नहीं। फ़ाइल जाँचते समय वस्तु और एल्गोरिदम, संदर्भ का स्रोत और परिणाम से कही जा सकने वाली सीमा क्रम से लिखें। इससे मेल या अंतर को बढ़ा-चढ़ाकर बताए बिना अगला व्यक्ति प्रक्रिया दोहरा सकेगा।