1 00:00:00,000 --> 00:00:10,101 >> [Halisi kucheza] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA CHAN: Hebu kutekeleza Vigenere, zaidi kidogo ya 3 00:00:12,700 --> 00:00:14,710 kupata cipher kuliko Kaisari. 4 00:00:14,710 --> 00:00:19,670 Nakala wazi ni enciphered kutumia kamba badala ya integer. 5 00:00:19,670 --> 00:00:22,970 Kila tabia herufi katika Nakala wazi ni kubadilishwa kwa 6 00:00:22,970 --> 00:00:24,450 barua katika Keyword. 7 00:00:24,450 --> 00:00:30,860 >> Katika mfano huu, Keyword ohai, O sambamba na mabadiliko ya 14; H kwa 8 00:00:30,860 --> 00:00:36,910 kuhama ya 7; kuhama, ya 0; na mimi mabadiliko ya 8. 9 00:00:36,910 --> 00:00:40,710 Kama wameweza kwa mafanikio yako Kaisari cipher, utakuwa ni nzuri 10 00:00:40,710 --> 00:00:43,510 mfumo ambayo wewe inaweza kutekeleza Vigenere. 11 00:00:43,510 --> 00:00:47,140 Kama unaweza kuona, mbio Vigenere cipher na tabia moja kama 12 00:00:47,140 --> 00:00:51,830 Keyword ni kitu kimoja kama cipher Kaisari. 13 00:00:51,830 --> 00:00:55,170 >> hatua hiyo kuomba Vigenere kama walivyofanya katika Kaisari. 14 00:00:55,170 --> 00:01:01,240 Keyword ni ya pili ya mstari amri hoja, hivyo kupata huduma hiyo na argv1. 15 00:01:01,240 --> 00:01:05,400 Basi haja ya kuthibitisha kuwa muhimu neno ni kweli kila herufi. 16 00:01:05,400 --> 00:01:09,040 Hapa ni wapi alpha wanaweza kuja katika Handy. 17 00:01:09,040 --> 00:01:13,550 Kama una Keyword halali, kupata nguvu kutoka kwa mtumiaji, na kisha 18 00:01:13,550 --> 00:01:15,820 uko tayari kwa encipher. 19 00:01:15,820 --> 00:01:20,840 >> Cipher Vigenere formula ni sawa Kaisari formula, ila sasa k 20 00:01:20,840 --> 00:01:27,650 inakuwa k subscript j, kuonyesha barua j-th wa Keyword. 21 00:01:27,650 --> 00:01:29,640 Hebu hatua kupitia mchakato huu. 22 00:01:29,640 --> 00:01:34,060 Sema alitaka kutuma ujumbe kwa yako ajali, mimi kama wewe, lakini huna 23 00:01:34,060 --> 00:01:35,190 nataka kila mtu kujua. 24 00:01:35,190 --> 00:01:39,800 Hivyo unaweza kutumia cipher Vigenere na Keyword panda, kwa sababu, vizuri, wewe pia 25 00:01:39,800 --> 00:01:41,160 kama pandas. 26 00:01:41,160 --> 00:01:47,140 >> barua ya kwanza, mimi, itakuwa kubadilishwa na p, kutoa x, barua 15 baada ya mimi, 27 00:01:47,140 --> 00:01:52,850 kwa sababu 15 p ni 16 barua ya alfabeti. 28 00:01:52,850 --> 00:01:56,750 barua ijayo katika maandishi wazi ni nafasi, hivyo kuwa ya kubadilishwa. 29 00:01:56,750 --> 00:02:00,420 Na index ya Keyword si mabadiliko. 30 00:02:00,420 --> 00:02:05,440 >> Kisha barua ijayo katika maandishi wazi ni l, kubadilishwa kwa, ambayo haina kuhama 31 00:02:05,440 --> 00:02:10,930 Nakala wazi barua wakati wote, kwa sababu ni barua 0 ya alfabeti. 32 00:02:10,930 --> 00:02:14,980 mchakato unaendelea, kuendeleza Keyword tabia kila wakati kuna 33 00:02:14,980 --> 00:02:16,840 mbili katika maandishi wazi. 34 00:02:16,840 --> 00:02:21,850 Mara baada ya barua ya mwisho katika Keyword ni kufikiwa, Keyword Wraps kuzunguka na 35 00:02:21,850 --> 00:02:25,890 mabadiliko ya wazi ijayo Nakala mbili na p. 36 00:02:25,890 --> 00:02:27,170 X lvne NOH. 37 00:02:27,170 --> 00:02:29,180 Jinsi ya kimapenzi. 38 00:02:29,180 --> 00:02:33,120 >> Hivyo kutokana na tabia, ni jinsi gani unaweza kubadilisha kwamba katika sambamba 39 00:02:33,120 --> 00:02:34,590 cipher kuhama? 40 00:02:34,590 --> 00:02:37,870 Jaribu kulinganisha ASCII maadili kwa kuhama. 41 00:02:37,870 --> 00:02:41,530 Labda unaweza kupata uhusiano kati ya herufi na wao 42 00:02:41,530 --> 00:02:44,550 herufi index kutumia math ASCII. 43 00:02:44,550 --> 00:02:48,850 Unaweza kuongeza au Ondoa moja tabia kutoka mwingine kupata 44 00:02:48,850 --> 00:02:51,630 wewe matokeo taka? 45 00:02:51,630 --> 00:02:55,480 >> Kumbuka kwamba mabadiliko kwa herufi kubwa na herufi ndogo ni sawa. 46 00:02:55,480 --> 00:02:59,510 Hivyo labda itabidi kutambua mbili formula sawa na kuwakilisha 47 00:02:59,510 --> 00:03:03,570 kuhama, moja kwa herufi kubwa Keyword tabia, na moja 48 00:03:03,570 --> 00:03:06,510 kwa moja lowercase. 49 00:03:06,510 --> 00:03:10,630 >> Ijayo, kumbuka kwamba maendeleo Keyword tu kama tabia katika 50 00:03:10,630 --> 00:03:13,520 Nakala wazi ni barua na kwamba kesi ya wazi 51 00:03:13,520 --> 00:03:16,020 Nakala lazima zihifadhiwe. 52 00:03:16,020 --> 00:03:20,280 Hivyo kama sisi kuangalia formula kwa ajili ya Vigenere kuhama, kuna mambo mawili index 53 00:03:20,280 --> 00:03:22,880 vigezo, i na j. 54 00:03:22,880 --> 00:03:26,795 Moja anaendelea kufuatilia msimamo katika bonde maandishi, na wengine nafasi 55 00:03:26,795 --> 00:03:27,910 katika Keyword. 56 00:03:27,910 --> 00:03:32,960 Lakini maandishi yako wazi kuwa sana tena kuliko Keyword yako, katika kesi ambayo yako 57 00:03:32,960 --> 00:03:38,290 Keyword index inahitaji wrap kuzunguka nyuma mwanzo wa Keyword. 58 00:03:38,290 --> 00:03:39,870 >> Jinsi gani unaweza kufanya hili? 59 00:03:39,870 --> 00:03:43,740 Hebu kuangalia nyuma katika modulo operator. 60 00:03:43,740 --> 00:03:47,280 Modulo inaelezwa ni salio ya kugawa namba mbili. 61 00:03:47,280 --> 00:03:50,680 Lakini nini vitendo halisi matumizi ya modulo? 62 00:03:50,680 --> 00:03:54,340 >> Naam, kusema kuwa kundi kubwa la watu, na unahitaji kugawanya katika 63 00:03:54,340 --> 00:03:55,100 makundi matatu. 64 00:03:55,100 --> 00:03:59,500 Moja ya njia ya kugawanya watu katika makundi ni kuwa na wao kuhesabu mbali. 65 00:03:59,500 --> 00:04:03,520 Wewe idadi kundi vikundi namba 1, 2, na 3. 66 00:04:03,520 --> 00:04:08,510 mtu wa kwanza kusema 1, 2 ijayo, 3 ijayo. 67 00:04:08,510 --> 00:04:12,860 mtu baada ya kuwa watasema 1, kwa sababu hakuna kikundi 4, na 68 00:04:12,860 --> 00:04:15,880 wanawake kuanza juu kutoka huko. 69 00:04:15,880 --> 00:04:18,209 >> Unaweza kutumia modulo kwa kufanya kitu kimoja. 70 00:04:18,209 --> 00:04:22,680 Wakati huu, vikundi vya mapenzi kuwa kikundi 0, 1, na 2. 71 00:04:22,680 --> 00:04:26,960 Mtu wa kwanza, idadi 1 modulo 3, ni 1. 72 00:04:26,960 --> 00:04:29,830 2 mtu modulo 3 ni 2. 73 00:04:29,830 --> 00:04:32,460 3 mtu modulo 3 ni 0. 74 00:04:32,460 --> 00:04:38,470 4 mtu modulo 3 anatoa 1, na hivyo vikundi vinaweza wrap kote. 75 00:04:38,470 --> 00:04:44,700 >> Hivyo kama wewe kuchukua index na modulo kwamba index na ukubwa wa upeo, 76 00:04:44,700 --> 00:04:49,820 matokeo kamwe kuwa zaidi au sawa na ukubwa, kwa maana ya kwamba 77 00:04:49,820 --> 00:04:52,330 inaweza kuongeza index kama kiasi kama wewe Ningependa. 78 00:04:52,330 --> 00:04:57,400 Na muda mrefu kama wewe modulo index kwa idadi fulani, huwezi kupata idadi 79 00:04:57,400 --> 00:04:58,510 kubwa kuliko ile. 80 00:04:58,510 --> 00:05:04,500 Hivyo tuna watu 10 badala ya 5, na wangeweza wote kupata ajili ya vikundi vya 81 00:05:04,500 --> 00:05:07,480 idadi 0, 1, au 2. 82 00:05:07,480 --> 00:05:11,680 >> Kujaribu kuomba hii kwa zaidi ya wrapping Keyword, ila badala ya kuchagua 83 00:05:11,680 --> 00:05:16,050 watu ndani ya kundi idadi unataka index ya Keyword ili uweze 84 00:05:16,050 --> 00:05:19,080 kupata tabia ya haki kwa kuhama bila mno 85 00:05:19,080 --> 00:05:21,836 urefu wa kamba. 86 00:05:21,836 --> 00:05:24,790 Pamoja na kwamba, una yako Vigenere cipher. 87 00:05:24,790 --> 00:05:27,790 Jina langu ni Zamyla, na hii ni CS50. 88 00:05:27,790 --> 00:05:32,566