ہیشنگ کیا ہے؟
امواد کا جدول
ہیش فنکشن کس طرح کام کرتا ہے؟
یہ کس وجہ سے اہم ہیں؟
کرپٹوگرافک ہیش فنکشنز
مائننگ
اختتامی خیالات
ہیشنگ کیا ہے؟
ہوم
آرٹیکلز
ہیشنگ کیا ہے؟

ہیشنگ کیا ہے؟

درمیانہ
شائع کردہ Jul 29, 2019اپڈیٹ کردہ Nov 18, 2022
7m

ہیشنگ ایک ایسے عمل کو کہتے ہیں، جس میں مختلف سائز کے حامل ان پٹ سے مخصوص سائز کے حامل آؤٹ پٹ تیار کیے جاتے ہیں۔ ایسا انجام دینے کے لیے ہیش فنکشنز (ہیشنگ الگورتھمز کے طور پر نافذ کیے گئے) کے نام سے موسوم، ریاضایاتی فارمولاز استعمال کیے جاتے ہیں۔ 

بلاشبہ تمام ہیش فنکشنز میں کرپٹو گرافی کا استعمال شامل نہیں ہوتا، یہ نام نہاد کرپٹو گرافک ہیش فنکشنز، کرپٹو کرنسیز کی بنیاد ہیں۔ بلاک چینز اور دیگر منقسم سسٹمز، ان کے باعث ڈیٹا کی سالمیت اور سیکورٹی کی اہم سطحیں حاصل کرنے کے اہل ہوتے ہیں۔

دونوں، روایتی اور کرپٹو گرافک ہیش فنکشنز فیصلہ کن ہوتے ہیں۔ فیصلہ کن ہونے سے یہ مراد ہے کہ جب تک ان پٹ تبدیل نہیں ہو گا، تب تک ہیشنگ الگورتھم وہی آؤٹ پٹ تیار کرے گا (اسے ڈائجسٹ یا ہیش بھی کہتے ہیں)۔

عمومی طور پر، کرپٹو کرنسیز کے ہیشنگ الگورتھمز کو یک طرفہ فنکشنز کے طور پر تیار کیا جاتا ہے، اس سے مراد ہے کہ انہیں کمپیوٹنگ کے بڑے اوقات اور ذرائع کے بناء باآسانی واپس نہیں کیا جا سکتا۔ دوسرے لفظوں میں، ان پٹ کی مدد سے آؤٹ پٹ تیار کرنا نہایت آسان ہے، لیکن اس کے برعکس انجام دینا خاصا مشکل ہے (آؤٹ پٹ سے ان پٹ تیار کرنا)۔ عمومی طور پر ان پٹ کو تلاش کرنا جتنا زیادہ مشکل ہے، ہیشنگ کے الگورتھم کو اتنا ہی زیادہ محفوظ سمجھا جائے گا۔


ہیش فنکشن کس طرح کام کرتا ہے؟

مختلف ہیش فنکشنز کی جانب سے مختلف سائزوں کے حامل آؤٹ پٹس تیار کئے جائیں گے، لیکن ہر ہیشنگ الگورتھم کے آؤٹ پٹ کے ممکنہ سائز ہمیشہ ایک جیسے رہیں گے۔ مثلاً، SHA-256 الگورتھم صرف 256 bits کے آؤٹ پٹس تیار کر سکتے ہیں، جب کہ SHA-1 ہمیشہ 160-bits پر مشتمل ڈائجسٹ تیار کرے گا۔

وضاحت دینے کے لیے، آئیے "Binance" اور "binance" کے الفاظ کو SHA-256 ہیشنگ الگورتھم (جو Bitcoin میں استعمال کیا جاتا ہے) کے ذریعے چلاتے ہیں۔

SHA-256

اندراج

آؤٹ پٹ (256 bits)

Binance

f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191

binance

59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2


یہ امر نوٹ کریں کہ، ایک ذرا سے تبدیلی (پہلے حرف کا انداز) کرنے سے ہیش کی مکمل طور پر مختلف قدر سامنے آئی ہے۔ لیکن جیسا کہ ہم SHA-256 کا استعمال کر رہے ہیں، اس لیے ان پٹ سائز سے قطع نظر، 256-bits (یا 64 حروف) پر مشتمل آؤٹ پٹس کا ہمیشہ مخصوص سائز تشکیل ہو گا۔ اس بات سے قطع نظر کہ ہم دو الفاظ کو کتنی بار الگورتھم کے ذریعے چلاتے ہیں، دونوں آؤٹ پٹ ایک جیسے رہیں گے۔

