CyvoDocOps
हिन्दी
Dark

दस्तावेज़ के न बदलने का प्रमाण कैसे दें

सभी द्वारा हस्ताक्षर करने के छह महीने बाद, एक विवाद सामने आता है। दूसरी पार्टी समझौते की अपनी प्रति प्रस्तुत करती है, और खंड 7 वह नहीं कहता जो आपको याद है कि यह कहता था। दोनों फ़ाइलों को agreement-final.pdf कहा जाता है। दोनों विश्वसनीय दिखते हैं। आप में से कोई भी ज़रूरी नहीं कि झूठ बोल रहा हो — फाइलें फिर से सेव होती हैं, संस्करण गड़बड़ा जाते हैं। समय पर कुछ रिकॉर्ड किए बिना, "यह वह दस्तावेज़ है जिस पर हम सहमत थे" केवल दो लोगों की यादें होती हैं, और यादें बहस नहीं जीततीं।

हैश क्या होता है

क्रिप्टोग्राफ़िक हैश डेटा के लिए एक फ़िंगरप्रिंट होता है। किसी फ़ाइल को हैश फ़ंक्शन में डालें — SHA-256 एक समझदार आधुनिक डिफ़ॉल्ट है — और यह एक निश्चित लंबाई का मान लौटाता है, 64 हेक्साडेसिमल वर्ण, भले ही इनपुट एक पेज का हो या दस हज़ार का।

यह इसे उपयोगी बनाने वाले तीन गुण हैं:

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

संक्षेप में: एक हैश केवल एक प्रश्न का उत्तर देता है — “क्या ये दो फ़ाइलें बाइट-दर-बाइट समान हैं?” — और इसका जवाब निश्चित रूप से देता है। आप जो भी अन्य सवाल पूछना चाहते होंगे, यह उन्हें नहीं बताता।

हैश क्या करता है यह साबित नहीं करता

यहीं पर इस विचार को बढ़ा-चढ़ाकर पेश किया जाता है, इसलिए सटीक होना ज़रूरी है। एक मिलान करने वाला हैश आपको बताता है कि फ़ाइल अपरिवर्तित है। यह नहीं बताता कि:

हैश आपको अखंडता (integrity) देते हैं, न कि प्रामाणिकता (authenticity)। इन दोनों को मिलाना इस क्षेत्र में सबसे आम गलती है।

वह हिस्सा जो हर कोई गलत समझता है

एक हैश की गणना करना अब अतीत के बारे में कुछ भी साबित नहीं करता। यदि आप आज किसी फ़ाइल का हैश करते हैं और मान आज की फ़ाइल से मेल खाता है, तो आपने कुछ नहीं सीखा है — बेशक यह मेल खाएगा; यह वही फ़ाइल है।

एक हैश केवल तभी सबूत बनता है जब वह मान विवाद होने से पहले कहीं विश्वसनीय जगह पर रिकॉर्ड किया गया हो। सुरक्षा गणित में नहीं रहती; यह समयरेखा (timeline) में रहती है। एक हैश क्या जवाब देता है, वह है: "क्या यह उस चीज़ से मेल खाता है जो हमने तब लिखी थी?" — और इसके लिए ज़रूरी है कि किसी ने तब कुछ लिखा हो।

जिससे वर्कफ़्लो (workflow) मायने रखता है, न कि एल्गोरिथम।

एक ऐसा वर्कफ़्लो जो वास्तव में मूल्यवान हो

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

डॉक्यूमेंट हैश टूल खोलें

जब "कुछ नहीं बदला" तो आपका हैश क्यों बदल गया

यह लोगों को लगातार भ्रमित करता रहता है, और यह हैश में कोई गलती नहीं है। एक हैश बाइट्स को कवर करता है, न कि स्वरूपण (appearance) को। दो PDFs दिखने में पिक्सेल-समान हो सकते हैं और फिर भी अलग हैश दे सकते हैं:

तो एक मिसमैच का मतलब है कि "ये फ़ाइलें एक जैसी नहीं हैं", न कि "किसी ने इसमें छेड़छाड़ की है"। सही प्रतिक्रिया जांच करना है, आरोप लगाना नहीं। और व्यावहारिक सबक यह है: जिस फ़ाइल को आपने hash किया था, उसे archive करें, और किसी को भी उसे re-save न करने दें।

स्थानीय रिकॉर्ड रखना

