1 00:00:00,000 --> 00:00:10,101 >> [მუსიკალური სათამაშო] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA CHAN: მოდით განახორციელოს Vigenere, ოდნავ მეტი 3 00:00:12,700 --> 00:00:14,710 უზრუნველყოს შიფრი ვიდრე Caesar. 4 00:00:14,710 --> 00:00:19,670 ძირითადი ტექსტი არის enciphered გამოყენებით სიმებიანი ნაცვლად რიცხვი. 5 00:00:19,670 --> 00:00:22,970 თითოეული ანბანურ პერსონაჟი ძირითადი ტექსტი არის გადაინაცვლებს მიერ 6 00:00:22,970 --> 00:00:24,450 წერილი სიტყვით. 7 00:00:24,450 --> 00:00:30,860 >> ამ მაგალითში სიტყვით ohai, O შეესაბამება ცვლის 14; H to 8 00:00:30,860 --> 00:00:36,910 ცვლის 7;, ცვლის 0, და მე ცვლის 8. 9 00:00:36,910 --> 00:00:40,710 თუ თქვენ წარმატებით განხორციელდა თქვენი კეისრის კოდი, ეს იქნება ლამაზი 10 00:00:40,710 --> 00:00:43,510 ფარგლებში, რომლის მეშვეობითაც თქვენ შეიძლება განახორციელოს Vigenere. 11 00:00:43,510 --> 00:00:47,140 როგორც ხედავთ, გაშვებული Vigenere შიფრი ერთი ხასიათი, როგორც 12 00:00:47,140 --> 00:00:51,830 სიტყვით ერთი და იგივეა როგორც კეისრის კოდი. 13 00:00:51,830 --> 00:00:55,170 >> იგივე ნაბიჯები ვრცელდება Vigenere როგორც ისინი მსოფლიოს Caesar. 14 00:00:55,170 --> 00:01:01,240 სიტყვით არის მეორე ბრძანება ხაზი არგუმენტი, ასე რომ თქვენ წვდომის იგი argv1. 15 00:01:01,240 --> 00:01:05,400 მაშინ თქვენ უნდა გადაამოწმონ, რომ გასაღები სიტყვა არის მართლაც ყველა ანბანურ. 16 00:01:05,400 --> 00:01:09,040 აქ არის, სადაც არის alpha შეიძლება მოდის მოსახერხებელი. 17 00:01:09,040 --> 00:01:13,550 თუ თქვენ გაქვთ სწორი სიტყვით, თქვენ ძალა შესახებ, შემდეგ კი 18 00:01:13,550 --> 00:01:15,820 მზად ხართ encipher. 19 00:01:15,820 --> 00:01:20,840 >> Vigenere შიფრი ფორმულა მსგავსი to Caesar ფორმულა, გარდა ახლა ლ 20 00:01:20,840 --> 00:01:27,650 ხდება k სიახლეები j, რაც მიუთითებს j-th წერილი სიტყვით. 21 00:01:27,650 --> 00:01:29,640 მოდით ნაბიჯ მეშვეობით ამ პროცესს. 22 00:01:29,640 --> 00:01:34,060 ამბობენ, რომ თქვენ სურდა გაგზავნას გაგზავნა თქვენს ავარიის, მომწონს, მაგრამ არა 23 00:01:34,060 --> 00:01:35,190 მინდა ყველამ იცოდეს. 24 00:01:35,190 --> 00:01:39,800 ასე, რომ თქვენ გამოიყენოთ Vigenere შიფრი ერთად სიტყვით panda, რადგან, კარგად, თქვენ ასევე 25 00:01:39,800 --> 00:01:41,160 მინდა pandas. 26 00:01:41,160 --> 00:01:47,140 >> პირველი წერილი, I, გადაინაცვლებს by ჟ, რაც x, 15 ასო შემდეგ მე, 27 00:01:47,140 --> 00:01:52,850 იმიტომ, რომ 15 საათამდე მე -16 წერილი ანბანი. 28 00:01:52,850 --> 00:01:56,750 მომდევნო ასო ძირითადი ტექსტი არის სივრცეში, ისე, რომ არ იქნება გადაინაცვლებს. 29 00:01:56,750 --> 00:02:00,420 ხოლო ინდექსი სიტყვით არ შეიცვლება. 30 00:02:00,420 --> 00:02:05,440 >> მაშინ მომდევნო წერილში მარტივი ტექსტის არის ლ გადაინაცვლებს მიერ, რომელიც არ გადაიტანოს 31 00:02:05,440 --> 00:02:10,930 ძირითადი ტექსტის წერილი ყველა, რადგან არის 0th წერილი ანბანი. 32 00:02:10,930 --> 00:02:14,980 პროცესი გრძელდება, მიიწევს სიტყვით ხასიათი ყოველ ჯერზე არსებობს 33 00:02:14,980 --> 00:02:16,840 წერილი ძირითადი ტექსტი. 34 00:02:16,840 --> 00:02:21,850 მას შემდეგ, რაც ბოლო წერილი სიტყვით არის მიღწეული, სიტყვით დაასრულა გარშემო და 35 00:02:21,850 --> 00:02:25,890 ძვრები მომდევნო ბარის ტექსტის წერილი ჟ. 36 00:02:25,890 --> 00:02:27,170 X lvne noh. 37 00:02:27,170 --> 00:02:29,180 როგორ რომანტიული. 38 00:02:29,180 --> 00:02:33,120 >> ასე რომ, მოცემულ ხასიათი, როგორ გარდაქმნას რომ შევიდა შესაბამისი 39 00:02:33,120 --> 00:02:34,590 შიფრი ცვლა? 40 00:02:34,590 --> 00:02:37,870 სცადეთ შედარებით ASCII ღირებულებები ცვლის. 41 00:02:37,870 --> 00:02:41,530 იქნებ შეგიძლიათ ურთიერთობისათვის შორის წერილები და მათი 42 00:02:41,530 --> 00:02:44,550 ანბანური მაჩვენებელი გამოყენებით ASCII მათემატიკის. 43 00:02:44,550 --> 00:02:48,850 შეგიძლიათ დაამატოთ ან სხვაობა ერთი ხასიათი მეორე მისაღებად 44 00:02:48,850 --> 00:02:51,630 თქვენ სასურველ შედეგს? 45 00:02:51,630 --> 00:02:55,480 >> გახსოვდეთ, რომ ძვრები for ზედა და ამას ასო იგივეა. 46 00:02:55,480 --> 00:02:59,510 ასე რომ, შესაძლოა, თქვენ უნდა იდენტიფიცირება ორი მსგავსი ფორმულები წარმოადგენს 47 00:02:59,510 --> 00:03:03,570 ცვლა, ერთი ზედა სიტყვით ხასიათი და ერთი 48 00:03:03,570 --> 00:03:06,510 ამისთვის ამას ერთი. 49 00:03:06,510 --> 00:03:10,630 >> შემდეგი გახსოვდეთ, რომ სიტყვით მიღწევების მხოლოდ იმ შემთხვევაში თუ პერსონაჟი 50 00:03:10,630 --> 00:03:13,520 ძირითადი ტექსტი არის წერილი და რომ იმ შემთხვევაში, ბარის 51 00:03:13,520 --> 00:03:16,020 ტექსტი უნდა იყოს დაცული. 52 00:03:16,020 --> 00:03:20,280 ასე რომ, თუ დავაკვირდებით ფორმულა Vigenere ცვლა, არსებობს ორი ინდექსი 53 00:03:20,280 --> 00:03:22,880 ცვლადები, i და j. 54 00:03:22,880 --> 00:03:26,795 ერთი ინახება პოზიცია მარტივი ტექსტი და სხვა თანამდებობაზე 55 00:03:26,795 --> 00:03:27,910 ამ სიტყვით. 56 00:03:27,910 --> 00:03:32,960 მაგრამ თქვენი ძირითადი ტექსტი შეიძლება იყოს ბევრად უფრო ვიდრე თქვენი სიტყვით, ამ შემთხვევაში თქვენი 57 00:03:32,960 --> 00:03:38,290 სიტყვით ინდექსი უნდა გადაიტანოთ გარშემო უკან დასაწყისში სიტყვით. 58 00:03:38,290 --> 00:03:39,870 >> როგორ გავაკეთოთ ეს? 59 00:03:39,870 --> 00:03:43,740 მოდით ვიხსენებთ modulo ოპერატორს. 60 00:03:43,740 --> 00:03:47,280 Modulo განისაზღვრება არის დარჩენილი გამყოფი ორი ნომერი. 61 00:03:47,280 --> 00:03:50,680 მაგრამ რა არის რეალური პრაქტიკული გამოყენება modulo? 62 00:03:50,680 --> 00:03:54,340 >> ისე, ამბობენ, რომ თქვენ გაქვთ დიდი ჯგუფი ადამიანი, და თქვენ უნდა დაყოს შევიდა 63 00:03:54,340 --> 00:03:55,100 სამ ჯგუფად. 64 00:03:55,100 --> 00:03:59,500 ერთი გზა დაყოფის ადამიანების ჯგუფები არის იმისათვის, რომ მათ ითვლიან მოედანი. 65 00:03:59,500 --> 00:04:03,520 თქვენ რაოდენობის ჯგუფებს ჯგუფი ნომერი 1, 2 და 3. 66 00:04:03,520 --> 00:04:08,510 პირველი პირი იტყვის 1, მომდევნო 2, მომდევნო 3. 67 00:04:08,510 --> 00:04:12,860 პირი ამის შემდეგ იტყვის 1, რადგან არ არის ჯგუფი 4, და 68 00:04:12,860 --> 00:04:15,880 რაოდენობა იწყება მეტი იქიდან. 69 00:04:15,880 --> 00:04:18,209 >> თქვენ შეგიძლიათ გამოიყენოთ modulo to გავაკეთოთ იგივე. 70 00:04:18,209 --> 00:04:22,680 ამჯერად, ჯგუფები იყოს ჯგუფური 0, 1 და 2. 71 00:04:22,680 --> 00:04:26,960 პირველი პირი, ნომერი 1 modulo 3, არის 1. 72 00:04:26,960 --> 00:04:29,830 პირი 2 modulo 3 2. 73 00:04:29,830 --> 00:04:32,460 პირი 3 modulo 3 0. 74 00:04:32,460 --> 00:04:38,470 პირი 4 modulo 3 აძლევს 1, და ა.შ. ჯგუფები შეიძლება გადაიტანოთ გარშემო. 75 00:04:38,470 --> 00:04:44,700 >> ასე რომ, თუ შენ ინდექსი და modulo რომ მაჩვენებელი მაქსიმალური ზომა, 76 00:04:44,700 --> 00:04:49,820 შედეგი არასოდეს იქნება მეტია ან თანაბარი ზომის, რაც იმას ნიშნავს, რომ თქვენ 77 00:04:49,820 --> 00:04:52,330 გაზრდის მაჩვენებელი, როგორც რამდენიც გსურთ. 78 00:04:52,330 --> 00:04:57,400 და რადგან თქვენ modulo მაჩვენებელი ზოგიერთი ნომერზე, თქვენ ვერ მიიღებენ ნომერი 79 00:04:57,400 --> 00:04:58,510 უფრო დიდი ვიდრე. 80 00:04:58,510 --> 00:05:04,500 ასე რომ, ჩვენ გვაქვს 10 ადამიანი ნაცვლად 5 და ისინი ყველა მივიღებთ ენიჭება ჯგუფები 81 00:05:04,500 --> 00:05:07,480 ნომერი 0, 1, ან 2. 82 00:05:07,480 --> 00:05:11,680 >> სცადეთ გამოიყენოს ეს უნდა შეფუთვა მეტი სიტყვით, გარდა ნაცვლად დახარისხება 83 00:05:11,680 --> 00:05:16,050 ადამიანების ჯგუფს ნომრები გსურთ ინდექსის სიტყვით, ასე რომ შეგიძლიათ 84 00:05:16,050 --> 00:05:19,080 მიიღოს უფლება ხასიათი გადაიტანოს გარეშე აღემატება 85 00:05:19,080 --> 00:05:21,836 ხანგრძლივობა სიმებიანი. 86 00:05:21,836 --> 00:05:24,790 ამასთან, თქვენ თქვენი Vigenere შიფრი. 87 00:05:24,790 --> 00:05:27,790 ჩემი სახელი Zamyla, და ეს არის CS50. 88 00:05:27,790 --> 00:05:32,566