>> ZAMYLA چان: چلو قدم چلتے ہیں ہماری Vigenere صفر کے ساتھ کھیل.
Vigenere صفر ہے کیسر کی طرح ہے،
کیسر میں سوائے ہم میں منظور ہمارے اہم کے طور پر ایک عدد صحیح.
Vigenere کے میں ہم جا رہے ہیں ایک مطلوبہ الفاظ میں منتقل کرنے کی.
لہذا، منتقل کرنے کے لئے میں چاہتا تھا تو اس CS 50 ہے کو ohai طرف ciphertext کے،
پھر اس میں ہر خط کا مطلب ہے کہ کو ohai کلید کے طور پر خدمت کرنے کے لئے کی جا رہی ہے،
اور میں سے زیادہ سائیکل پر جا رہا ہوں میرے شفٹ کے لئے اس مطلوبہ الفاظ
ciphertext کے بنانے مشکل سے ایک بہت کچھ وضاحت کرنا.
>> یہ کرنے کے لئے کیا مطلب ہے مطلوبہ الفاظ کی طرف منتقل؟
ویسے، مطلوبہ الفاظ کی ایک تار ہے جہاں ہر خط کے مساوی ہے
کچھ عددی تبدیلی کو.
پس اے 14 کا ایک اہم کے مساوی ہے، 7 کے ایک اہم ک، ایک، 0 کی کلید ہے
تا کہ، کچھ بھی تبدیل نہیں کریں گے اور پھر میں 8 کا ایک اہم ہے.
>> جس کے ساتھ میں Vigenere کے ایک بھاگ گیا فرما دیجئے سادہ متن یہ اچھی طرح CS50 ہے،
کہ صرف دے گی مجھے ایک میں کوئی تبدیلی نہیں سٹرنگ.
اس کے برابر ہے کہ نوٹس صفر کے ایک بٹن کے ساتھ کیسر چلانے.
سچ تو یہ ہے، چل رہا Vigenere کے کسی ایک کردار کے ساتھ
چلانے کے برابر ہو جائے گا کہ ایک ہی عددی کے ساتھ کیسر.
>> ٹھیک ہے، تو، کے بعد سے وہ میں تھا تو اسی طرح ہیں
اصل میں مشورہ ہے کہ آپ تو آپ کو صرف آپ سیزر کاپی کر سکتے ہیں چاہتے ہیں
آپ کے Vigenere کے کوڈ میں کوڈ.
چیزیں، بدل جائے گی لیکن کم از کم آپ کے پاس
کچھ ریڑھ کی ہڈی کو آپ کے ساتھ کام کر سکتے ہیں.
انسائکلوپیڈیا وہی ہم چاہتے ہیں کیونکہ چابی حاصل کرنے کے لئے، سادہ متن حاصل،
encipher کہ سادہ متن، اور پھر اس کو پرنٹ.
>> صرف کیسر جیسے اہم کی جا رہی ہے دوسری کمانڈ لائن کے طور پر میں منظور کیا جائے
دلیل ہے argv انڈیکس میں موجود 1، لیکن یہ اس وقت مختلف ہے
کیونکہ یہ حروف ہونا ضروری ہے.
لہذا، ہم ہر پر iterate کرنے کی ضرورت ہے کہ اہم میں ایک کردار
استعمال کرنے والا گزر چکا، اور یقینی بنائیں کہ ہر کردار اکشراتمک ہے
جاری رکھنے کے لئے.
>> ہم پھر، کہ کیا ہے ایک بار جب ہم صارف کی طرف سے تار حاصل کر سکتے ہیں،
صرف ہم سے پہلے کے طور پر کیا.
اور اب، ہم دل کے لئے آیا Vigenere کے لئے مسئلہ کی،
جس میں صرف کیسر، کس طرح کرنے کے لئے کی طرح ہے enciphering پیٹرن پتہ لگا
اور مساوات، اور encipher پورے سادہ متن.
>> لہذا، اگر آپ محسوس کریں گے کہ Vigenere کے شفٹ کے لئے مساوات
کیسر ایک بہت ملتا جلتا ہے.
فرق صرف یہ ہے کہ اس کی بجائے ایک ہی متغیر کشمیر کے
اس سے پہلے، اب K نے ایک نوشت ہے، کلید کے JTH خط کا اشارہ.
>> کی ایک مثال کے ذریعے چلنے دو.
آپ کو ایک راز منتقل کرنا چاہتے تھے کہہ دو آپ کے چاہنے والوں پر پیغام، میں تمہیں پسند.
ویسے، آپ کی چابی کے لئے آپ کسی چیز کو منتخب تمہارا
جانتے چاہنے والوں کو اپنی پسند کی، پنڈوں جانتا.
ٹھیک ہے، تو ہم اس کو کس طرح منتقل کروں؟
>> ویسے، ہم اپنے سادہ متن انڈیکس ہے.
یہ پہلا خط میں ہے اور تاکہ ہمارے چابی کے لئے انڈیکس ہے
جس P میں، سب سے پہلے ہے ہمارے پانڈا لفظ میں خط.
لہذا، P کی طرف سے مجھے منتقل ہماری X دیتا ہے، پھر ہم سادہ متن انڈیکس کو آگے بڑھانے کے.
یہ ایک کی جگہ پر ہمیں ملتا ہے.
اب، خلا کردار غیر اکشراتمک، ہے
تو اس کا مطلب ہے کہ، کہ صرف حق ciphertext کے لئے ختم کی منتقلی،
ہم وہاں ایک جگہ ڈال دیا، اور ہم ایسا نہیں کرتے ہمارے کلیدی لئے انڈیکس کو آگے بڑھانے کے.
لہذا، ہم اس مقام پر پی میں اب بھی ہیں.
>> ہم اگلے پر آگے بڑھانے کے ہمارے سادہ متن میں انڈیکس.
اور اب، کہ ہے کیونکہ ایک خط، خفی ایل،
ہم کی طرف سے اس پر منتقل ہمارے کلیدی میں اگلے انڈیکس.
جو ایک صفر ہے، ایک ہے، شفٹ تاکہ صرف ہو جاتا ہے
ہمارے ciphertext میں ایک ایل.
اس کے بعد، ہم دونوں سادہ متن کو آگے بڑھانے، اور کلید انڈیکس اکشراتمک ہے کیونکہ.
تو پھر ہم اس کو جاری رکھیں ہم جیسے میں e حاصل کرنے تک.
>> ٹھیک ہے، اگر آپ اس پر توجہ دیں گے تاکہ اس نقطہ، ہمارے کلیدی انڈیکس کی شرائط میں،
ہم کے اختتام تک پہنچ گئے ہیں پانڈا لفظ، تو کیا ہوا
ہم اگلے پر حاصل ہوتا ہے جب سادہ متن میں اکشراتمک خط؟
ویسے، ایسا ہوتا ہے کہ ہم سب ہے شروع کرنے کے لئے کے ارد گرد لپیٹ،
ہمارے کلیدی کی پہلی انڈیکس پر.
لہذا، پھر ہم اس کو منتقل P کی طرف Y ہمارے ن دینے کے لئے.
اور پھر، ہم انکوڈنگ ختم جاری رہے ہمارے سادہ متن X lvne noh حاصل کرنے کے لئے.
>> اس مثال سے، میں ہم صرف پہلے ظاہر ہوا ہے کہ
مطلوبہ الفاظ میں اگلے خط اگر سادہ متن میں کردار
isalpha تو ایک حرف ہے تقریب یہاں ہاتھ میں آئے گی.
اور، صرف کیسر میں کے طور پر، ہم کرنا چاہتے ہیں کیس، isupper اور islower کے تحفظ.
تو، یہ تھوڑا سا شامل آپ کے pseudocode میں میں.
>> تو ہم کس طرح چابی شفٹوں پتہ لگا سکتا ہوں؟
ٹھیک ہے، آپ ہماری بحث یاد ہے کیسر میں حروف تہجی کی سوچکانکوں پر
مسئلہ، یہ بہت ملتا جلتا ہے.
>> جہاں ایک ایک ASCII کے مساوی ہے 65 کی قدر بلکہ 0 کی ایک شفٹ،
اور پھر آخری خط حروف تہجی میں، Z،
25 کی ایک شفٹ سے میل.
آپ کو منتقل کہ محسوس کریں گے ایک جیسی ہے یا نہیں
خط اوپری کیس یا کم کیس ہے.
>> ٹھیک ہے، تو اب آپ کو اس معلوم کرنا ہے کہ کس طرح جانتے ہیں
عددی منتقل کہ کسی ایک کردار کے مساوی ہے
چلو ہمارے مساوات واپس جانے.
ہم نے دو مختلف ہے کیونکہ یہاں subscripts، I اور J،
کہ ہم ٹریک رکھنے کے لئے چاہتے ہیں کہ ایک اشارہ ہے سادہ متن میں ہمارے دونوں پوزیشن کی
اس کے ساتھ ساتھ مطلوبہ لفظ میں اپنی پوزیشن کے طور پر، لہذا ان کو دو الگ الگ متغیر ہیں
ہم میں سے ایک ہولڈ رکھنے کے لئے چاہتے ہیں کہ.
>> اب، ہماری سادہ متن میں پوزیشن ہر وقت بڑھانے کے لئے کی جا رہی ہے،
چنانچہ یہ ایک ہونے جا رہا ہے سا زیادہ براہ راست آگے
پوزیشن مطلوبہ الفاظ کی مخالفت کے طور پر، ہم جانتے ہیں کہ جس کے ارد گرد لپیٹ کرنے کے لئے ہے،
اور کبھی کبھی اضافہ، کبھی کبھی ایک ہی رہیں.
لہذا، ہم کس طرح عمل درآمد کرتے فعالیت
کے ارد گرد لپیٹ مطلوبہ الفاظ کے لئے انڈیکس؟
>> میں نے شمار مثال استعمال کرنے کے لئے جا رہا ہوں.
دور کی گنتی ایک مقبول طریقہ ہے گروپوں میں لوگوں کو تقسیم کرنے کی.
کہہ دو کہ میں نے 5 افراد تھے اور میں چاہتا تھا تین گروپوں میں ان کو ٹکڑے ٹکڑے کر،
تو پھر میں نے گنتی کی طرف سے شروع ہو جائے گا.
پہلا شخص کرے گا ، میں ٹیم نمبر ایک ہوں کا کہنا
اگلے شخص کی ٹیم تعداد ہو گی دو، تیسرے شخص کی ٹیم تعداد میں
تین.
اب، میں صرف تین گروہوں اتنا چاہتے ہیں چوتھا شخص اصل گے
آغاز میں شروع کرتے ہیں اور کہتے ہیں کہ، ٹھیک ہے، میں اس کے ساتھ ساتھ ٹیم تعداد میں سے ایک ہوں،
اور اگلے شخص ٹیم دو نمبر ہو گا.
اور، وہاں سے، انہوں نے اس وقت کر سکتے ہیں ان گروپوں میں الگ.
>> لہذا، میں modulo ہے کہ کس طرح استعمال کر سکتے ہیں مجھ پر عمل درآمد میں مدد کے لئے
اس تقریب کے ارد گرد لپیٹ آف گننے؟
ویسے، سب سے پہلے شخص نمبر 1، جدید 3 1 فراہم کرتا ہے.
2 MOD کے 3، ہم سے 2 دیتا ہے اور 3 MOD 3 ہم 0 دیتا ہے.
>> چوتھے شخص، نمبر 4، جدید 3 1 فراہم کرتا ہے، اور اس کے بعد 5 MOD کے 3 ہم سے 2 فراہم کرتا ہے.
تو، تم، اگرچہ کہ محسوس کریں گے میں ہے کہ لوگوں کی تعداد
بڑھاتا ہے، اور اس سے اوپر ہے 3، کے بعد سے میں 3 کی طرف موڈنگ ہوں
میں نے ہمیشہ نمبرز 0، 1، اور 2 ملتا.
میں نے 3 سے بڑے کبھی نہیں ملے.
پس میں نے 10 تھا یہاں تک کہ اگر لوگ، پھر ان لوگوں کے تمام
اب بھی گروپ 1، 2، یا 0 کے اندر اندر ہو جائے گا.
>> تو، اب ہم جانتے ہیں کہ ہم ایک گروپ ہے تو 5 میں سے ہیں اور ہم 3 کی طرف سے ان میں سے سب MOD،
پھر ہم کبھی نہیں کرنے جا رہے ہیں گروپ 0، 1، یا 2 سے تجاوز.
لہذا، ہم نے کبھی نہیں ایک گروہ کو حاصل کرنے کے لئے جا رہے ہیں اوپر 3 یا اس کے برابر ہے یہ تعداد.
لہذا، میں نے پانچ مزید شامل چاہے لوگ، اس کے بعد ان میں سے سب
اب بھی گروپوں کو تفویض کیا جائے گا 0، 1، یا 2 میں 3 کی طرف موڈنگ رہا ہوں کیونکہ.
میں نے کبھی نہیں کہ کیپس کی حد سے تجاوز کرنے جا رہا ہوں.
>> ٹھیک ہے، تو ہم درخواست دے سکتے ہیں تو دیکھتے ہیں modulo ہے کا استعمال کرتے ہوئے کے اس تصور
کے ارد گرد لپیٹ گروپ کی تعداد اور لاگو
ہم چاہتے ہیں جہاں یہ Vigenere کے لئے کس کے ارد گرد لپیٹ کرنے modulo استعمال کرنے
مطلوبہ الفاظ کے لئے انڈیکس.
یہاں تک کہ ہم incrementing رہے ہیں اگرچہ انڈیکس ہمیشہ ہم
ہمیشہ ہم اس بات کو یقینی بنانا چاہتے ہیں بہت شروع کرنے کے ارد گرد لپیٹ
کبھی نہیں سے تجاوز سٹرنگ کی لمبائی.
>> ٹھیک ہے، تو میں یہ ہو سکتا ہے جانتے ہیں ایک تھوڑا سا بھاری اکثریت سے.
ایسا کرنے کے لئے ایک بہت زیادہ اس P سیٹ میں بھی نہیں ہے.
لہذا، یقین ہے کہ آپ کو لکھنے کہ بنانے اپنے آپ کے لئے ایک اچھا pseudocode کے
آپ سمجھتے ہیں کہ اور کہ کام کیا جاتا ہے.
کوشش کریں اور ہر پتہ ایک لائن آزادانہ طور پر
تمام چھوٹی باہر figuring پہیلی کے چھوٹے چھوٹے ٹکڑوں
یہ ایک ساتھ مل کر ڈال کرنے سے پہلے.
>> آپ حاصل کر سکتے ہیں کہ بات کو یقینی بنائیں کمانڈ لائن سے چابی
اور یقینی بنائیں کہ اکشراتمک ہے کہ، صارف کی طرف سے سادہ متن حاصل،
اور پھر enciphering میں، یقین ہے کہ آپ کو بنانے کے ایک واحد خط encipher کرنا کس طرح جانتے ہیں،
اور پھر پوری سٹرنگ پر ترقی افعال کے ارد گرد لپیٹ سب کے ساتھ.
آخر میں، آپ ciphertext پرنٹ کر سکتے ہیں.
>> میرا نام، ایک Zamyla ہے اور اس پر Vigenere تھا.