1 00:00:00,000 --> 00:00:10,101 >> [Musiikki soi] 2 00:00:10,101 --> 00:00:12,700 >> ZAMYLA Chan: Katsotaanpa toteuttaa Vigenere, hieman 3 00:00:12,700 --> 00:00:14,710 turvata cipher kuin Caesar. 4 00:00:14,710 --> 00:00:19,670 Tekstimuodossa salataan käyttäen merkkijono sijasta kokonaisluku. 5 00:00:19,670 --> 00:00:22,970 Jokainen kirjainmerkki vuonna pelkkää tekstiä on siirtynyt 6 00:00:22,970 --> 00:00:24,450 kirjeen hakusana. 7 00:00:24,450 --> 00:00:30,860 >> Tässä esimerkissä avainsana ohai, O vastaa siirtymä 14, H 8 00:00:30,860 --> 00:00:36,910 siirtää 7;, siirtyminen 0, ja minä muutos 8. 9 00:00:36,910 --> 00:00:40,710 Jos olet onnistuneesti oman Caesar salaus, niin sitten on kiva 10 00:00:40,710 --> 00:00:43,510 kehys, josta voi toteuttaa Vigenere. 11 00:00:43,510 --> 00:00:47,140 Kuten näette, käynnissä Vigenere salakirjoitus yhdellä luonnetta 12 00:00:47,140 --> 00:00:51,830 avainsana on sama asia Caesar-salakirjoitus. 13 00:00:51,830 --> 00:00:55,170 >> Samat vaiheet Vigenere kuten he tekivät Caesar. 14 00:00:55,170 --> 00:01:01,240 Avainsana on toinen komentoriviltä argumentti, joten voit käyttää sitä argv1. 15 00:01:01,240 --> 00:01:05,400 Sitten sinun täytyy varmistaa, että keskeiset sana on todellakin kaikki aakkosjärjestyksessä. 16 00:01:05,400 --> 00:01:09,040 Tässä on, jossa on alfa voi tulla kätevä. 17 00:01:09,040 --> 00:01:13,550 Jos sinulla on voimassa oleva avainsanan, saat voimaa käyttäjä, ja sitten 18 00:01:13,550 --> 00:01:15,820 olet valmis encipher. 19 00:01:15,820 --> 00:01:20,840 >> Vigenere salakirjoitus kaava on samanlainen Caesar kaava, paitsi nyt k 20 00:01:20,840 --> 00:01:27,650 tulee k alaindeksi j, joka osoittaa j: nnen kirjeen avainsanan. 21 00:01:27,650 --> 00:01:29,640 Katsotaanpa askel tässä prosessissa. 22 00:01:29,640 --> 00:01:34,060 Sano halusi lähettää viestin kaatua, minä pidän sinusta, mutta et 23 00:01:34,060 --> 00:01:35,190 haluavat kaikkien tietävän. 24 00:01:35,190 --> 00:01:39,800 Joten käytät Vigenere salakirjoitus kanssa Hakusanalla panda, koska hyvin, voit myös 25 00:01:39,800 --> 00:01:41,160 kuten pandoja. 26 00:01:41,160 --> 00:01:47,140 >> Ensimmäinen kirjain, minä, on siirtynyt p, jossa x, 15 kirjainta, kun olen, 27 00:01:47,140 --> 00:01:52,850 koska 15 p on 16. kirjainmerkki. 28 00:01:52,850 --> 00:01:56,750 Seuraavaa kirjainta tekstimuodossa on tila, niin että ei voida siirtää. 29 00:01:56,750 --> 00:02:00,420 Ja indeksi avainsanan ei muutu. 30 00:02:00,420 --> 00:02:05,440 >> Sitten seuraava kirjain tekstimuodossa on l, siirretään, joka ei liikahda 31 00:02:05,440 --> 00:02:10,930 tekstimuodossa kirjeen ollenkaan, koska on 0. kirjaimen. 32 00:02:10,930 --> 00:02:14,980 Prosessi jatkuu, etenee Hakusanalla merkki joka kerta siellä 33 00:02:14,980 --> 00:02:16,840 kirjeen tekstimuodossa. 34 00:02:16,840 --> 00:02:21,850 Kun viimeinen kirjain avainsana on saavutettu, avainsanan kiertyy ja 35 00:02:21,850 --> 00:02:25,890 siirtyy seuraavaan tavallinen tekstin kirjeen s.. 36 00:02:25,890 --> 00:02:27,170 X lvne NOH. 37 00:02:27,170 --> 00:02:29,180 Miten romanttista. 38 00:02:29,180 --> 00:02:33,120 >> Joten annetaan merkki, miten muuntaa että vastaaviin 39 00:02:33,120 --> 00:02:34,590 cipher muutos? 40 00:02:34,590 --> 00:02:37,870 Kokeile vertaamalla ASCII arvot muutos. 41 00:02:37,870 --> 00:02:41,530 Ehkä löydät suhde välillä kirjaimet ja niiden 42 00:02:41,530 --> 00:02:44,550 aakkosellinen hakemisto ASCII matematiikkaa. 43 00:02:44,550 --> 00:02:48,850 Voitteko lisätä tai vähentää yhden merkin toisesta päästä 44 00:02:48,850 --> 00:02:51,630 voit toivottua tulosta? 45 00:02:51,630 --> 00:02:55,480 >> Muista, että vuorossa isojen ja pienet kirjaimet ovat samat. 46 00:02:55,480 --> 00:02:59,510 Joten ehkä sinun täytyy tunnistaa kaksi samanlaisia ​​kaavoja edustamaan 47 00:02:59,510 --> 00:03:03,570 shift, yksi isoja Hakusanalla luonnetta, ja yksi 48 00:03:03,570 --> 00:03:06,510 ja pieniä yhden. 49 00:03:06,510 --> 00:03:10,630 >> Seuraavaksi muistan, että avainsana ennakot vain, jos merkki 50 00:03:10,630 --> 00:03:13,520 pelkkää tekstiä on kirjeen ja että Jos tavallinen 51 00:03:13,520 --> 00:03:16,020 teksti on säilytettävä. 52 00:03:16,020 --> 00:03:20,280 Joten jos katsomme kaava Vigenere muutos, on olemassa kaksi indeksi 53 00:03:20,280 --> 00:03:22,880 muuttujia, i ja j. 54 00:03:22,880 --> 00:03:26,795 Yksi pitää kirjaa aseman tavallinen tekstiä, ja toinen asema 55 00:03:26,795 --> 00:03:27,910 vuonna avainsanan. 56 00:03:27,910 --> 00:03:32,960 Mutta pelkkää tekstiä voi olla paljon pidempi kuin avainsanan, jolloin sinun 57 00:03:32,960 --> 00:03:38,290 avainsanahakemistoamme tarvitsee kietoa takaisin alkuun avainsanan. 58 00:03:38,290 --> 00:03:39,870 >> Miten teet tämän? 59 00:03:39,870 --> 00:03:43,740 Katsotaanpa takaisin modulo operaattori. 60 00:03:43,740 --> 00:03:47,280 Modulo määritellään on jäljellä jakamalla kaksi numeroa. 61 00:03:47,280 --> 00:03:50,680 Mutta mitä todellista käytännön käyttö modulo? 62 00:03:50,680 --> 00:03:54,340 >> No, että sinulla on suuri joukko ihmisiä, ja sinun täytyy jakautua 63 00:03:54,340 --> 00:03:55,100 kolme ryhmää. 64 00:03:55,100 --> 00:03:59,500 Yksi tapa jakaa ihmisiä ryhmiin on ne laskea pois. 65 00:03:59,500 --> 00:04:03,520 Olet numero ryhmät ryhmä numero 1, 2, ja 3. 66 00:04:03,520 --> 00:04:08,510 Ensimmäinen henkilö sanoa 1, seuraavan 2, seuraava 3. 67 00:04:08,510 --> 00:04:12,860 Henkilö sen jälkeen tulee sanoa 1, koska ei ole ryhmä, 4, ja 68 00:04:12,860 --> 00:04:15,880 laskenta alkaa yli sieltä. 69 00:04:15,880 --> 00:04:18,209 >> Voit käyttää modulo on tehdä sama asia. 70 00:04:18,209 --> 00:04:22,680 Tällä kertaa ryhmät BE Group 0, 1, ja 2. 71 00:04:22,680 --> 00:04:26,960 Ensimmäinen henkilö, numero 1 modulo 3, 1. 72 00:04:26,960 --> 00:04:29,830 Henkilö 2 modulo 3 on 2. 73 00:04:29,830 --> 00:04:32,460 Henkilö 3 modulo 3 on 0. 74 00:04:32,460 --> 00:04:38,470 Henkilö 4 modulo 3 on 1, ja niin ryhmät voivat kietoa. 75 00:04:38,470 --> 00:04:44,700 >> Joten jos otat indeksiä modulo että indeksi enimmäiskoko, 76 00:04:44,700 --> 00:04:49,820 Tuloksena ei ole koskaan suurempi tai sama koko, mikä tarkoittaa, että 77 00:04:49,820 --> 00:04:52,330 voi lisätä indeksin paljon kuin haluat. 78 00:04:52,330 --> 00:04:57,400 Ja niin kauan kuin modulo indeksiin Joissakin numero, et saa numeron 79 00:04:57,400 --> 00:04:58,510 suurempi. 80 00:04:58,510 --> 00:05:04,500 Joten meillä on 10 ihmistä sijasta 5, ja he kaikki saavat luokitellaan ryhmiin 81 00:05:04,500 --> 00:05:07,480 numero 0, 1 tai 2. 82 00:05:07,480 --> 00:05:11,680 >> Yritä soveltaa tätä kääre yli Hakusanalla paitsi sijaan lajittelu 83 00:05:11,680 --> 00:05:16,050 ihmisiä ryhmään haluamasi numerot indeksi avainsanan jotta voit 84 00:05:16,050 --> 00:05:19,080 saat oikean merkin siirtää ylittämättä 85 00:05:19,080 --> 00:05:21,836 merkkijonon pituus. 86 00:05:21,836 --> 00:05:24,790 Kanssa, että sinulla on Vigenere nolla. 87 00:05:24,790 --> 00:05:27,790 Nimeni on Zamyla, ja tämä on CS50. 88 00:05:27,790 --> 00:05:32,566