CyvoDocOps
اردو
Dark

دستاویز میں تبدیلی نہ ہونے کا ثبوت کیسے دیں

سب کے دستخط کرنے کے چھ ماہ بعد، ایک تنازعہ سامنے آتا ہے۔ دوسری فریق معاہدے کی اپنی کاپی پیش کرتی ہے، اور شق 7 جو کچھ آپ کو یاد ہے وہ نہیں کہتی۔ دونوں فائلوں کا نام agreement-final.pdf ہے۔ دونوں قابلِ یقین لگتے ہیں۔ ضروری نہیں کہ کوئی جھوٹ بول رہا ہو — فائلز دوبارہ محفوظ ہوتی ہیں، ورژن الجھ جاتے ہیں۔ وقت پر ریکارڈ کیے بغیر، "یہ وہ دستاویز ہے جس پر ہم متفق تھے" صرف دو لوگوں کی یادیں ہوتی ہیں، اور یادیں بحث جیتتی نہیں۔

ہیش کیا ہوتا ہے

کرپٹوگرافک ہیش ڈیٹا کی ایک انگلیوں کے نشان (fingerprint) کی طرح ہے۔ کسی فائل کو ہیش فنکشن میں ڈالیں — SHA-256 ایک سمجھدار جدید ڈیفالٹ ہے — اور یہ ایک مقررہ لمبائی کی قدر واپس کرتا ہے، 64 ہیکساڈیسیمل حروف، چاہے ان پٹ ایک صفحے کا ہو یا دس ہزار کا۔

یہ اسے مفید بنانے والی تین خصوصیات ہیں:

لہٰذا فنگر پرنٹ عوامی طور پر شیئر کرنے کے لیے محفوظ ہے۔ ایک خفیہ معاہدے کا ہیش شائع کرنے سے اس کے مواد کے بارے میں کچھ ظاہر نہیں ہوتا — لیکن یہ معاہدے کو مستحکم کرتا ہے۔

مختصر ورژن: ہیش صرف ایک سوال کا جواب دیتا ہے — "کیا یہ دو فائلیں بائٹ بہ بائٹ یکساں ہیں؟" — اور اس کا حتمی جواب دیتا ہے۔ آپ جو بھی دوسرا سوال پوچھنا چاہیں گے، وہ اسے نہیں بتاتا۔

ہیش (hash) کیا کام کرتا ہے نہ ثابت کرنا

یہاں خیال کو زیادہ فروخت کیا جاتا ہے، اس لیے درست ہونا ضروری ہے۔ ایک میچنگ ہیش آپ کو بتاتا ہے کہ فائل میں کوئی تبدیلی نہیں آئی۔ یہ نہیں بتاتا:

ہیشز آپ کو صحت (integrity), نہ کہ حقیقت (authenticity) دیتے ہیں۔ ان دونوں کو ملا دینا اس شعبے میں سب سے عام غلطی ہے۔

وہ حصہ جو ہر کوئی غلط سمجھتا ہے

ایک ہیش جو ابھی کمپیوٹ کیا جاتا ہے، وہ ماضی کے بارے میں کچھ ثابت نہیں کرتا۔ اگر آپ آج کسی فائل کا ہیش کرتے ہیں اور ویلیو آج کی فائل سے ملتی ہے، تو آپ نے کچھ نیا نہیں سیکھا — ظاہر ہے کہ یہ ملتا ہی ہے؛ یہ وہی فائل ہے۔

ایک ہیش صرف اس وقت ثبوت بنتا ہے جب وہ ویلیو تنازعہ پیدا ہونے سے پہلے کہیں قابلِ اعتماد جگہ پر ریکارڈ کی گئی ہو۔ سیکیورٹی ریاضی میں نہیں ہوتی؛ یہ ٹائم لائن میں ہوتی ہے۔ ایک ہیش جو سوال کا جواب دیتا ہے، وہ ہے "کیا یہ اس چیز سے ملتا ہے جو ہم نے پہلے لکھ دی تھی؟" — اور اس کے لیے ضروری ہے کہ کسی نے اسے پہلے لکھا ہو۔

جس کی وجہ سے ورک فلو (workflow) اہم ہو جاتا ہے، نہ کہ الگورتھم۔

