انٹرنیٹ: رمز کاری اور عوامی کلیدیں ہیلو میرا نام میا گل اپنر ہے، میں یو سی برکلے میں کمپیوٹر سائنس میں خصوصی تعلیم حاصل کر رہی ہوں اور میں محکمہ دفاع کے لئے کام کرتی ہوں، جہاں میں معلومات کو محفوظ رکھنے کی کوشش کرتی ہوں۔ انٹرنیٹ ایک کھلا اور عوامی نظام ہے۔ ہم سب مشترکہ تاروں اور رابطوں کے ذریعے معلومات بھیجتے اور موصول کرتے ہیں۔ لیکن اگرچہ یہ ایک کھلا نظام ہے لیکن ہم پھر بھی بہت سارے نجی ڈیٹا کا تبادلہ کرتے ہیں۔ چیزیں جیسے کریڈٹ کارڈ نمبرز، بینک کی معلومات، پاس ورڈز اور ای میلز۔ لہذا، ان ساری نجی چیزوں کو خفیہ کیسے رکھا جاتا ہے؟ کسی بھی قسم کے ڈیٹا کو رمز کاری کہلوانے والے ایک پراسیس کے ذریعے خفیہ رکھا جا سکتا ہے، جو اصل متن کو چھپانے کے لئے پیغام میں ردوبدل یا تبدیلی کرنے کرنے کا عمل ہے۔ اب رمز کشائی اس پیغام کو پڑھنے کے قابل بنانے کے لئے اس میں ردوبدل/ تبدیلی کو ختم کرنے کا عمل ہے۔ یہ ایک سادہ سا نظریہ ہے، اور لوگ صدیوں سے یہ کام کرتے آ رہے ہیں۔ رمز کاری کے پہلے مشہور طریقوں میں سے ایک سیزرز سائفر تھا۔ جولیئس سیزر، ایک رومن جنرل، کے نام سے منسوب، جس نے اپنے فوجی احکامات کی خفیہ کاری کی تھی یہ یقینی بنانے کے لئے کہ اگر کسی پیغام کو دشمنوں نے راستے میں ہی روک لیا، تو وہ اسے پڑھ نہیں پائیں گے۔ سیزر سائفر ایک الگورتھم ہے جو اصل پیغام میں ہر ایک حرف کو حرف تہجی کے نیچے کی طرف ایک مخصوس عدد حرف کے ساتھ تبدیل کر دیتا ہے۔ اگر عدد کوئی ایسا ہے کہ جسے صرف مرسل اور وصول کنندہ ہی جانتا ہے، تو اسے کلید کہا جاتا ہے۔ یہ پڑھنے والے کو خفیہ پیغام کو غیر مقفل کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، اگر آپ کا اصل پیغام 'ہیلو' ہے تو پھر 5 کی کلید کے ساتھ سیزر سائفر الگورتھم کا استعمال کرتے ہوئے خفیہ کردہ پیغام یہ ہوگا... پیغام کی رمز کشائی کرنے کے لئے، وصول کنندہ پراسیس کو پلٹانے کے لئے بس کلید کا استعمال کرے گا۔ لیکن سیزر سائفر کے ساتھ ایک بہت بڑا مسئلہ ہے، کوئی بھی ہر ممکن کلید کو آزما کر آسانی سے خفیہ کردہ پیغام کو معلوم کر سکتا یا سجھ سکتا ہے، اور انگریزی حروف تہجی میں صرف 26 حرف ہیں، اس کا مطلب ہے کہ آپ کو پیغام کی رمز کشائی کرنے کے لئے زیادہ سے زیادہ 26 کلیدیں آزمانے کی ضرورت ہوگی۔ اب 26 کلیدوں کو آزمانا بہت مشکل نہیں ہے، اس میں زیادہ سے زیادہ ایک یا دو گھنٹے لگیں گے۔ تو آئیں اسے مشکل تر بناتے ہیں۔ ہر حرف کو ایک ہی مقدار سے تبدیل کرنے کے بجائے، آئیں ہر ایک حرف کو مختلف مقدار سے تبدیل کرتے ہیں۔ اس مثال میں دس ہندسوں کی کلید دکھاتی ہے کہ ایک طویل پیغام کی رمز کاری کرنے کے لئے ہر ایک متواتر حرف کو کتنی پوزیشنوں میں تبدیل کیا جائے گا۔ اس کلید کا اندازہ لگانا واقعی میں مشکل ہوگا۔ 10 ہندسوں کی خفیہ کاری کو استعمال کرتے ہوئے 10 ارب ممکنہ کلیدی سولیوشنز ہو سکتے ہیں۔ ظاہر ہے کہ اب تک کوئی انسان جو حل کر سکا ہے یہ اس سے کہیں زیادہ ہے، جس میں کئی صدیاں لگ جائیں گی۔ لیکن آج کل کا اوسط کمپیوٹر، تمام 10 ارب ممکنات کو آزمانے کے لئے صرف چند سیکنڈز لے گا۔ تو ایک جدید دنیا میں، برے لوگ پنسل کی بجائے کمپیوٹرز سے مسلح ہیں، تو آپ پیغامات کی اتنی محفوظ طریقے سے کیسے خفیہ کاری کر سکتے ہیں کہ ان کو کریک کرنا مشکل ہو جائے؟ اب بہت مشکل کا مطلب ہے کہ ایک مناسب وقت میں حساب کرنے کے بہت سارے امکانات موجود ہیں۔ آجکل کی محفوظ مواصلات کی 256 بٹ کلیدوں کا استعمال کرتے ہوئے رمز کاری کی جاتی ہے۔ اس کا مطلب ہے کہ ایک برے آدمی کا کمپیوٹر جو آپ کے پیغام کو راستے میں ہی روک لیتا ہے کو یہ بہت سے ممکنہ اختیارات آزمانے کی ضرورت ہوگی... جب تک کہ وہ کلید کو دریافت اور پیغام کو کریک نہ کر لیں۔ یہاں تک کہ اگر آپ کے پاس 100,000 سپر کمپیوٹر موجود ہیں اور ان میں سے ہر کمپیوٹر ایک سیکنڈ میں اربوں کلیدیں آزمانے کے قابل ہے، تو صرف 256 بٹ اینکرپشن سے محفوظ کردہ کسی ایک پیغام کو کریک کرنے کے لئے ہر اختیار کو آزمانے میں کھربوں سال لگیں گے۔ بلاشبہ کمپیوٹر چپس تقریباً ہر سال دوگنا تیز اور سائز میں آدھی ہوتی جا رہی ہیں۔ اگر توضیحی پیشرفت کی یہی رفتار جاری رہی تو، آج کے ناممکن مسائل مستقبل میں محض چند سو سال قابل حل ہو جائیں گے اور 256 بٹس محفوظ ہونے کے لئے کافی نہیں ہوں گے۔ در حقیقت کمپیوٹر کی رفتار کے ساتھ ساتھ چلنے کے لئے ہمیں پہلے ہی معیاری کلید کی لمبائی میں اضافہ کرنا پڑا ہے۔ اچھی خبر یہ ہے کہ ایک طویل کلید کا استعمال کرنا خفیہ کاری کردہ پیغامات کو زیادہ مشکل نہیں بناتا ہے لیکن یہ توضیحی طور پر اندازوں جو یہ خفیہ پیغام کو کریک کرنے کے لئے لے گا ان کی تعداد میں اضافہ کرتا ہے۔ جب مرسل الیہ اور وصول کنندہ ایک پیغام کو خفیہ بنانے اور خفیہ کاری ہٹانے کے لئے ایک ہی کلید کا اشتراک کرتے ہیں تو اسے سیمیٹرک اینکرپشن کہتے ہیں۔ سیمیٹرک اینکرپشن کے ساتھ، سیزر سائفر کی طرح، دو افراد کے درمیان نجی طور پر وقت سے پہلے ہی خفیہ کلید پر اتفاق کیا جائے گا۔ لہذا یہ لوگوں کے لئے بہت زبردست ہے، لیکن انٹرنیٹ کھلا اور عوامی ہے لہذا دو کمپیوٹرز کے لئے خفیہ کلید پر اتفاق کرنے کے لئے نجی طور پر "ملنا" ناممکن ہے۔ اس کے بجائے کمپیوٹرز اسیمیٹرک اینکرپشن کلیدوں کا استعمال کرتے ہیں، جو ایک عوامی کلید ہے جس کا کسی کے ساتھ بھی تبادلہ کیا جا سکتا ہے اور ایک نجی کلید بھی جس کا اشتراک نہیں کیا جاتا ہے۔ عوامی کلید کو ڈیٹا کی رمز کاری کرنے کے لئے استعمال کیا جاتا ہے اور کوئی بھی اسے خفیہ پیغام بنانے کے لئے استعمال کر سکتا ہے، لیکن اس راز کی صرف نجی کلید تک رسائی حاصل کرنے والے کمپیوٹر کے ذریعہ ہی رمز کشائی کی جا سکتی ہے۔ اس کے کام کرنے کا کچھ طریقہ حساب کے ساتھ ہے جس پر ہم ابھی ماحثہ نہیں کریں گے۔ اس کے بارے میں اس طرح سوچتے ہوئے، تصور کریں کہ آپ کے پاس ذاتی ڈاک باکس ہے، جہاں کوئی بھی ڈاک جمع کر سکتا ہے لیکن انہیں ایسا کرنے کے لئے ایک چابی کی ضرورت ہوگی۔ اب آپ جمع کرنے کی کلید کی بہت ساری نقل بنا سکتے ہیں اور ایک اپنے دوست کو بھیج سکتے ہیں یا یہاں تک کہ اسے عوامی طور پر دستیاب کر سکتے ہیں۔ آپ کا براؤزر دوست یا یہاں تک کہ کوئی اجنبی بھی آپ کے ڈپازٹ سلاٹ تک رسائی حاصل کرنے اور پیغام ڈالنے کے لئے عوامی کلید استعمال کر سکتا ہے، لیکن صرف آپ اپنی نجی کلید کے ساتھ ڈاک باکس کھول سکتے ہیں، تاکہ آپ موصول ہونے والے تمام خفیہ پیغامات تک رسائی حاصل کر سکیں۔ اور آپ اپنے دوست کو ان کے میل باکس میں عوامی جمع کرانے کی کلید کا استعمال کر کے ایک محفوظ پیغام واپس بھیج سکتے ہیں۔ اس طرح سے لوگ کسی نجی کلید پر متفق ہونے کی ضرورت کے بغیر محفوظ پیغامات کا تبادلہ کرسکتے ہیں۔ ہیں۔ عوامی کلید رمز کاری کھلے انٹرنیٹ پر تمام محفوظ پیغام رسانی کی بنیاد ہے۔ بشمول سیکیورٹی پروٹوکولز جنہیں SSL اور TLS کے نام سے جانا جاتا ہے، جب ہم ویب کو برائوز کرتے ہیں تو یہ ہمیں تحفظ دیتے ہیں۔ آپ کا کمپیوٹر اسے آج بھی استعمال کرتا ہے، جب بھی آپ کو اپنے براؤزر کے ایڈریس بار میں چھوٹا سا تالا یا حرف https دکھائی دیتا ہے۔ اس کا مطلب ہے کہ آپ کا کمپیوٹر آپ کی ویب سائٹ جس پر آپ ہیں کے ساتھ محفوظ طریقے سے ڈیٹا کا تبادلہ کرنے کے لئے عوامی کلیدی رمز کاری کا استعمال کر رہا ہے۔ جیسا کہ زیادہ سے زیادہ لوگ انٹرنیٹ پر آ رہے ہیں تو مزید زیادہ نجی ڈیٹا منتقل کیا جائے گا، اور اس ڈیٹا کو محفوظ بنانے کی ضرورت اور بھی اہم ہو جائے گی۔ اور جیسے جیسے کمپیوٹرز تیز سے تیز تر ہوتے جا رہے ہیں، ہمیں رمز کاری کو کمپیوٹر سے توڑنے کو بہت زیادہ مشکل بنانے کے لئے نئے طریقے تیار کرنے ہوں گے۔ یہی کچھ میں اپنے کام کے ساتھ کرتی ہوں اور یہ ہمیشہ تبدیل ہوتا رہتا ہے۔