1 00:00:00,000 --> 00:00:10,101 >> [Muusika mängib] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA CHAN: Teeme rakendada Vigenere, veidi rohkem 3 00:00:12,700 --> 00:00:14,710 kindlustada salakiri kui Caesar. 4 00:00:14,710 --> 00:00:19,670 Lihtteksti šifreeritud kasutades string asemel täisarv. 5 00:00:19,670 --> 00:00:22,970 Iga täht on lihtteksti nihutatakse 6 00:00:22,970 --> 00:00:24,450 kirja märksõna. 7 00:00:24,450 --> 00:00:30,860 >> Selles näites märksõna Ohai, O vastab nihkele 14; H 8 00:00:30,860 --> 00:00:36,910 nihke 7;, nihe 0, ja ma nihe 8. 9 00:00:36,910 --> 00:00:40,710 Kui olete edukalt oma Caesar salakiri, see saab olema tore 10 00:00:40,710 --> 00:00:43,510 raamistik, millest sa saab rakendada Vigenere. 11 00:00:43,510 --> 00:00:47,140 Nagu näete, töötab Vigenere salakiri ühe iseloomu 12 00:00:47,140 --> 00:00:51,830 märksõna on sama asi nagu Caesar salakiri. 13 00:00:51,830 --> 00:00:55,170 >> Sama sammu kohaldata Vigenere nagu nad tegid Caesar. 14 00:00:55,170 --> 00:01:01,240 Märksõna on teine ​​käsurea argument, et sa seda kasutada koos argv1. 15 00:01:01,240 --> 00:01:05,400 Siis tuleb kontrollida, et võti sõna on tõesti kõik tähestiku. 16 00:01:05,400 --> 00:01:09,040 Siin on koht, kus on alfa võib tulla käepärane. 17 00:01:09,040 --> 00:01:13,550 Kui teil on olemas kehtiv märksõna, saad tugevus kasutaja ja seejärel 18 00:01:13,550 --> 00:01:15,820 oled valmis encipher. 19 00:01:15,820 --> 00:01:20,840 >> Vigenere salakiri valem on sarnane et Caesar valem, välja arvatud nüüd k 20 00:01:20,840 --> 00:01:27,650 muutub k indeks j, näidates j-nda tähe märksõna. 21 00:01:27,650 --> 00:01:29,640 Olgem sammult läbi selle protsessi. 22 00:01:29,640 --> 00:01:34,060 Ütle, et sa tahtsid saata sõnumi crash, sa meeldid mulle, aga sa ei ole 23 00:01:34,060 --> 00:01:35,190 tahan kõigile teada. 24 00:01:35,190 --> 00:01:39,800 Nii saate kasutada Vigenere salakiri koos märksõna panda, sest, noh, sa ka 25 00:01:39,800 --> 00:01:41,160 like pandas. 26 00:01:41,160 --> 00:01:47,140 >> Esimene kiri, I, lükkuvad p, andes x 15 tähte pärast I 27 00:01:47,140 --> 00:01:52,850 sest 15 p 16. täht. 28 00:01:52,850 --> 00:01:56,750 Järgmine kiri lihtteksti ruumi, nii et ei nihkunud. 29 00:01:56,750 --> 00:02:00,420 Ja indeks märksõna ei muutu. 30 00:02:00,420 --> 00:02:05,440 >> Siis järgmine täht lihttekstina on l, nihutatakse, mis ei nihku 31 00:02:05,440 --> 00:02:10,930 lihtteksti kirja üldse, sest on 0. täht. 32 00:02:10,930 --> 00:02:14,980 Protsess jätkub, arenev märksõna iseloomu iga kord seal 33 00:02:14,980 --> 00:02:16,840 kirja lihttekstina. 34 00:02:16,840 --> 00:02:21,850 Kui viimane täht märksõna on saavutatud, märksõna murtakse ja 35 00:02:21,850 --> 00:02:25,890 vahetuses järgmisele tavaline tekst kirja p. 36 00:02:25,890 --> 00:02:27,170 X lvne noh. 37 00:02:27,170 --> 00:02:29,180 Kui romantiline. 38 00:02:29,180 --> 00:02:33,120 >> Nii antakse märk, kuidas teisendada et vastavatesse 39 00:02:33,120 --> 00:02:34,590 salakiri vahetuses? 40 00:02:34,590 --> 00:02:37,870 Püüdke võrrelda ASCII väärtuste muutust. 41 00:02:37,870 --> 00:02:41,530 Võib-olla leiad suhe tähtede ja nende 42 00:02:41,530 --> 00:02:44,550 tähestikregistris kasutades ASCII matemaatikat. 43 00:02:44,550 --> 00:02:48,850 Kas te lisada või lahutada üks märk teisest saada 44 00:02:48,850 --> 00:02:51,630 sa soovitud tulemust? 45 00:02:51,630 --> 00:02:55,480 >> Pea meeles, et vahetuses suurtäht ja väiketähti on samad. 46 00:02:55,480 --> 00:02:59,510 Nii et ehk sa pead kindlaks kaks sarnased valemid esindama 47 00:02:59,510 --> 00:03:03,570 vahetustega, üks suur- märksõna iseloomu, ja üks 48 00:03:03,570 --> 00:03:06,510 jaoks väiketähti üks. 49 00:03:06,510 --> 00:03:10,630 >> Järgmisena mäletan, et märksõna ettemaksed ainult siis, kui märk 50 00:03:10,630 --> 00:03:13,520 plain tekst on kirjas ja et puhul tavaline 51 00:03:13,520 --> 00:03:16,020 tekst tuleb säilitada. 52 00:03:16,020 --> 00:03:20,280 Nii et kui me vaatame valemit Vigenere vahetustega, on kaks indeksit 53 00:03:20,280 --> 00:03:22,880 muutujate i ja j. 54 00:03:22,880 --> 00:03:26,795 Üks jälgib positsiooni tavaline tekst ja teine ​​asend 55 00:03:26,795 --> 00:03:27,910 aasta märksõna. 56 00:03:27,910 --> 00:03:32,960 Aga oma lihtteksti võib olla palju pikem kui märksõna, mille puhul teie 57 00:03:32,960 --> 00:03:38,290 märksõna indeks vajab ümbritsev tagasi algusega märksõna. 58 00:03:38,290 --> 00:03:39,870 >> Kuidas seda teha? 59 00:03:39,870 --> 00:03:43,740 Vaatame tagasi moodul operaator. 60 00:03:43,740 --> 00:03:47,280 Modulo määratletakse on ülejäänud jagades kaks numbrit. 61 00:03:47,280 --> 00:03:50,680 Aga milline on tegelik praktiline kasutamise moodul? 62 00:03:50,680 --> 00:03:54,340 >> Noh, et teil on suur hulk inimesed, ja sa pead jagada 63 00:03:54,340 --> 00:03:55,100 kolme rühma. 64 00:03:55,100 --> 00:03:59,500 Üks viis, kuidas jagada inimesed rühmadesse on, et neid maha arvama. 65 00:03:59,500 --> 00:04:03,520 Sa number gruppide grupi number 1, 2 ja 3. 66 00:04:03,520 --> 00:04:08,510 Esimene inimene, kes ütlevad, 1, järgmise 2, järgmise 3. 67 00:04:08,510 --> 00:04:12,860 Inimene pärast seda ütlevad 1 sest seal ei ole grupp 4, ja 68 00:04:12,860 --> 00:04:15,880 count hakkab üle sealt. 69 00:04:15,880 --> 00:04:18,209 >> Võite kasutada mooduli kuni teha sama asja. 70 00:04:18,209 --> 00:04:22,680 Seekord rühmad olema grupp 0, 1 ja 2. 71 00:04:22,680 --> 00:04:26,960 Esimene inimene, number 1 moodul 3, 1. 72 00:04:26,960 --> 00:04:29,830 Isik 2 moodul 3 on 2. 73 00:04:29,830 --> 00:04:32,460 Isik 3 moodul 3 on 0. 74 00:04:32,460 --> 00:04:38,470 Isiku 4 moodul 3 annab 1, ja nii rühmad võivad murtakse. 75 00:04:38,470 --> 00:04:44,700 >> Nii et kui te võtate indeks ja mooduli et indeksisse maksimaalne suurus, 76 00:04:44,700 --> 00:04:49,820 tulemus ei ole kunagi suurem kui või võrdne suurus, mis tähendab, et teil 77 00:04:49,820 --> 00:04:52,330 võib suurendada indeks palju kui soovid. 78 00:04:52,330 --> 00:04:57,400 Ja nii kaua, kui te mooduli indeksit mõned number, siis ei saada number 79 00:04:57,400 --> 00:04:58,510 suurem kui see. 80 00:04:58,510 --> 00:05:04,500 Nii et meil on 10 inimest, mitte 5, ja nad kõik saavad gruppidesse 81 00:05:04,500 --> 00:05:07,480 number 0, 1 või 2. 82 00:05:07,480 --> 00:05:11,680 >> Proovige seda rakendada pakkimine üle märksõna, välja arvatud asemel sortimine 83 00:05:11,680 --> 00:05:16,050 inimeste rühma numbrid, mida soovite indeks märksõna, et saaksite 84 00:05:16,050 --> 00:05:19,080 saada õige tegelane vahetustega ületamata 85 00:05:19,080 --> 00:05:21,836 stringi pikkusena. 86 00:05:21,836 --> 00:05:24,790 Koos, et teil on oma Vigenere salakiri. 87 00:05:24,790 --> 00:05:27,790 Minu nimi on Zamyla ja see on CS50. 88 00:05:27,790 --> 00:05:32,566