1 00:00:02,940 --> 00:00:08,500 انٹرنیٹ: رمز کاری اور عوامی کلیدیں 2 00:00:08,990 --> 00:00:14,150 ہیلو میرا نام میا گل اپنر ہے، میں یو سی برکلے میں کمپیوٹر سائنس میں خصوصی تعلیم حاصل کر رہی ہوں 3 00:00:14,150 --> 00:00:19,460 اور میں محکمہ دفاع کے لئے کام کرتی ہوں، جہاں میں معلومات کو محفوظ رکھنے کی کوشش کرتی ہوں۔ انٹرنیٹ ایک کھلا 4 00:00:19,460 --> 00:00:25,510 اور عوامی نظام ہے۔ ہم سب مشترکہ تاروں اور رابطوں کے ذریعے معلومات بھیجتے اور موصول 5 00:00:25,510 --> 00:00:30,039 کرتے ہیں۔ لیکن اگرچہ یہ ایک کھلا نظام ہے لیکن ہم پھر بھی بہت سارے نجی ڈیٹا کا تبادلہ کرتے 6 00:00:30,039 --> 00:00:35,890 ہیں۔ چیزیں جیسے کریڈٹ کارڈ نمبرز، بینک کی معلومات، پاس ورڈز اور ای میلز۔ لہذا، 7 00:00:35,890 --> 00:00:40,690 ان ساری نجی چیزوں کو خفیہ کیسے رکھا جاتا ہے؟ کسی بھی قسم کے ڈیٹا کو رمز کاری کہلوانے والے 8 00:00:40,690 --> 00:00:45,299 ایک پراسیس کے ذریعے خفیہ رکھا جا سکتا ہے، جو اصل متن کو چھپانے کے لئے پیغام میں ردوبدل یا تبدیلی کرنے کرنے کا 9 00:00:45,309 --> 00:00:51,900 عمل ہے۔ اب رمز کشائی اس پیغام کو پڑھنے کے قابل بنانے کے لئے اس میں ردوبدل/ تبدیلی کو ختم کرنے کا عمل ہے۔ یہ 10 00:00:51,900 --> 00:00:56,970 ایک سادہ سا نظریہ ہے، اور لوگ صدیوں سے یہ کام کرتے آ رہے ہیں۔ رمز کاری کے پہلے مشہور 11 00:00:56,970 --> 00:01:02,379 طریقوں میں سے ایک سیزرز سائفر تھا۔ جولیئس سیزر، ایک رومن جنرل، کے نام سے منسوب، 12 00:01:02,379 --> 00:01:07,220 جس نے اپنے فوجی احکامات کی خفیہ کاری کی تھی یہ یقینی بنانے کے لئے کہ اگر کسی پیغام کو دشمنوں نے 13 00:01:07,220 --> 00:01:12,540 راستے میں ہی روک لیا، تو وہ اسے پڑھ نہیں پائیں گے۔ سیزر سائفر ایک الگورتھم ہے جو اصل پیغام میں 14 00:01:12,540 --> 00:01:16,759 ہر ایک حرف کو حرف تہجی کے نیچے کی طرف ایک مخصوس عدد حرف کے ساتھ تبدیل کر دیتا 15 00:01:16,759 --> 00:01:21,259 ہے۔ اگر عدد کوئی ایسا ہے کہ جسے صرف مرسل اور وصول کنندہ ہی جانتا ہے، تو اسے 16 00:01:21,259 --> 00:01:28,640 کلید کہا جاتا ہے۔ یہ پڑھنے والے کو خفیہ پیغام کو غیر مقفل کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، اگر آپ کا اصل پیغام 17 00:01:28,640 --> 00:01:35,869 'ہیلو' ہے تو پھر 5 کی کلید کے ساتھ سیزر سائفر الگورتھم کا استعمال کرتے ہوئے خفیہ کردہ پیغام 18 00:01:35,869 --> 00:01:43,259 یہ ہوگا... پیغام کی رمز کشائی کرنے کے لئے، وصول کنندہ پراسیس کو پلٹانے کے لئے بس 19 00:01:43,259 --> 00:01:50,179 کلید کا استعمال کرے گا۔ لیکن سیزر سائفر کے ساتھ ایک بہت بڑا مسئلہ ہے، کوئی بھی ہر ممکن کلید کو آزما کر 20 00:01:50,179 --> 00:01:55,569 آسانی سے خفیہ کردہ پیغام کو معلوم کر سکتا یا سجھ سکتا ہے، اور انگریزی حروف تہجی میں 21 00:01:55,569 --> 00:02:00,389 صرف 26 حرف ہیں، اس کا مطلب ہے کہ آپ کو پیغام کی رمز کشائی کرنے کے لئے زیادہ سے زیادہ 26 کلیدیں 22 00:02:00,389 --> 00:02:06,810 آزمانے کی ضرورت ہوگی۔ اب 26 کلیدوں کو آزمانا بہت مشکل نہیں ہے، اس میں زیادہ سے زیادہ ایک یا دو گھنٹے 23 00:02:06,810 --> 00:02:13,050 لگیں گے۔ تو آئیں اسے مشکل تر بناتے ہیں۔ ہر حرف کو ایک ہی مقدار سے تبدیل کرنے کے بجائے، آئیں ہر ایک حرف کو 24 00:02:13,050 --> 00:02:18,920 مختلف مقدار سے تبدیل کرتے ہیں۔ اس مثال میں دس ہندسوں کی کلید دکھاتی ہے کہ ایک طویل پیغام کی 25 00:02:18,920 --> 00:02:26,560 رمز کاری کرنے کے لئے ہر ایک متواتر حرف کو کتنی پوزیشنوں میں تبدیل کیا جائے گا۔ اس کلید کا اندازہ لگانا 26 00:02:26,560 --> 00:02:34,160 واقعی میں مشکل ہوگا۔ 10 ہندسوں کی خفیہ کاری کو استعمال کرتے ہوئے 10 ارب ممکنہ کلیدی سولیوشنز ہو سکتے ہیں۔ 27 00:02:34,160 --> 00:02:39,860 ظاہر ہے کہ اب تک کوئی انسان جو حل کر سکا ہے یہ اس سے کہیں زیادہ ہے، جس میں کئی صدیاں لگ جائیں گی۔ 28 00:02:39,860 --> 00:02:46,030 لیکن آج کل کا اوسط کمپیوٹر، تمام 10 ارب ممکنات کو آزمانے کے لئے صرف چند سیکنڈز لے گا۔ 29 00:02:46,030 --> 00:02:51,240 تو ایک جدید دنیا میں، برے لوگ پنسل کی بجائے کمپیوٹرز سے مسلح ہیں، تو آپ پیغامات کی 30 00:02:51,240 --> 00:02:57,890 اتنی محفوظ طریقے سے کیسے خفیہ کاری کر سکتے ہیں کہ ان کو کریک کرنا مشکل ہو جائے؟ اب بہت مشکل کا مطلب ہے کہ 31 00:02:57,890 --> 00:03:03,760 ایک مناسب وقت میں حساب کرنے کے بہت سارے امکانات موجود ہیں۔ آجکل کی محفوظ مواصلات کی 32 00:03:03,760 --> 00:03:10,200 256 بٹ کلیدوں کا استعمال کرتے ہوئے رمز کاری کی جاتی ہے۔ اس کا مطلب ہے کہ ایک برے آدمی کا 33 00:03:10,200 --> 00:03:16,290 کمپیوٹر جو آپ کے پیغام کو راستے میں ہی روک لیتا ہے کو یہ بہت سے ممکنہ اختیارات آزمانے کی ضرورت ہوگی... جب تک کہ وہ کلید کو 34 00:03:16,290 --> 00:03:24,040 دریافت اور پیغام کو کریک نہ کر لیں۔ یہاں تک کہ اگر آپ کے پاس 100,000 سپر کمپیوٹر موجود ہیں اور ان میں سے 35 00:03:24,040 --> 00:03:30,680 ہر کمپیوٹر ایک سیکنڈ میں اربوں کلیدیں آزمانے کے قابل ہے، تو صرف 256 بٹ اینکرپشن سے محفوظ کردہ کسی ایک 36 00:03:30,680 --> 00:03:37,690 پیغام کو کریک کرنے کے لئے ہر اختیار کو آزمانے میں کھربوں سال لگیں گے۔ 37 00:03:37,690 --> 00:03:43,320 بلاشبہ کمپیوٹر چپس تقریباً ہر سال دوگنا تیز اور سائز میں آدھی ہوتی جا رہی ہیں۔ اگر توضیحی 38 00:03:43,320 --> 00:03:48,400 پیشرفت کی یہی رفتار جاری رہی تو، آج کے ناممکن مسائل مستقبل میں محض چند سو سال قابل حل 39 00:03:48,400 --> 00:03:54,680 ہو جائیں گے اور 256 بٹس محفوظ ہونے کے لئے کافی نہیں ہوں گے۔ در حقیقت 40 00:03:54,680 --> 00:04:01,070 کمپیوٹر کی رفتار کے ساتھ ساتھ چلنے کے لئے ہمیں پہلے ہی معیاری کلید کی لمبائی میں اضافہ کرنا پڑا ہے۔ 41 00:04:01,070 --> 00:04:05,540 اچھی خبر یہ ہے کہ ایک طویل کلید کا استعمال کرنا خفیہ کاری کردہ پیغامات کو زیادہ مشکل نہیں بناتا ہے 42 00:04:05,540 --> 00:04:11,660 لیکن یہ توضیحی طور پر اندازوں جو یہ خفیہ پیغام کو کریک کرنے کے لئے لے گا ان کی تعداد میں اضافہ کرتا ہے۔ جب 43 00:04:11,660 --> 00:04:16,779 مرسل الیہ اور وصول کنندہ ایک پیغام کو خفیہ بنانے اور خفیہ کاری ہٹانے کے لئے ایک ہی کلید کا اشتراک کرتے ہیں تو اسے 44 00:04:16,779 --> 00:04:24,199 سیمیٹرک اینکرپشن کہتے ہیں۔ سیمیٹرک اینکرپشن کے ساتھ، سیزر سائفر کی طرح، دو افراد کے درمیان نجی طور پر 45 00:04:24,199 --> 00:04:29,710 وقت سے پہلے ہی خفیہ کلید پر اتفاق کیا جائے گا۔ لہذا یہ لوگوں کے لئے بہت زبردست ہے، لیکن انٹرنیٹ کھلا 46 00:04:29,710 --> 00:04:35,840 اور عوامی ہے لہذا دو کمپیوٹرز کے لئے خفیہ کلید پر اتفاق کرنے کے لئے نجی طور پر "ملنا" ناممکن 47 00:04:35,840 --> 00:04:41,599 ہے۔ اس کے بجائے کمپیوٹرز اسیمیٹرک اینکرپشن کلیدوں کا استعمال کرتے ہیں، جو ایک عوامی کلید ہے 48 00:04:41,599 --> 00:04:49,020 جس کا کسی کے ساتھ بھی تبادلہ کیا جا سکتا ہے اور ایک نجی کلید بھی جس کا اشتراک نہیں کیا جاتا ہے۔ عوامی کلید کو ڈیٹا کی رمز کاری کرنے 49 00:04:49,020 --> 00:04:55,800 کے لئے استعمال کیا جاتا ہے اور کوئی بھی اسے خفیہ پیغام بنانے کے لئے استعمال کر سکتا ہے، لیکن اس راز کی صرف نجی کلید تک رسائی 50 00:04:55,800 --> 00:05:01,270 حاصل کرنے والے کمپیوٹر کے ذریعہ ہی رمز کشائی کی جا سکتی ہے۔ اس کے کام کرنے کا کچھ طریقہ حساب کے ساتھ ہے 51 00:05:01,270 --> 00:05:06,129 جس پر ہم ابھی ماحثہ نہیں کریں گے۔ اس کے بارے میں اس طرح سوچتے ہوئے، تصور کریں کہ آپ کے پاس ذاتی ڈاک باکس ہے، 52 00:05:06,129 --> 00:05:11,430 جہاں کوئی بھی ڈاک جمع کر سکتا ہے لیکن انہیں ایسا کرنے کے لئے ایک چابی کی ضرورت ہوگی۔ اب آپ جمع کرنے کی کلید کی بہت ساری 53 00:05:11,430 --> 00:05:16,509 نقل بنا سکتے ہیں اور ایک اپنے دوست کو بھیج سکتے ہیں یا یہاں تک کہ اسے عوامی طور پر دستیاب کر سکتے ہیں۔ آپ کا براؤزر 54 00:05:16,509 --> 00:05:21,400 دوست یا یہاں تک کہ کوئی اجنبی بھی آپ کے ڈپازٹ سلاٹ تک رسائی حاصل کرنے اور پیغام ڈالنے کے لئے عوامی کلید 55 00:05:21,400 --> 00:05:27,400 استعمال کر سکتا ہے، لیکن صرف آپ اپنی نجی کلید کے ساتھ ڈاک باکس کھول سکتے ہیں، تاکہ آپ موصول ہونے والے تمام خفیہ 56 00:05:27,400 --> 00:05:31,539 پیغامات تک رسائی حاصل کر سکیں۔ اور آپ اپنے دوست کو ان کے میل باکس میں عوامی جمع کرانے کی کلید کا 57 00:05:31,539 --> 00:05:37,620 استعمال کر کے ایک محفوظ پیغام واپس بھیج سکتے ہیں۔ اس طرح سے لوگ کسی نجی کلید پر متفق ہونے کی 58 00:05:37,620 --> 00:05:43,699 ضرورت کے بغیر محفوظ پیغامات کا تبادلہ کرسکتے ہیں۔ ہیں۔ عوامی کلید رمز کاری کھلے انٹرنیٹ پر 59 00:05:43,699 --> 00:05:49,340 تمام محفوظ پیغام رسانی کی بنیاد ہے۔ بشمول سیکیورٹی پروٹوکولز جنہیں SSL اور TLS کے نام سے 60 00:05:49,340 --> 00:05:55,900 جانا جاتا ہے، جب ہم ویب کو برائوز کرتے ہیں تو یہ ہمیں تحفظ دیتے ہیں۔ آپ کا کمپیوٹر اسے آج بھی 61 00:05:55,900 --> 00:06:01,400 استعمال کرتا ہے، جب بھی آپ کو اپنے براؤزر کے ایڈریس بار میں چھوٹا سا تالا یا حرف https دکھائی دیتا 62 00:06:01,400 --> 00:06:07,409 ہے۔ اس کا مطلب ہے کہ آپ کا کمپیوٹر آپ کی ویب سائٹ جس پر آپ ہیں کے ساتھ محفوظ طریقے سے ڈیٹا کا تبادلہ کرنے کے لئے عوامی کلیدی رمز کاری کا 63 00:06:07,409 --> 00:06:13,400 استعمال کر رہا ہے۔ جیسا کہ زیادہ سے زیادہ لوگ انٹرنیٹ پر آ رہے ہیں تو مزید زیادہ نجی ڈیٹا منتقل کیا جائے گا، 64 00:06:13,400 --> 00:06:19,080 اور اس ڈیٹا کو محفوظ بنانے کی ضرورت اور بھی اہم ہو جائے گی۔ 65 00:06:19,080 --> 00:06:24,059 اور جیسے جیسے کمپیوٹرز تیز سے تیز تر ہوتے جا رہے ہیں، ہمیں رمز کاری کو کمپیوٹر سے توڑنے کو بہت زیادہ مشکل بنانے کے لئے نئے 66 00:06:24,059 --> 00:06:29,259 طریقے تیار کرنے ہوں گے۔ یہی کچھ میں اپنے کام کے ساتھ کرتی ہوں اور یہ ہمیشہ تبدیل ہوتا رہتا ہے۔