اس کے برعکس، ہماری جانب سے ایک جیسے ان پٹس کو SHA-1 پر مشتمل ہیشنگ الگورتھم کے ذریعے چلانے پر، ہمیں درج ذیل نتائج ملیں گے:

SHA-1

اندراج

آؤٹ پٹ (160 bits)

Binance

7f0dc9146570c608ac9d6e0d11f8d409a1ee6ed1

binance

e58605c14a76ff98679322cca0eae7b3c4e08936


بالخصوص، SHA کے مخفف سے مراد محفوظ ہیش الگورتھمز ہے۔ اس سے مراد ایسے کرپٹوگرافک ہیش فنکشن ہوتے ہیں، جن میں SHA-2 اور SHA-3 گروپس کے ہمراہ SHA-0 اور SHA-1 الگورتھمز شامل ہوتے ہیں۔ SHA-256 دیگر اقسام اور SHA-512 کے ہمراہ، SHA-2 گروہ کا حصہ ہے۔ فی الوقت، صرف SHA-2 اور SHA-3 گروپس محفوظ سمجھے جاتے ہیں۔


یہ کس وجہ سے اہم ہیں؟

ہیش کے روایتی فنکشنز کے استعمال کی متعدد صورتیں ہیں، جس میں ڈیٹا بیس کی تلاش، بڑی فائلز کے تجزیات، اور ڈیٹا کی نظم کاری شامل ہیں۔ دوسری جانب، کرپٹوگرافک ہیش فنکشنز کو معلومات کا تحفظ کرنے والی ایپلیکیشنز، جیسا کہ پیغام کی منظوری اور ڈیجیٹل فنگر پرنٹنگ میں وسیع اعتبار سے استعمال میں لایا جاتا ہے۔ Bitcoin کی بات آنے پر، کرپٹوگرافک ہیش فنکشنز مائننگ کے عمل کا ایک اہم حصہ ہیں اور نئے ایڈریسز اور کلیدیں تیار کرنے میں اپنا کردار ادا کرتے ہیں۔

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

ہیشنگ، بالخصوص بلاک چین ٹیکنالوجی کے زمرے میں کارآمد ہوتی ہے۔ Bitcoin بلاک چین کے ایسے متعدد آپریشنز موجود ہیں، جن میں زیادہ تر مائننگ کے عمل کے دوران ہیشنگ کا استعمال کرتے ہیں۔ درحقیقت، ٹرانزیکشنز کے گروپس کو بلاکس میں جمع اور لنک کرنے کے لیے، اور ہر بلاک کے مابین موثر انداز میں بلاک چین تخلیق کرتے ہوئے کرپٹوگرافک لنک تشکیل کرنے کے لیے بھی، کرپٹو کرنسی کے تقریباً تمام پروٹوکولز ہیشنگ کے عمل پر اعتماد کرتے ہیں۔


کرپٹوگرافک ہیش فنکشنز

پھر سے، کرپٹوگرافک تکنیک کا استعمال کرنے والے کسی بھی ہیش فنکشن کو بطور کرپٹوگرافک ہیش فنکشن متعارف کروایا جا سکتا ہے۔ عمومی طور پر، کرپٹوگرافک ہیش فنکشن بریک کرنے کے عمل میں بروٹ فورس کی متعدد کوششیں درکار ہوتی ہیں۔ کرپٹوگرافک ہیش فنکشن کو "واپس" کرنے والے کسی بھی فرد کے لیے، ان کی جانب سے متعلقہ آؤٹ پٹ تیار نہ ہونے تک، تجربے اور غلطی کے ذریعے ان پٹ کا پتہ لگاتے رہنا درکار ہو گا۔ تاہم، یہ امکان بھی موجود رہتا ہے کہ مختلف ان پٹس مل کر ایک جیسا آؤٹ پٹ تیار کریں گے، جسے "تصادم" ہونا کیا جا سکتا ہے۔

تکنیکی اعتبار سے، کرپٹوگرافک ہیش فنکشن کے موثر انداز میں محفوظ سمجھے جانے کے لیے تین خصوصیات پر عمل کرنا درکار ہوتا ہے۔ ہماری جانب سے انہیں تصادم سے مزاحمت، پری امیج مزاحمت، اور ثانوی پری امیج مزاحمت کے طور پر بیان کیا جا سکتا ہے۔

