>> [MUSIC PLAYING]
>> ZAMYLA Chan: Nézzük végre Vigenère egy kicsit
biztonságos titkosítást, mint Caesar.
Az egyszerű szöveg rejtjelezett formában használ egy sor helyett egy egész szám.
Minden alfabetikus karakter egyszerű szöveges eltolódik a
levél a kulcsszó.
>> Ebben a példában, a kulcsszó ohai, O megfelel egy műszak 14, H: egy
váltás 7, A, váltás 0, és én egy műszak 8.
Ha már sikeresen végrehajtották az Caesar, hogy lesz egy szép
keretet, amelyben végre Vigenère.
Mint látható, a futás Vigenère titkosítás egyetlen karakter, mint a
kulcsszó ugyanaz a dolog mint Caesar.
>> A ugyanezekkel a lépésekkel Vigenère mint ők Caesar.
A kulcsszó a második parancssor érv, így elérheti azt argv1.
Akkor meg kell, hogy ellenőrizze, hogy a legfontosabb szó valóban egész ábécé.
Itt, ahol az alfa jól jöhet.
Ha van egy érvényes kulcsszót, akkor kap a erő a felhasználó, majd
készen áll a sifríroz.
>> A Vigenère titkosírás képlet hasonló Caesar formula, kivéve most k
lesz k index j, jelezve, a j-edik levelet a kulcsszó.
Lépjünk át ezt a folyamatot.
Mondja el akart küldeni egy üzenetet a baleset, én, mint te, de nem
akarom, hogy mindenki tudja.
Így használja a Vigenère titkosírás a kulcsszó panda, mert, nos, akkor is
mint a pandák.
>> Az első betű, én, tolódik p-vel, hogy x, 15 betű után I,
mert a 15 p a 16. betűvel.
A következő levél a sima szöveg helyet, így nem mozdult.
, És az index a kulcsszó nem változik.
>> Aztán a következő levelet sima szöveg l, egy eltolódott, ami nem tolódik
a sima szöveges levél egyáltalán, mert a egy a 0. betűvel.
A folyamat folytatódik, az előre kulcsszó karakter minden alkalommal van egy
levél a sima szöveg.
Miután az utolsó betű a kulcsszó ért, a kulcsszó körbe és
eltolódik a következő egyszerű szöveg levele p.
X lvne noh.
Milyen romantikus.
>> Tehát adott egy karaktert, hogyan konvertálni hogy a megfelelő
Cipher műszak?
Hasonlítsd össze az ASCII értékeket a váltás.
Lehet, hogy talál egy kapcsolat a betűk és
betűrendes index ASCII matek.
Tud összeadást vagy egy karakter egy másik, hogy
akkor a kívánt eredményt?
>> Ne feledje, hogy a változások a nagybetűs és kisbetűket ugyanaz.
Így talán akkor be kell azonosítani két hasonló képletek, hogy képviselje a
váltás, az egyik egy nagybetűs kulcsszó karakter, és egy
a kisbetűs egy.
>> Ezután, ne feledje, hogy a kulcsszó előleg csak akkor, ha a karakter
egyszerű szöveg egy levél, és hogy az esetben, a sima
szöveget meg kell őrizni.
Tehát, ha megnézzük a képlet a Vigenère műszak, van két index
változókat, i és j.
Egy nyomon követi a helyzet egyszerű szöveget, és a másik a pozíció
a kulcsszó.
De a szöveges lehet sokkal hosszabb mint a kulcsszó, amely esetben a
kulcsszó index kell kerületi vissza hogy az elején a kulcsszó.
>> Hogy csinálod ezt?
Nézzük vissza a modulo operátor.
Modulo meghatározása a maradék választóvonal két szám.
De mi a tényleges gyakorlati használata modulo?
>> Nos, mondjuk, van egy nagy csoport emberek, és meg kell osztani
három csoportban.
Az egyik módja annak, hogy osztja az embereket csoportokba , hogy azokat ki számolni.
Ön szám A csoportok csoport szám 1, 2, és 3..
Az első ember, azt fogja mondani 1, a következő 2, a következő 3.
Az a személy, ezt követően azt mondja 1, mert nincs egy csoport 4, és az
gróf újraindul onnan.
>> Használhatja a modulo nem ugyanaz a dolog.
Ez alkalommal, a csoportok lennie a csoport 0, 1 és 2.
Az első ember, szám 1 modulo 3, 1 lehet.
Fő 2 modulo 3 2.
Fő 3 modulo 3 0..
Fő 4 modulo 3 ad 1, és így A csoportok tekerje körül.
>> Így ha az index és a modulo hogy index szerint a maximális méret, a
eredmény soha nem lesz nagyobb, mint, vagy megegyezik a méret, ami azt jelenti, hogy
növelheti az index amennyit szeretne.
És mindaddig, amíg a modulo indexet Egyes szám, akkor nem kap egy számot
nagyobb, mint ezt.
Tehát 10 ember helyett 5 és ők minden kap rendelt csoportok
száma 0, 1, vagy 2.
>> Próbálja meg ezt a csomagolás alatt kulcsszó, kivéve, hogy a válogatás
embereket csoport kívánt számokat a index a kulcsszó, így
hogy a megfelelő karakter a váltás nem haladja meg a
hosszát a húr.
Ezzel, akkor a Vigenère rejtjel.
A nevem Zamyla, és ez CS50.