ایک ایسا ورک فلو جو واقعی اہمیت کا حامل ہو

  1. فائل کو اس لمحے ہیش کریں جب وہ حتمی بن جائے۔ دستخط کرنے کے فوراً بعد، فائل میں رکھنے سے پہلے۔ Document Hash استعمال کریں۔
  2. ویلیو کو وہاں ریکارڈ کریں جہاں اسے خاموشی سے تبدیل نہ کیا جا سکے۔ اسے اس ای میل میں ڈال دیں جو دستاویز بھیجتی ہے۔ اسے منٹس (minutes) میں پڑھ کر سنائیں۔ یہ کاؤنٹر پارٹی کو بھیجیں تاکہ وہ بھی اسے محفوظ رکھیں۔ مقصد ایک ایسا ریکارڈ ہے جس کی تاریخ صرف آپ کے کنٹرول میں نہ ہو۔
  3. اصل فائل کو محفوظ کریں۔ یہ دوبارہ ایکسپورٹ نہیں ہے۔ نہ ہی یہ کہ "وہی دستاویز" دوبارہ پرنٹ ہو جائے۔ وہ بالکل وہی بائٹس جو آپ نے ہیش کیے تھے۔
  4. بعد میں، دوبارہ کمپیوٹ اور موازنہ کریں۔ اگر ویلیو ایک جیسی ہے: بائٹ کے لحاظ سے یکساں، کوئی بحث نہیں۔ مختلف ویلیو: فائل بدل گئی ہے، حالانکہ ضروری نہیں کہ یہ نقصان دہ ہو۔ — نیچے دیکھیں۔

ڈاکومنٹ ہیش ٹول کھولیں

جب "کچھ نہ بدلا ہو" تو آپ کا ہیش کیوں بدل جاتا ہے

یہ لوگوں کو مسلسل الجھا دیتا ہے، اور یہ ہیش میں کوئی خامی نہیں ہے۔ ایک ہیش بائٹس کو کور کرتا ہے، ظاہری شکل کو نہیں۔ دو PDFs بالکل پکسل کے لحاظ سے یکساں نظر آ سکتی ہیں لیکن ان کا ہیش مختلف ہو سکتا ہے:

تو مطابقت نہ ہونے کا مطلب یہ نہیں ہے کہ «یہ ایک ہی فائل نہیں ہیں»، بلکہ یہ ہے کہ «کسی نے اس میں تبدیلی کی ہے۔» صحیح ردعمل تحقیقات کرنا ہے، الزام لگانا نہیں۔ اور عملی سبق واضح ہے: جس فائل کو آپ نے hash کیا تھا اسے archive کریں، اور کسی کو بھی اسے دوبارہ save نہیں کرنے دیں۔

مقامی ریکارڈ رکھنا

اگر آپ کو باقاعدگی سے یہ ثابت کرنا ہو کہ دستاویزات میں کوئی تبدیلی نہیں آئی، تو ہر ایک کا ہاتھ سے hash بنانا تھکا دینے والا کام ہے۔ Local Signature Record آپ کے اپنے ڈیوائس پر ان دستاویزات کا ریکارڈ رکھتا ہے جنہیں آپ نے hash کیا ہے، تاکہ آپ کو بعد میں چیک کرنے کے لیے ذاتی لاگ مل سکے — بغیر کسی تیسرے فریق کے پاس دستاویزات رجسٹر کیے۔

اس بارے میں واضح رہیں کہ یہ کیا ہے اور کیا نہیں۔ یہ ایک نجی، خود سے برقرار رکھا گیا ریکارڈ ہے: جو آپ کے اپنے اعتماد کے لیے مضبوط ہے، اندرونی عمل کے لیے، یا اتفاقی تبدیلی کو پکڑنے کے لیے۔ یہ آپ کا ریکارڈ ہے — آپ اس کو کنٹرول کرتے ہیں، جو بالکل وہی حد بندی ہے جب وہ شخص جو آپ پر شک کر رہا ہے، میز کے دوسری طرف بیٹھا ہو۔

جب آپ کو hash سے زیادہ کی ضرورت ہو

اگر کسی تیسرے فریق کو قائل کرنا ہو، تو صرف integrity کافی نہیں ہے۔ آپ کو کچھ چاہیے جو دستاویز کو ایک شناخت (identity) اور مثالی طور پر ایک وقت (time) سے باندھے، جس پر نہ کوئی بھی فریق کنٹرول کرے۔