آئیے ہر خصوصیت پر مباحثہ کرنے سے قبل، ان کی منطق کو تین مختصر جملوں میں بیان کرتے ہیں۔

  • تصادم سے مزاحمت: ایک ہی جیسے ہیش کو بطور آؤٹ پٹ تیار کرنے والے کوئی بھی دو نمایاں ان پٹس تلاش کرنا ناممکن ہوتا ہے۔

  • پری امیج مزاحمت: ہیش فنکشن کو "واپس" کرنا نا ممکن ہوتا ہے (دیے گئے آؤٹ پٹ سے ان پٹ تلاش کریں)۔

  • ثانوی-پری امیج مزاحمت: مخصوص کردہ ان پٹ کے ساتھ تصادم کرنے والے کسی ثانوی ان پٹ کی تلاش نا ممکن ہے۔


تصادم سے مزاحمت

جیسا کہ بیان کیا جا چکا ہے، مختلف ان پٹس کی جانب سے ایک جیسا ہیش تیار کرنے پر تصادم رونما ہوتا ہے۔ اس لیے، کسی فرد کی جانب سے تصادم تلاش نہ کر لینے تک، ہیش فنکشن کو تصادم سے مزاحم سمجھا جاتا ہے۔ یہ امر نوٹ کریں کہ کسی بھی ہیش فنکشن کے لیے ہمیشہ تصادم موجود رہتا ہے، کیونکہ ممکنہ ان پٹص لاتعداد اور ممکنہ آؤٹ پٹس کی تعداد موجود ہوتی ہے۔

دوسرے الفاظ میں، اس صورت میں ایک ہیش فنکشن، تصادم مزاحم ہوتا ہے جب یکجا ہونے کا امکان اتنا کم ہو کہ اس کا شمار کرنے میں لاکھوں سال صرف ہو جائیں۔ لہٰذا اگرچہ، کوئی ہیش فنکشز تصادم سے پاک نہیں ہوتے، تاہم، کچھ اس قدر مستحکم ہوتے ہیں کہ انہیں مزاحم تصور کیا جا سکتا ہے (مثلاً، SHA-256)۔

SHA کے متعدد الگورتھمز کے مابین تصادم رونما ہونے کے باعث، SHA-0 اور SHA-1 گروپس مزید محفوظ نہیں ہیں۔ فی الوقت، SHA-2 اور SHA-3 گروپس تصادم سے مزاحم سمجھے جاتے ہیں۔


پری امیج مزاحمت

پری امیج مزاحمت کی خصوصیت، یک طرفہ فنکشنز کے خیال سے متعلق ہے۔ جب کسی فرد کی جانب سے مخصوص آؤٹ پٹ تیار کرنے والے کسی ان پٹ کی تلاش کے امکانات بہت کم ہوں، تو اُس وقت ہیش فنکشن کو پری امیج مزاحم سمجھا جاتا ہے۔

یہ امر نوٹ کریں کہ یہ خصوصیت گزشتہ خصوصیت سے مختلف ہے، کیونکہ کوئی حملہ آور دیے گئے آؤٹ پٹ کو دیکھ کر ان پٹ کے متعلق سراغ لگانے کی کوشش کرے گا۔ دوسری جانب، کسی فرد کی جانب سے ایک جیسے آؤٹ پٹ تیار کرنے والے دو مختلف ان پٹس تلاش کرنے پر تصادم ہوتا ہے، لیکن اس امر سے کوئی مسئلہ نہیں ہوتا کہ کس قسم کے ان پٹس استعمال کیے گئے تھے۔

پری امیج مزاحمت کی خصوصیت، ڈیٹا کی حفاظت کرنے کے لیے اہم ہے، کیونکہ پیغام کی ایک سادہ ہیش معلومات ظاہر کیے بناء اپنی درستگی ثابت کر سکتا ہے۔ عملی طور پر، متعدد سروس فراہم کنندگان اور ویب ایپلیکیشنز سادہ متن میں ظاہر ہونے والے پاس ورڈز کی بجائے اُن ہیشز کو محفوظ اور استعمال کرتی ہیں، جو پاس ورڈز کی جانب سے تیار کیے جاتے ہیں۔


ثانوی-پری امیج مزاحمت

ہم اسے آسان بنانے کے لیے یہ کہہ سکتے ہیں کہ ثانوی پری امیج، دیگر دو خصوصیات کے مابین کہیں موجود ہے۔ جب کوئی فرد کسی ایسے مخصوص ان پٹ کو تلاش کر سکتا ہے، جس کا آؤٹ پٹ پہلے سے معلوم کسی اور ان پٹ کے آؤٹ پٹ کی طرح ہوتا ہے، تو اس صورت میں ثانوی پری امیج کا حملہ رونما ہوتا ہے۔

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

