1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Vigenère cipher] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison - ჰარვარდის უნივერსიტეტი] 3 00:00:04,000 --> 00:00:07,000 [ეს არის CS50. - CS50.TV] 4 00:00:07,000 --> 00:00:09,000 გაიცანი Alice. 5 00:00:09,000 --> 00:00:11,260 Alice აქვს Crush წლის ბობ. 6 00:00:11,260 --> 00:00:15,030 საბედნიეროდ Alice, ბობ ასევე აქვს თვალების მისთვის. 7 00:00:15,030 --> 00:00:17,700 სამწუხაროდ მათი დაწყებული რომანი, 8 00:00:17,700 --> 00:00:20,580 არა მხოლოდ არ Alice მშობლები disapprove of ბობ, 9 00:00:20,580 --> 00:00:23,820 მაგრამ Alice საუკეთესო მეგობარი, Evelyn, აქვს საიდუმლო Crush წლის ბობ 10 00:00:23,820 --> 00:00:27,290 და selfishly სურს შეინახოთ გარდა ნებისმიერ ფასად. 11 00:00:27,290 --> 00:00:31,280 გამოაგზავნოს საიდუმლო შეტყობინებები ერთმანეთს რომ Alice მშობლები ვერ ვხვდები, 12 00:00:31,280 --> 00:00:34,140 >> Alice და ბობ არ იყენებს კეისრის კოდი, 13 00:00:34,140 --> 00:00:37,410 რომელიც მუშაობს მიერ გადასვლის ანბანი მიერ გარკვეული რაოდენობის ასოები 14 00:00:37,410 --> 00:00:39,800 როგორც გზა გენერირება ახალი ანბანი. 15 00:00:39,800 --> 00:00:44,130 თითოეული ასო ორიგინალური ანბანი შემდეგ შეცვალა თავისი შესაბამისი წერილი 16 00:00:44,130 --> 00:00:46,920 ახალ გადავიდა ანბანი. 17 00:00:46,920 --> 00:00:50,240 Alice-მისი საყვარელი ნომერი 3, რომელიც ბობ იცის, 18 00:00:50,240 --> 00:00:52,450 ასე რომ, ის იყენებს 3 როგორც მისი გასაღები. 19 00:00:52,450 --> 00:00:55,430 როდესაც იგი გადადის ინგლისურ ანბანში 3 წერილებს, 20 00:00:55,430 --> 00:01:00,680 ხდება D, B ხდება E, C ხდება F, 21 00:01:00,680 --> 00:01:02,670 და სხვ. 22 00:01:02,670 --> 00:01:07,460 >> როდესაც იგი იღებს ბოლომდე ანბანი - მდე წერილებს X, Y, Z და - 23 00:01:07,460 --> 00:01:09,970 მან მხოლოდ დასრულდება გარშემო თავში დასაწყისში ანბანი 24 00:01:09,970 --> 00:01:14,850 და შემცვლელი X ერთად, Y ერთად B, და Z ერთად C. 25 00:01:14,850 --> 00:01:18,550 ასე რომ, როდესაც Alice ღებულობენ გაშიფრავს მისი საიდუმლო გზავნილი ბობ, 26 00:01:18,550 --> 00:01:21,520 კერძოდ "Meet me at პარკის თერთმეტი საათისთვის," 27 00:01:21,520 --> 00:01:23,790 მან მხოლოდ იღებს შესაბამის substitutions. 28 00:01:23,790 --> 00:01:30,900 M ხდება P, E ხდება H, და ასე შემდეგ, სანამ მისი unencrypted ძირითადი ტექსტი გაგზავნა 29 00:01:30,900 --> 00:01:34,350 არის ქცეული დაშიფრული cipher ტექსტი: 30 00:01:34,350 --> 00:01:37,280 "Phhw ph DW wkh sdun DW hohyhq DP" 31 00:01:37,280 --> 00:01:39,370 ნამდვილად არ ყველაზე რომანტიკული sounding, 32 00:01:39,370 --> 00:01:41,650 მაგრამ Alice თვლიან, რომ გავაკეთებ. 33 00:01:41,650 --> 00:01:45,140 >> Alice აძლევს შეტყობინება Evelyn გამოაქვეყნებს to ბობ სახლში. 34 00:01:45,140 --> 00:01:50,030 მაგრამ Evelyn ნაცვლად იღებს მას უკან მისი ოთახი და ცდილობს ბზარი კოდი. 35 00:01:50,030 --> 00:01:55,470 ერთი პირველი რამ Evelyn განაცხადები არის, რომ წერილში H ხდება 7 ჯერ გაგზავნა, 36 00:01:55,470 --> 00:01:58,930 მრავალი სხვა ჯერ, ვიდრე ნებისმიერი სხვა წერილში. 37 00:01:58,930 --> 00:02:01,960 იცის, რომ წერილში E არის ყველაზე გავრცელებული ინგლისურ ენაზე, 38 00:02:01,960 --> 00:02:05,390 ხდება თითქმის 13% დროს, 39 00:02:05,390 --> 00:02:09,910 Evelyn ხვდება, რომ H უკვე შეიცვალოს E რათა საიდუმლო გაგზავნა 40 00:02:09,910 --> 00:02:14,030 და ცდილობს გამოყენებით გასაღები 3 დან გაშიფვრა იგი. 41 00:02:14,030 --> 00:02:19,700 >> ფარგლებში წუთი, Evelyn გათვლით out Alice გეგმები და evilly მოუწოდებს Alice მშობლები. 42 00:02:19,700 --> 00:02:22,700 ჰქონდა Alice და ბობ მიღებული CS50, ისინი არ იცნობენ ამ 43 00:02:22,700 --> 00:02:25,750 სიხშირე-ანალიზის თავდასხმის კეისრის კოდი, 44 00:02:25,750 --> 00:02:28,310 რაც საშუალებას აძლევს მას დაირღვეს საკმაოდ სწრაფად. 45 00:02:28,310 --> 00:02:32,590 თვითონაც ცნობილია, რომ cipher ადვილად ექვემდებარება უხეში-ძალები დაესხნენ თავს, 46 00:02:32,590 --> 00:02:35,940 რის Evelyn შეეძლო ცდილობდა ყველა შესაძლო 25 გასაღებები, 47 00:02:35,940 --> 00:02:38,440 ან ცვლაში ინგლისური ანბანი, 48 00:02:38,440 --> 00:02:40,490 რათა decipher გაგზავნა. 49 00:02:40,490 --> 00:02:43,710 რატომ 25 გასაღებები და არ 26? 50 00:02:43,710 --> 00:02:49,010 >> კარგად, ვცდილობთ გადასვლის ნებისმიერი წერილი 26 პოზიციებზე, და თქვენ ნახავთ, თუ რატომ. 51 00:02:49,010 --> 00:02:52,280 ყოველ შემთხვევაში, უხეში-Force თავდასხმა იქნებოდა მიღებული Evelyn bit longer 52 00:02:52,280 --> 00:02:56,070 მაგრამ არა ხანგრძლივი საკმარისი შენარჩუნება მას ჩაშლის Alice და ბობ გეგმები, 53 00:02:56,070 --> 00:02:58,660 განსაკუთრებით თუ Evelyn აქვს დახმარების კომპიუტერი 54 00:02:58,660 --> 00:03:02,640 რაც შეიძლება დააკოპიროთ მთელი 25 საქმეებზე მყისიერი. 55 00:03:02,640 --> 00:03:06,170 ასე რომ, ეს პრობლემა ასევე ხშირია სხვა, რომლებიც გამოიყენება კეისრის კოდი, 56 00:03:06,170 --> 00:03:10,300 და ამიტომ ხალხს დაიწყო ექსპერიმენტირება უფრო რთული ჩანაცვლებითი ciphers 57 00:03:10,300 --> 00:03:14,190 იმას რომ მრავალჯერადი ცვლა ფასეულობების ნაცვლად მხოლოდ ერთი. 58 00:03:14,190 --> 00:03:18,080 ერთი ყველაზე ცნობილი ამ ეწოდება Vigenère cipher. 59 00:03:18,080 --> 00:03:19,980 როგორ მივიღებთ მრავალჯერადი ცვლა ღირებულებები? 60 00:03:19,980 --> 00:03:24,630 ისე, ნაცვლად გამოყენებით ხმების როგორც გასაღები, ჩვენ ვიყენებთ სიტყვა გასაღები. 61 00:03:24,630 --> 00:03:27,940 ჩვენ ვიყენებთ ყოველ ასო გასაღები გენერირებისათვის ნომერი, 62 00:03:27,940 --> 00:03:33,670 და ეფექტი არის ის, რომ ჩვენ გვექნება მრავალჯერადი კეისრის კოდი ტიპის გასაღებები ამისთვის გადასვლის წერილებს. 63 00:03:33,670 --> 00:03:36,620 >> ვნახოთ როგორ ამ ნამუშევრების encrypting Alice გზავნილი Bob: 64 00:03:36,620 --> 00:03:39,010 Meet me at პარკის თერთმეტი საათისთვის 65 00:03:39,010 --> 00:03:42,610 მე, პირადად, ვფიქრობ, ბეკონი არის გემრიელი, 66 00:03:42,610 --> 00:03:44,480 მოდით გამოვიყენოთ, რომ როგორც გასაღები. 67 00:03:44,480 --> 00:03:48,220 თუ ავიღებთ გაგზავნა თავის unencrypted, ჩვეულებრივი ტექსტში ფორმატში, 68 00:03:48,220 --> 00:03:51,020 ჩვენ ვხედავთ, რომ 25 წერილებს ხანგრძლივი. 69 00:03:51,020 --> 00:03:55,020 ბეკონის მხოლოდ 5 წერილებს, ამიტომაც ჩვენ უნდა გავიმეოროთ ის 5 ჯერ 70 00:03:55,020 --> 00:03:57,200 რათა ის ემთხვევა სიგრძეზე ძირითადი ტექსტი. 71 00:03:57,200 --> 00:03:59,880 >> ბეკონის ბეკონი ბეკონი ბეკონი ბეკონი. 72 00:03:59,880 --> 00:04:02,300 როგორც მოკლე განზე, თუ ხმების შრიფტით ძირითადი ტექსტი 73 00:04:02,300 --> 00:04:05,780 არ დაყოს cleanly მიერ პუნქტების წერილები გასაღები, 74 00:04:05,780 --> 00:04:08,260 ჩვენ უბრალოდ დასრულდება საბოლოო განმეორება ჩვენი გასაღები დასაწყისში, 75 00:04:08,260 --> 00:04:11,800 გამოყენებით მხოლოდ წერილებს გვჭირდებოდა, რათა ყველაფერი ემთხვევა up. 76 00:04:11,800 --> 00:04:14,590 ახლა ჩვენ წავიდეთ შესახებ მოძიებაში ცვლა ღირებულებებს. 77 00:04:14,590 --> 00:04:19,100 >> ჩვენ ვაპირებთ ამის გამოყენებით თანამდებობა თითოეული წერილში ჩვენი გასაღები - ბეკონი - 78 00:04:19,100 --> 00:04:21,560 in to Z ანბანის. 79 00:04:21,560 --> 00:04:26,060 მას შემდეგ, რაც ჩვენ კომპიუტერის მეცნიერები, ჩვენ გვსურს დაიწყება დათვლის დროს ნულოვანი ნაცვლად 1, 80 00:04:26,060 --> 00:04:30,230 ამიტომ ჩვენ ვაპირებთ ვთქვა, რომ პოზიცია პირველი წერილი ბეკონი - B - 81 00:04:30,230 --> 00:04:33,840 არის პოზიცია 1 in ნულოვანი ინდექსირებულ დან Z ანბანი, 82 00:04:33,840 --> 00:04:38,300 არ 2, და პოზიცია არის ნულოვანი, არ 1. 83 00:04:38,300 --> 00:04:42,450 გამოყენება ამ ალგორითმი, ჩვენ შეგვიძლია მოვძებნოთ ცვლა ფასეულობების თითოეული წერილში. 84 00:04:42,450 --> 00:04:45,330 >> დაშიფვრა ძირითადი ტექსტი და შემდეგ cipher ტექსტი, 85 00:04:45,330 --> 00:04:49,070 ჩვენ უბრალოდ გადაეტანა თითოეული ასო ძირითადი ტექსტი მიერ მითითებულ თანხას, 86 00:04:49,070 --> 00:04:54,140 ისევე, როგორც ჩვენ არ უკავშირდება კეისრის კოდი, შესაფუთი დან Z თავში საჭიროების შემთხვევაში. 87 00:04:54,140 --> 00:04:57,880 M იღებს გადავიდა მიერ 1 ადგილი, გახდეს ნ 88 00:04:57,880 --> 00:05:02,350 პირველი E არ გადაიტანოს, მაგრამ ჩვენ გადაეტანა მეორე E მიერ 2 ადგილებში G 89 00:05:02,350 --> 00:05:06,200 და T მიერ 14 ადგილებში H. 90 00:05:06,200 --> 00:05:08,610 თუ ვმუშაობთ მეშვეობით ძირითადი ტექსტი, ჩვენ დასრულდება up ერთად, 91 00:05:08,610 --> 00:05:12,580 "Negh zf AV HUF pcfx BT gzrwep oz." 92 00:05:12,580 --> 00:05:16,620 ერთხელ, არც ისე რომანტიული-sounding მაგრამ აუცილებლად cryptic. 93 00:05:16,620 --> 00:05:19,750 თუ Alice და ბობ შესახებ ყველაფერი იცოდა Vigenère cipher, 94 00:05:19,750 --> 00:05:23,330 რომ ისინი არ ყოფილა დაზღვეული Evelyn ს prying თვალში? 95 00:05:23,330 --> 00:05:24,870 რას ფიქრობთ? 96 00:05:24,870 --> 00:05:27,450 გსურთ, რომ გსურთ სისტემიდან თქვენს საბანკო ანგარიშზე თუ თქვენი საბანკო მოედანზე გამოვიდა 97 00:05:27,450 --> 00:05:32,720 >> Vigenère cipher დაშიფვრა თქვენი ურთიერთობა გამოყენებით თქვენი პაროლი, როგორც თქვენი გასაღები? 98 00:05:32,720 --> 00:05:34,810 მე რომ თქვენ, მე არ. 99 00:05:34,810 --> 00:05:38,720 ხოლო Evelyn შეიძლება ინახება დაკავებული ხანგრძლივი საკმარისი Alice და ბობ ჰქონდეთ თავისი შეხვდება-up, 100 00:05:38,720 --> 00:05:41,600 ეს არ ღირს ამისთვის Alice და ბობ რომ მოსალოდნელი იყო. 101 00:05:41,600 --> 00:05:45,780 Vigenère cipher შედარებით ადვილი შესვენება თუ იცით სიგრძეზე გასაღები 102 00:05:45,780 --> 00:05:48,490 რადგან მაშინ მკურნალობა დაშიფრული cipher ტექსტი 103 00:05:48,490 --> 00:05:52,840 როგორც პროდუქტი რამდენიმე interwoven Caesar ciphers. 104 00:05:52,840 --> 00:05:55,950 >> Finding სიგრძეზე გასაღები არ არის საშინლად მძიმე, ან. 105 00:05:55,950 --> 00:06:00,520 თუ ორიგინალური ბარის ტექსტში გაგზავნა არის ხანგრძლივი საკმარისი, რომ ზოგიერთი სიტყვა მოხდეს რამდენჯერმე, 106 00:06:00,520 --> 00:06:04,420 საბოლოოდ თქვენ ნახავთ განმეორება cropping up in დაშიფრული cipher ტექსტი, 107 00:06:04,420 --> 00:06:10,010 როგორც ამ მაგალითში, სადაც ხედავთ MONCY გამოჩნდება ორჯერ. 108 00:06:10,010 --> 00:06:13,800 გარდა ამისა, შეგიძლიათ შეასრულოს უხეში-Force თავდასხმის cipher. 109 00:06:13,800 --> 00:06:17,220 ეს იმას მიიღოს მნიშვნელოვნად აღემატებოდეს უხეში-Force თავდასხმის კეისრის კოდი, 110 00:06:17,220 --> 00:06:20,670 რაც შეიძლება გაკეთდეს თითქმის მომენტალურად ერთად კომპიუტერში 111 00:06:20,670 --> 00:06:27,130 რადგან ნაცვლად 25 შემთხვევებში, რათა შეამოწმოთ თქვენ მოხვდით 26 ⁿ - 1 შესაძლებლობები, 112 00:06:27,130 --> 00:06:29,580 სადაც n სიგრძეზე უცნობია გასაღები. 113 00:06:29,580 --> 00:06:34,040 >> ეს იმიტომ რომ ყოველი ასო გასაღები შეიძლება იყოს რომელიმე 26 წერილებს, 114 00:06:34,040 --> 00:06:38,280 მეშვეობით Z, და საღად მოაზროვნე ადამიანს შეეცდება გამოიყენოს გასაღები რომ არ შეიძლება ნაპოვნი ლექსიკონი, 115 00:06:38,280 --> 00:06:44,280 რაც იმას ნიშნავს, რომ თქვენ მინდა უნდა შეამოწმოთ ყველა უცნაური წერილი კომბინაციები, როგორიც ZXXXFF, 116 00:06:44,280 --> 00:06:47,690 და არა მხოლოდ რამდენიმე ასი ათასი სიტყვა ლექსიკონში. 117 00:06:47,690 --> 00:06:53,200 მინუს 1 ძალაში მათემატიკის იმიტომ, რომ თქვენ არ გსურთ გამოიყენოთ გასაღები მხოლოდ ის, 118 00:06:53,200 --> 00:06:56,200 მას შემდეგ, რაც ჩვენს ნულოვანი ინდექსირებულ ანბანი, რომელიც მოგცემთ იგივე ეფექტი 119 00:06:56,200 --> 00:06:59,620 როგორც გამოყენებით კეისრის კოდი ერთად გასაღები ნულოვანი. 120 00:06:59,620 --> 00:07:04,120 ყოველ შემთხვევაში, 26 ⁿ - 1 ამჯამად კიდევ დიდი საკმაოდ სწრაფად, 121 00:07:04,120 --> 00:07:08,080 მაგრამ სანამ შენ ნამდვილად არ შევეცდები არღვევს cipher ხელით ამ გზით, 122 00:07:08,080 --> 00:07:11,080 ეს აუცილებლად doable ერთად კომპიუტერში. 123 00:07:11,080 --> 00:07:14,030 საბედნიეროდ Alice და ბობ და ონლაინ საბანკო, 124 00:07:14,030 --> 00:07:17,890 cryptographers შევიმუშავეთ უფრო უსაფრთხო გზები დაშიფვრა საიდუმლო შეტყობინებები 125 00:07:17,890 --> 00:07:19,690 საწყისი prying თვალში. 126 00:07:19,690 --> 00:07:22,400 >> თუმცა, რომ თემა სხვა დროს. 127 00:07:22,400 --> 00:07:26,210 ჩემი სახელი არის Nate Hardison. ეს არის CS50.