اندرونی ریکارڈز، ذاتی آرکائیوز اور عام "کیا یہ وہ فائل ہے جو میں نے بھیجی تھی؟" جیسے سوالات کے لیے، ایک ہیش جو آپ نے وقت پر ریکارڈ کیا ہو، واقعی کافی ہوتا ہے۔ قانونی کارروائی کے لیے، یہ کافی نہیں ہے، اور کسی کو بھی ایسا مشورہ نہیں دینا چاہیے۔

پرانے الگورتھم پر ایک نوٹ

اگر آپ موجودہ عمل میں MD5 یا SHA-1 کا سامنا کرتے ہیں، تو انہیں سیکیورٹی کے بجائے چیکسمز سمجھیں۔ دونوں میں عملی کولیژن حملے (practical collision attacks) ہو سکتے ہیں: یہ ممکن ہے کہ ایک ہی ویلیو والے دو مختلف فائلیں بنائی جائیں، جو بالکل وہ خاصیت ہے جس پر آپ انحصار کر رہے تھے۔ یہ اتفاقی خرابی کا پتہ لگانے کے لیے ٹھیک ہیں اور کسی بھی مخالف مقصد کے لیے موزوں نہیں ہیں۔ SHA-256 اچھی وجہ سے ڈیفالٹ ہے۔

یہ مقامی طور پر کیوں کمپیوٹ کریں؟

کسی ویب سائٹ کو دستاویز upload کرکے اس کا فنگر پرنٹ جاننا، وہ دستاویز کی ایک کاپی تیسرے فریق کو دے دینا ہے — ایسے حساب کے لیے جو آپ کا اپنا ڈیوائس ایک لمحے میں کر سکتا ہے۔ اگر فائل اتنی اہم ہے کہ اسے محفوظ کرنا ضروری ہے، تو یہ اتنی اہم ہے کہ اسے ہاتھ سے نہیں دیا جا سکتا۔ CyvoDocOps میں، اس طرح کی سپورٹڈ آپریشنز مقامی طور پر آپ کے browser میں چلتی ہیں اور دستاویز کو سرور پر upload نہیں کیا جاتا۔

اکثر پوچھے گئے سوالات

سادہ الفاظ میں فائل ہیش کیا ہے؟

یہ کسی فائل کے مواد سے اخذ کردہ ایک مختصر فنگر پرنٹ ہے۔ ایک ہی فائل، وہی فنگر پرنٹ؛ کچھ بھی تبدیل کریں اور فنگر پرنٹ مکمل طور پر بدل جاتا ہے۔

کیا دو مختلف دستاویزات کا ہیش (hash) ایک جیسا ہو سکتا ہے؟

نظریاتی طور پر ہاں، عملی طور پر SHA-256 کے ساتھ نہیں — کوئی بھی ایسا جوڑا تشکیل نہیں دے سکتا۔ MD5 یا SHA-1 کے ساتھ، ہاں، اور اسی لیے انہیں وہاں استعمال نہیں کرنا چاہیے جہاں اس کی اہمیت ہو۔

کیا ہیش یہ ثابت کرتا ہے کہ دستاویز کس نے لکھی؟

نہیں. یہ ثابت کرتا ہے کہ فائل میں کوئی تبدیلی نہیں آئی۔ شناخت کے لیے ایک ڈیجیٹل سگنیچر کی ضرورت ہوتی ہے، جو ایک ہیش کو کسی معروف شخص یا تنظیم سے تعلق رکھنے والی کلید (key) سے جوڑتا ہے۔

میرا ہیش بدل گیا لیکن دستاویز بالکل ایک جیسی لگ رہی ہے۔ کیا اس کے ساتھ کوئی تبدیلی کی گئی تھی؟

ضرور نہیں۔ دوبارہ محفوظ کرنا، فارم کا فیلڈ بھرنا، یا کسی سسٹم کا منسلکہ (attachment) کو دوبارہ لکھ دینا تمام بائٹس کو بدل دیتا ہے بغیر ظاہری شکل تبدیل کیے۔ اس کا مطلب ہے کہ فائل مختلف ہے — جس کی تحقیق کرنے لائق ہے، نہ کہ بدنیتی کا ثبوت۔

کیا فائل کو ہیش کرنے کے لیے upload کیا جاتا ہے؟

نہیں، ہیش آپریٹنگ (hash) آپ کے browser میں مقامی طور پر کمپیوٹ کیا جاتا ہے اور دستاویز کو کسی سرور پر بھیجا نہیں جاتا۔

متعلقہ گائیڈز اور ٹولز