اس لیے، تصادم سے مزاحمت کا اظہار کرنے والا کوئی بھی ہیش فنکشن، ثانوی-پری امیج حملوں سے بھی مزاحمت ظاہر کرے گا، جیسا کہ ثانی الذکر کی جانب سے ہمیشہ تصادم کا اظہار کیا جاتا ہے۔ تاہم، پھر بھی کوئی فرد تصادم سے مزاحم فنکشن پر پری امیج حملہ کر سکتا ہے، کیونکہ اس میں کسی ایک ان پٹ سے ایک ہی آؤٹ پٹ تلاش کرنا شامل ہوتا ہے۔


مائننگ

Bitcoin مائننگ میں ایسے بہت سارے اقدامات موجود ہیں، جن میں بیلنس چیک کرنے، ٹرانزیکشنز کے ان پٹس اور آؤٹ پٹس لنک کرنے، اور Merkle ٹریز بنانے کے لیے بلاک میں ٹرانزیکشنز کی ہیشنگ کرنے جیسے ہیش فنکشنز شامل ہوتے ہیں۔ لیکن Bitcoin بلاک چین کو محفوظ بنانے کی وجوہات میں سے ایک وجہ یہ حقیقت ہے کہ، مائنرز کو اگلے بلاک کے لیے آخر کار درست حل تلاش کرنے کے لیے متعدد ہیچنگ آپریشنز کرنا درکار ہوتا ہے۔

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

اس صورت میں، Bitcoin مائننگ میں لگائی جانے والی کمپیوٹر کی طاقت کا اظہار ہیش ریٹ کے ذریعے کیا جاتا ہے۔ نیٹ ورک کے ہیش ریٹ بڑھنے کی صورت میں، Bitcoin پروٹوکول خود کار طور پر مائننگ میں پیش آنے والی دشواری کو ایڈجیسٹ کر لے گا، تاکہ کسی بلاک کو مائن کرنے کا اوسط وقت 10 منٹ کے قریب رہے۔ اس کے برخلاف، متعدد مائنرز کی جانب سے مائننگ کا عمل روکنے کا فیصلہ کرنے پر، ہیش ریٹ میں نمایاں کمی آںے کی صورت میں، مائننگ میں پیش آنے والی دشواری ایڈجیسٹ کر دی جائے گی، جس سے مائن کرنا آسان ہو جائے گا (جب تک بلاک کا اوسط وقت 10 منٹ تک واپس نہیں آ جاتا)۔

یہ امر نوٹ کریں کہ مائنرز کی جانب سے تصادم کی تلاش کرنا درکار نہیں ہوتی، کیونکہ وہ درست آؤٹ پٹ کے طور پر متعدد ہیشز تیار کر سکتے ہیں (جن کی مخصوص صفر کی تعداد سے ابتداء ہوتی ہے)۔ اس لیے مائننگ میں پیش آنے والی دشواری کے جانب سے متعین کردہ حد کے مطابق، کسی مخصوص بلاک کے لیے متعدد ممکن حل موجود ہیں، اور مائنرز کی جانب سے صرف کسی ایک کی تلاش کرنا درکار ہے۔ 

Bitcoin مائننگ زیادہ لاگت کا حامل ٹاسک ہوتا ہے، مائنرز کسی صورت میں سسٹم کو دھوکہ نہیں دے سکتے کیونکہ اس سے نمایاں مالیاتی نقصانات ہوں گے۔ جتنے زیادہ مائنرز بلاک چین میں شامل ہوتے ہیں، یہ اتنا ہی زیادہ وسیع اور مضبوط ہو جاتا ہے۔


اختتامی خیالات

اس امرسے متعلق کوئی دوسری رائے موجود نہیں ہے کہ، بالخصوص ڈیٹا کی بڑی مقدار کے ساتھ معاملات طے کرنے پر، ہیش فنکشنز کمپیوٹر سائنس کے لازمی ٹولز ہیں۔ ہیشنگ کے الگورتھمز کو کرپٹو گرافی کے ساتھ یکجا کرنے پر، یہ مختلف طریقوں سے سیکورٹی اور منظوری کی پیشکش کرتے ہوئے، کافی حد تک ہمہ گیر ہو سکتے ہیں۔ جیسا کہ کرپٹوگرافک ہیش فنکشنز تقریباً تمام کرپٹو کرنسیز نیٹ ورکس کے لیے اہم ہیں، اس لیے بلاک چین ٹیکنالوجی میں دلچسپی رکھنے والے کسی بھی فرد کے لیے ان کی خصوصیات اور کام کرنے کے میکانزم سمجھنا معاون ثابت ہو سکتا ہے۔