>> [Glazba svira]
>> ZAMYLA Chan: Idemo provedbu Vigenere, nešto više
šifriranja od Cezara.
Običan tekst je enciphered pomoću string umjesto da cijeli broj.
Svaki slovo u običan tekst se pomiče
pismo u ključnoj riječi.
>> U ovom primjeru, ključna ohai, O odgovara pomaku od 14, H
pomak od 7, A, pomak 0, a ja pomak od 8..
Ako ste uspješno proveli svoje Cezarova šifra, to će biti lijepo
okvir iz kojeg ste može provesti Vigenere.
Kao što možete vidjeti, trčanje Vigenere šifriranja s jednim odlike
Ključna riječ je ista stvar kao Cezarova šifra.
>> Isti koraci odnose na Vigenere kao što su to učinili u Cezara.
Ključna riječ je drugi naredbenog retka argument, tako da mu pristupiti s argv1.
Zatim morate provjeriti da je ključ Riječ je doista sve po abecedi.
Ovdje je gdje je alfa može doći u ruci.
Ako imate valjanu ključne riječi, te dobiti Snaga od korisnika, a zatim
spremni ste za kodirati.
>> Formula Vigenere šifra je sličan caru formuli, osim sada k
postaje k indeks j, što ukazuje j-ti pismo ključne riječi.
Idemo korak po korak kroz ovaj proces.
Recimo da je htjela poslati poruku na sudar, sviđaš mi se, ali ne
želim da svi znaju.
Dakle, koristite Vigenere šifru sa Ključna riječ panda, jer, dobro, također
kao pande.
>> Prvo slovo, ja ću biti pomaknut p, dajući x, 15 slova nakon što sam,
jer 15 p je 16. slovo abecede.
Sljedeće slovo u običan tekst je prostor, tako da neće biti pomaknut.
I indeks ključnu riječ neće promijeniti.
>> Onda sljedeće slovo u običan tekst je l, pomiče, koji ne odabire
običan tekst pismo na sve, jer je je 0. slovo abecede.
Proces se nastavlja, napreduje Ključna riječ lik svaki put postoji
pismo u običan tekst.
Nakon posljednje pismo u ključnu riječ dosegao, ključna omata i
pomiče na sljedeću ravnici Tekst pismo p.
X lvne Noh.
Kako romantično.
>> Dakle, s obzirom na karakter, kako se pretvoriti da je u odgovarajuće
šifra pomak?
Pokušajte uspoređujući ASCII vrijednosti na smjeni.
Možda možete naći odnos između slova i njihovih
Abecedno kazalo pomoću ASCII matematiku.
Mogu li dodati ili oduzeti jedan znak od drugoga dobiti
da željeni rezultat?
>> Zapamtite da su pomaci za velika slova i mala slova su isti.
Dakle, možda ćete morati identificirati dvije slične formule za zastupanje
pomak, jedan za velika slova Ključna riječ karakter, a jedan
za malim slovom jedan.
>> Dalje, ne zaboravite da su ključne napredak samo ako lik u
običan tekst je pismo i da Slučaj obični
tekst mora biti očuvana.
Dakle, ako pogledamo formule za Vigenere pomak, postoje dva indeksa
varijabli, i i j.
Jedna prati od položaja u ravnici tekst, a drugi položaj
u ključnoj riječi.
Ali vaš običan tekst može biti mnogo više samo ključne riječi, u kojem slučaju da vaš
ključna indeksa treba zaokrenuti natrag na početak ključne riječi.
>> Kako ste to učinili?
Idemo se osvrnuti na modulo operatora.
Modulu definiran je ostatak dijeljenja dva broja.
No, ono što je stvarna praktična korištenje modulu?
>> Pa, recimo da imate veliku skupinu ljudi, a vi trebate podijeliti u
tri skupine.
Jedan od načina da dijele ljude u dvije skupine je da ih brojati off.
Ti broj s grupama skupinu broj 1, 2, i 3.
Prva osoba koja će reći: 1, Sljedeći 2, 3 Sljedeća.
Osoba nakon toga će reći: 1, jer ne postoji skupina 4, a
Brojač počinje od tamo.
>> Možete koristiti modulo se napraviti istu stvar.
Ovaj put, skupine koje će se biti skupina 0, 1 i 2.
Prva osoba, broj 1 modulo 3, 1.
Osoba 2 modulu 3 je 2.
Osoba 3 modulu 3 je 0.
Osoba 4 modulo 3 daje jedan, i tako skupine mogu zaokrenuti.
>> Dakle, ako se uzme indeks i modulu taj je indeks od maksimalne veličine,
rezultat nikada neće biti veći ili jednake veličine, što znači da
može povećati indeks koliko god želite.
I koliko god modulu je indeks Neki broj, nećete dobiti broj
veći od toga.
Dakle, imamo 10 ljudi, umjesto pet, a svi oni će se dodijeliti grupama
broj 0, 1, ili 2.
>> Pokušajte primijeniti to zamatanje tijekom ključne riječi, osim umjesto sortiranja
Skupina ljudi u što želite Indeks ključne riječi, tako da možete
dobili pravi karakter za pomaknuti bez prekoračenja
Duljina niza.
Uz to, imate svoje Vigenere šifra.
Moje ime je Zamyla, a to je CS50.