यदि आपको नियमित रूप से यह स्थापित करने की आवश्यकता है कि दस्तावेज़ों में कोई बदलाव नहीं आया है, तो हर एक का हाथ से hash करना थकाऊ हो सकता है। स्थानीय हस्ताक्षर रिकॉर्ड उन दस्तावेज़ों का रिकॉर्ड रखता है जिन्हें आपने अपने स्वयं के डिवाइस पर hash किया है, ताकि आपके पास बाद में जांच करने के लिए एक व्यक्तिगत लॉग रहे — बिना किसी तीसरे पक्ष को दस्तावेज़ पंजीकृत किए।

इस बात को स्पष्ट करें कि यह क्या है और क्या नहीं। यह एक निजी, स्व-रखा गया रिकॉर्ड है: जो आपके अपने विश्वास के लिए, आंतरिक प्रक्रिया के लिए, या आकस्मिक बदलाव पकड़ने के लिए मजबूत है। यह आपका रिकॉर्ड है — आप इसे नियंत्रित करते हैं, जो बिल्कुल वह सीमा है जब संदेह करने वाला व्यक्ति मेज के दूसरी तरफ बैठा होता है।

जब आपको hash से अधिक की आवश्यकता हो

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

आंतरिक रिकॉर्ड, व्यक्तिगत संग्रह और सामान्य 'क्या यह वह फ़ाइल है जो मैंने भेजी थी?' जैसे सवालों के लिए, उस समय दर्ज किया गया एक हैश वास्तव में पर्याप्त होता है। कानूनी कार्यवाही के लिए, यह नहीं है, और किसी को भी ऐसा सुझाव नहीं देना चाहिए।

पुराने एल्गोरिदम पर एक नोट

यदि आप मौजूदा प्रक्रिया में MD5 या SHA-1 का सामना करते हैं, तो उन्हें सुरक्षा के बजाय चेकसम (checksums) मानें। दोनों में व्यावहारिक टकराव हमले (practical collision attacks) होते हैं: यह संभव है कि समान मान वाले दो अलग-अलग फ़ाइल बनाना हो, जो बिल्कुल वह गुण है जिस पर आप भरोसा कर रहे थे। वे आकस्मिक भ्रष्टाचार का पता लगाने के लिए ठीक हैं और किसी भी विरोधी कार्य के लिए उपयुक्त नहीं हैं। SHA-256 अच्छे कारण से डिफ़ॉल्ट है।

इसे स्थानीय रूप से क्यों गणना करें?

किसी दस्तावेज़ को उसकी फ़िंगरप्रिंट जानने के लिए किसी वेबसाइट पर upload करना, उस दस्तावेज़ की एक प्रति तीसरे पक्ष को दे देता है — जबकि आपके अपने डिवाइस द्वारा पल भर में गणना की जा सकती है। यदि फ़ाइल इतनी महत्वपूर्ण है कि उसे पक्का करने लायक है, तो वह इतनी महत्वपूर्ण है कि उसे सौंपने लायक नहीं है। CyvoDocOps में, इस तरह के समर्थित ऑपरेशन स्थानीय रूप से आपके browser में चलते हैं और दस्तावेज़ को सर्वर पर upload नहीं किया जाता है।

अक्सर पूछे जाने वाले प्रश्न

सादे शब्दों में फ़ाइल हैश क्या होता है?

यह किसी फ़ाइल की सामग्री से प्राप्त एक छोटा फिंगरप्रिंट होता है। एक ही फ़ाइल, एक ही फिंगरप्रिंट; कुछ भी बदलें और फिंगरप्रिंट पूरी तरह बदल जाएगा।

क्या दो अलग-अलग दस्तावेज़ों का हैश (hash) समान हो सकता है?

सिद्धांत रूप में हाँ, लेकिन SHA-256 के साथ व्यवहार में नहीं — कोई भी ऐसा जोड़ा बना नहीं सकता। MD5 या SHA-1 के साथ, हाँ, और इसीलिए उन्हें उन जगहों पर इस्तेमाल नहीं किया जाना चाहिए जहाँ यह मायने रखता है।

क्या एक हैश साबित करता है कि दस्तावेज़ किसने लिखा?

नहीं। यह साबित करता है कि फ़ाइल में कोई बदलाव नहीं हुआ है। पहचान के लिए डिजिटल सिग्नेचर की आवश्यकता होती है, जो एक हैश को किसी ज्ञात व्यक्ति या संगठन से संबंधित कुंजी (key) से बांधता है।

मेरा हैश बदल गया लेकिन दस्तावेज़ बिल्कुल वैसा ही दिख रहा है। क्या इसमें छेड़छाड़ हुई थी?

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

क्या हैश बनाने के लिए फ़ाइल upload की जाती है?

नहीं। हैश आपके browser में स्थानीय रूप से (locally) कंप्यूट किया जाता है और दस्तावेज़ को किसी सर्वर पर नहीं भेजा जाता है।

संबंधित गाइड और टूल्स