1 00:00:00,000 --> 00:00:10,101 >> [Predvajanja glasbe] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA CHAN: Dajva izvajati Vigenere, nekoliko bolj 3 00:00:12,700 --> 00:00:14,710 zagotoviti šifra kot Cezarja. 4 00:00:14,710 --> 00:00:19,670 Golo besedilo je šifrirane uporabo Niz namesto celo število. 5 00:00:19,670 --> 00:00:22,970 Vsako črko v golo besedilo se premakne za 6 00:00:22,970 --> 00:00:24,450 črka na ključno besedo. 7 00:00:24,450 --> 00:00:30,860 >> V tem primeru je ključna beseda ohai, O ustreza premiku 14, H za 8 00:00:30,860 --> 00:00:36,910 premik z dne 7., A, premik 0, in sem premik 8.. 9 00:00:36,910 --> 00:00:40,710 Če ste se uspešno izvaja svoje Cezarjeva šifra, to bo lepo 10 00:00:40,710 --> 00:00:43,510 okvir, iz katerega ste lahko izvajajo Vigenere. 11 00:00:43,510 --> 00:00:47,140 Kot lahko vidite, teče Vigenere šifra z eno lastnost 12 00:00:47,140 --> 00:00:51,830 Ključna beseda je ista stvar kot Cezarjeva šifra. 13 00:00:51,830 --> 00:00:55,170 >> Enak postopek velja za Vigenere kot so to storili pri cesarju. 14 00:00:55,170 --> 00:01:01,240 Ključna beseda je drugi ukazni vrstici Trditev, tako da je dostop z argv1. 15 00:01:01,240 --> 00:01:05,400 Potem morate preveriti, da je ključ Beseda je res vse po abecednem redu. 16 00:01:05,400 --> 00:01:09,040 Tukaj je, kjer je alfa lahko pridejo v priročni. 17 00:01:09,040 --> 00:01:13,550 Če imate veljavno ključno besedo, boste dobili Moč od uporabnika, in nato 18 00:01:13,550 --> 00:01:15,820 ste pripravljeni za encipher. 19 00:01:15,820 --> 00:01:20,840 >> Šifra Formula Vigenere je podoben za Cezarja formuli, razen zdaj k 20 00:01:20,840 --> 00:01:27,650 postane k indeks j, z navedbo j-ti pismo ključno besedo. 21 00:01:27,650 --> 00:01:29,640 Stopimo skozi ta proces. 22 00:01:29,640 --> 00:01:34,060 Povejte, da ste želeli poslati sporočila, da svojim crash, vam je všeč, vendar jih ne 23 00:01:34,060 --> 00:01:35,190 vsi želijo vedeti. 24 00:01:35,190 --> 00:01:39,800 Torej, uporabite Vigenere šifre z Ključna beseda panda, ker, no, saj tudi 25 00:01:39,800 --> 00:01:41,160 všeč pandas. 26 00:01:41,160 --> 00:01:47,140 >> Prvo pismo, jaz, se bo premaknilo po p, daje x, 15 črk po I, 27 00:01:47,140 --> 00:01:52,850 ker 15 p 16. črka abecede. 28 00:01:52,850 --> 00:01:56,750 Naslednja črka v golo besedilo je prostora, tako da se ne bo spremenila. 29 00:01:56,750 --> 00:02:00,420 In indeks ključno besedo ne spremeni. 30 00:02:00,420 --> 00:02:05,440 >> Potem naslednja črka v golo besedilo je l, premakne, ki ne vklopi 31 00:02:05,440 --> 00:02:10,930 golo besedilo pisma sploh, ker je 0. črka abecede. 32 00:02:10,930 --> 00:02:14,980 Proces se nadaljuje, napreduje Ključna beseda lik vsakič tam 33 00:02:14,980 --> 00:02:16,840 črka v golo besedilo. 34 00:02:16,840 --> 00:02:21,850 Ko je zadnja črka v ključno besedo dosežena, ključne besede oblije in 35 00:02:21,850 --> 00:02:25,890 premiki na naslednji ravnini Besedilo pismo p. 36 00:02:25,890 --> 00:02:27,170 X lvne noh. 37 00:02:27,170 --> 00:02:29,180 Kako romantično. 38 00:02:29,180 --> 00:02:33,120 >> Torej, dal znak, kako spremeniti da v ustrezni 39 00:02:33,120 --> 00:02:34,590 šifra premik? 40 00:02:34,590 --> 00:02:37,870 Poskusite primerjavo ASCII Vrednosti na izmeno. 41 00:02:37,870 --> 00:02:41,530 Morda boste našli odnos Med črkami in njihovimi 42 00:02:41,530 --> 00:02:44,550 abecedni indeks pomočjo matematike ASCII. 43 00:02:44,550 --> 00:02:48,850 Lahko dodate ali odštejemo en znak od drugega, da bi dobili 44 00:02:48,850 --> 00:02:51,630 vam želeni rezultat? 45 00:02:51,630 --> 00:02:55,480 >> Ne pozabite, da so premiki za velikimi črkami in male črke so enaki. 46 00:02:55,480 --> 00:02:59,510 Torej, morda boste morali določiti dva podobne formule za zastopanje 47 00:02:59,510 --> 00:03:03,570 premik, eden za velikimi črkami Ključna beseda značaj, in ena 48 00:03:03,570 --> 00:03:06,510 za malimi črkami eno. 49 00:03:06,510 --> 00:03:10,630 >> Dalje, ne pozabite, da so ključne napredek samo če lik v 50 00:03:10,630 --> 00:03:13,520 golo besedilo je pismo in da Primer navaden 51 00:03:13,520 --> 00:03:16,020 Besedilo je treba ohraniti. 52 00:03:16,020 --> 00:03:20,280 Torej, če pogledamo formulo za Vigenere premik, obstajata dva indeksa 53 00:03:20,280 --> 00:03:22,880 spremenljivke, i in j. 54 00:03:22,880 --> 00:03:26,795 Ena beleži položaj v preprostem besedilo in drugi položaj 55 00:03:26,795 --> 00:03:27,910 na ključno besedo. 56 00:03:27,910 --> 00:03:32,960 Vendar vaš golo besedilo lahko veliko več kot ključno besedo, pri čemer si 57 00:03:32,960 --> 00:03:38,290 Indeks ključna beseda mora ovijte okoli nazaj na začetku ključno besedo. 58 00:03:38,290 --> 00:03:39,870 >> Kako ste to naredili? 59 00:03:39,870 --> 00:03:43,740 Poglejmo nazaj modulo operator. 60 00:03:43,740 --> 00:03:47,280 Modul je definiran je preostanek delitve dveh številk. 61 00:03:47,280 --> 00:03:50,680 Ampak kaj je dejansko praktično uporaba modulu? 62 00:03:50,680 --> 00:03:54,340 >> No, recimo, da imate veliko skupino ljudje, in boste morali razdeliti na 63 00:03:54,340 --> 00:03:55,100 tri skupine. 64 00:03:55,100 --> 00:03:59,500 Eden od načinov za razdelitev ljudi v skupinah je, da so jih štej. 65 00:03:59,500 --> 00:04:03,520 Vi število skupino skupin številka 1, 2 in 3. 66 00:04:03,520 --> 00:04:08,510 Prva oseba, ki bo rekel: 1, Naslednji 2, 3 Naslednji. 67 00:04:08,510 --> 00:04:12,860 Oseba, potem bo torej 1, ker ni skupina 4, in 68 00:04:12,860 --> 00:04:15,880 Število začne čez od tam. 69 00:04:15,880 --> 00:04:18,209 >> Lahko uporabite modulo za narediti isto stvar. 70 00:04:18,209 --> 00:04:22,680 Tokrat bodo skupine bo skupina 0, 1 in 2. 71 00:04:22,680 --> 00:04:26,960 Prva oseba, število 1 modulo 3, 1. 72 00:04:26,960 --> 00:04:29,830 Oseba 2 modulo 3 je 2. 73 00:04:29,830 --> 00:04:32,460 Oseba 3 modulo 3 je 0. 74 00:04:32,460 --> 00:04:38,470 Oseba 4 modulu 3. daje 1, in tako skupine lahko ovijte okoli. 75 00:04:38,470 --> 00:04:44,700 >> Torej, če ste vzeli indeks in modulo da indeks z največjo velikostjo, 76 00:04:44,700 --> 00:04:49,820 Rezultat ne bo nikoli več ali enaka velikosti, kar pomeni, da 77 00:04:49,820 --> 00:04:52,330 lahko poveča indeks kot toliko, kot bi si želeli. 78 00:04:52,330 --> 00:04:57,400 In tako dolgo, kot ste modulu indeks, ki ga nekaj več, ne boste dobili več 79 00:04:57,400 --> 00:04:58,510 večja kot to. 80 00:04:58,510 --> 00:05:04,500 Torej imamo 10 ljudi, namesto 5, in da bi dobili vse uvrstiti v skupine 81 00:05:04,500 --> 00:05:07,480 število 0, 1, ali 2. 82 00:05:07,480 --> 00:05:11,680 >> Poskusi, da se ta za zavijanje preko ključne besede, razen namesto sortiranje 83 00:05:11,680 --> 00:05:16,050 ljudi v številkah skupini želite Indeks ključno besedo, tako da lahko 84 00:05:16,050 --> 00:05:19,080 dobili pravo znak za premik ne sme preseči 85 00:05:19,080 --> 00:05:21,836 dolžina niza. 86 00:05:21,836 --> 00:05:24,790 S tem, ko imate Vigenere šifra. 87 00:05:24,790 --> 00:05:27,790 Moje ime je Zamyla, in to je CS50. 88 00:05:27,790 --> 00:05:32,566