1 00:00:00,000 --> 00:00:10,101 >> [Glazba svira] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA Chan: Idemo provedbu Vigenere, nešto više 3 00:00:12,700 --> 00:00:14,710 šifriranja od Cezara. 4 00:00:14,710 --> 00:00:19,670 Običan tekst je enciphered pomoću string umjesto da cijeli broj. 5 00:00:19,670 --> 00:00:22,970 Svaki slovo u običan tekst se pomiče 6 00:00:22,970 --> 00:00:24,450 pismo u ključnoj riječi. 7 00:00:24,450 --> 00:00:30,860 >> U ovom primjeru, ključna ohai, O odgovara pomaku od 14, H 8 00:00:30,860 --> 00:00:36,910 pomak od 7, A, pomak 0, a ja pomak od 8.. 9 00:00:36,910 --> 00:00:40,710 Ako ste uspješno proveli svoje Cezarova šifra, to će biti lijepo 10 00:00:40,710 --> 00:00:43,510 okvir iz kojeg ste može provesti Vigenere. 11 00:00:43,510 --> 00:00:47,140 Kao što možete vidjeti, trčanje Vigenere šifriranja s jednim odlike 12 00:00:47,140 --> 00:00:51,830 Ključna riječ je ista stvar kao Cezarova šifra. 13 00:00:51,830 --> 00:00:55,170 >> Isti koraci odnose na Vigenere kao što su to učinili u Cezara. 14 00:00:55,170 --> 00:01:01,240 Ključna riječ je drugi naredbenog retka argument, tako da mu pristupiti s argv1. 15 00:01:01,240 --> 00:01:05,400 Zatim morate provjeriti da je ključ Riječ je doista sve po abecedi. 16 00:01:05,400 --> 00:01:09,040 Ovdje je gdje je alfa može doći u ruci. 17 00:01:09,040 --> 00:01:13,550 Ako imate valjanu ključne riječi, te dobiti Snaga od korisnika, a zatim 18 00:01:13,550 --> 00:01:15,820 spremni ste za kodirati. 19 00:01:15,820 --> 00:01:20,840 >> Formula Vigenere šifra je sličan caru formuli, osim sada k 20 00:01:20,840 --> 00:01:27,650 postaje k indeks j, što ukazuje j-ti pismo ključne riječi. 21 00:01:27,650 --> 00:01:29,640 Idemo korak po korak kroz ovaj proces. 22 00:01:29,640 --> 00:01:34,060 Recimo da je htjela poslati poruku na sudar, sviđaš mi se, ali ne 23 00:01:34,060 --> 00:01:35,190 želim da svi znaju. 24 00:01:35,190 --> 00:01:39,800 Dakle, koristite Vigenere šifru sa Ključna riječ panda, jer, dobro, također 25 00:01:39,800 --> 00:01:41,160 kao pande. 26 00:01:41,160 --> 00:01:47,140 >> Prvo slovo, ja ću biti pomaknut p, dajući x, 15 slova nakon što sam, 27 00:01:47,140 --> 00:01:52,850 jer 15 p je 16. slovo abecede. 28 00:01:52,850 --> 00:01:56,750 Sljedeće slovo u običan tekst je prostor, tako da neće biti pomaknut. 29 00:01:56,750 --> 00:02:00,420 I indeks ključnu riječ neće promijeniti. 30 00:02:00,420 --> 00:02:05,440 >> Onda sljedeće slovo u običan tekst je l, pomiče, koji ne odabire 31 00:02:05,440 --> 00:02:10,930 običan tekst pismo na sve, jer je je 0. slovo abecede. 32 00:02:10,930 --> 00:02:14,980 Proces se nastavlja, napreduje Ključna riječ lik svaki put postoji 33 00:02:14,980 --> 00:02:16,840 pismo u običan tekst. 34 00:02:16,840 --> 00:02:21,850 Nakon posljednje pismo u ključnu riječ dosegao, ključna omata i 35 00:02:21,850 --> 00:02:25,890 pomiče na sljedeću ravnici Tekst 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 >> Dakle, s obzirom na karakter, kako se pretvoriti da je u odgovarajuće 39 00:02:33,120 --> 00:02:34,590 šifra pomak? 40 00:02:34,590 --> 00:02:37,870 Pokušajte uspoređujući ASCII vrijednosti na smjeni. 41 00:02:37,870 --> 00:02:41,530 Možda možete naći odnos između slova i njihovih 42 00:02:41,530 --> 00:02:44,550 Abecedno kazalo pomoću ASCII matematiku. 43 00:02:44,550 --> 00:02:48,850 Mogu li dodati ili oduzeti jedan znak od drugoga dobiti 44 00:02:48,850 --> 00:02:51,630 da željeni rezultat? 45 00:02:51,630 --> 00:02:55,480 >> Zapamtite da su pomaci za velika slova i mala slova su isti. 46 00:02:55,480 --> 00:02:59,510 Dakle, možda ćete morati identificirati dvije slične formule za zastupanje 47 00:02:59,510 --> 00:03:03,570 pomak, jedan za velika slova Ključna riječ karakter, a jedan 48 00:03:03,570 --> 00:03:06,510 za malim slovom jedan. 49 00:03:06,510 --> 00:03:10,630 >> Dalje, ne zaboravite da su ključne napredak samo ako lik u 50 00:03:10,630 --> 00:03:13,520 običan tekst je pismo i da Slučaj obični 51 00:03:13,520 --> 00:03:16,020 tekst mora biti očuvana. 52 00:03:16,020 --> 00:03:20,280 Dakle, ako pogledamo formule za Vigenere pomak, postoje dva indeksa 53 00:03:20,280 --> 00:03:22,880 varijabli, i i j. 54 00:03:22,880 --> 00:03:26,795 Jedna prati od položaja u ravnici tekst, a drugi položaj 55 00:03:26,795 --> 00:03:27,910 u ključnoj riječi. 56 00:03:27,910 --> 00:03:32,960 Ali vaš običan tekst može biti mnogo više samo ključne riječi, u kojem slučaju da vaš 57 00:03:32,960 --> 00:03:38,290 ključna indeksa treba zaokrenuti natrag na početak ključne riječi. 58 00:03:38,290 --> 00:03:39,870 >> Kako ste to učinili? 59 00:03:39,870 --> 00:03:43,740 Idemo se osvrnuti na modulo operatora. 60 00:03:43,740 --> 00:03:47,280 Modulu definiran je ostatak dijeljenja dva broja. 61 00:03:47,280 --> 00:03:50,680 No, ono što je stvarna praktična korištenje modulu? 62 00:03:50,680 --> 00:03:54,340 >> Pa, recimo da imate veliku skupinu ljudi, a vi trebate podijeliti u 63 00:03:54,340 --> 00:03:55,100 tri skupine. 64 00:03:55,100 --> 00:03:59,500 Jedan od načina da dijele ljude u dvije skupine je da ih brojati off. 65 00:03:59,500 --> 00:04:03,520 Ti broj s grupama skupinu broj 1, 2, i 3. 66 00:04:03,520 --> 00:04:08,510 Prva osoba koja će reći: 1, Sljedeći 2, 3 Sljedeća. 67 00:04:08,510 --> 00:04:12,860 Osoba nakon toga će reći: 1, jer ne postoji skupina 4, a 68 00:04:12,860 --> 00:04:15,880 Brojač počinje od tamo. 69 00:04:15,880 --> 00:04:18,209 >> Možete koristiti modulo se napraviti istu stvar. 70 00:04:18,209 --> 00:04:22,680 Ovaj put, skupine koje će se biti skupina 0, 1 i 2. 71 00:04:22,680 --> 00:04:26,960 Prva osoba, broj 1 modulo 3, 1. 72 00:04:26,960 --> 00:04:29,830 Osoba 2 modulu 3 je 2. 73 00:04:29,830 --> 00:04:32,460 Osoba 3 modulu 3 je 0. 74 00:04:32,460 --> 00:04:38,470 Osoba 4 modulo 3 daje jedan, i tako skupine mogu zaokrenuti. 75 00:04:38,470 --> 00:04:44,700 >> Dakle, ako se uzme indeks i modulu taj je indeks od maksimalne veličine, 76 00:04:44,700 --> 00:04:49,820 rezultat nikada neće biti veći ili jednake veličine, što znači da 77 00:04:49,820 --> 00:04:52,330 može povećati indeks koliko god želite. 78 00:04:52,330 --> 00:04:57,400 I koliko god modulu je indeks Neki broj, nećete dobiti broj 79 00:04:57,400 --> 00:04:58,510 veći od toga. 80 00:04:58,510 --> 00:05:04,500 Dakle, imamo 10 ljudi, umjesto pet, a svi oni će se dodijeliti grupama 81 00:05:04,500 --> 00:05:07,480 broj 0, 1, ili 2. 82 00:05:07,480 --> 00:05:11,680 >> Pokušajte primijeniti to zamatanje tijekom ključne riječi, osim umjesto sortiranja 83 00:05:11,680 --> 00:05:16,050 Skupina ljudi u što želite Indeks ključne riječi, tako da možete 84 00:05:16,050 --> 00:05:19,080 dobili pravi karakter za pomaknuti bez prekoračenja 85 00:05:19,080 --> 00:05:21,836 Duljina niza. 86 00:05:21,836 --> 00:05:24,790 Uz to, imate svoje Vigenere šifra. 87 00:05:24,790 --> 00:05:27,790 Moje ime je Zamyla, a to je CS50. 88 00:05:27,790 --> 00:05:32,566