>> [Predvajanja glasbe]
>> ZAMYLA CHAN: Dajva izvajati Vigenere, nekoliko bolj
zagotoviti šifra kot Cezarja.
Golo besedilo je šifrirane uporabo Niz namesto celo število.
Vsako črko v golo besedilo se premakne za
črka na ključno besedo.
>> V tem primeru je ključna beseda ohai, O ustreza premiku 14, H za
premik z dne 7., A, premik 0, in sem premik 8..
Če ste se uspešno izvaja svoje Cezarjeva šifra, to bo lepo
okvir, iz katerega ste lahko izvajajo Vigenere.
Kot lahko vidite, teče Vigenere šifra z eno lastnost
Ključna beseda je ista stvar kot Cezarjeva šifra.
>> Enak postopek velja za Vigenere kot so to storili pri cesarju.
Ključna beseda je drugi ukazni vrstici Trditev, tako da je dostop z argv1.
Potem morate preveriti, da je ključ Beseda je res vse po abecednem redu.
Tukaj je, kjer je alfa lahko pridejo v priročni.
Če imate veljavno ključno besedo, boste dobili Moč od uporabnika, in nato
ste pripravljeni za encipher.
>> Šifra Formula Vigenere je podoben za Cezarja formuli, razen zdaj k
postane k indeks j, z navedbo j-ti pismo ključno besedo.
Stopimo skozi ta proces.
Povejte, da ste želeli poslati sporočila, da svojim crash, vam je všeč, vendar jih ne
vsi želijo vedeti.
Torej, uporabite Vigenere šifre z Ključna beseda panda, ker, no, saj tudi
všeč pandas.
>> Prvo pismo, jaz, se bo premaknilo po p, daje x, 15 črk po I,
ker 15 p 16. črka abecede.
Naslednja črka v golo besedilo je prostora, tako da se ne bo spremenila.
In indeks ključno besedo ne spremeni.
>> Potem naslednja črka v golo besedilo je l, premakne, ki ne vklopi
golo besedilo pisma sploh, ker je 0. črka abecede.
Proces se nadaljuje, napreduje Ključna beseda lik vsakič tam
črka v golo besedilo.
Ko je zadnja črka v ključno besedo dosežena, ključne besede oblije in
premiki na naslednji ravnini Besedilo pismo p.
X lvne noh.
Kako romantično.
>> Torej, dal znak, kako spremeniti da v ustrezni
šifra premik?
Poskusite primerjavo ASCII Vrednosti na izmeno.
Morda boste našli odnos Med črkami in njihovimi
abecedni indeks pomočjo matematike ASCII.
Lahko dodate ali odštejemo en znak od drugega, da bi dobili
vam želeni rezultat?
>> Ne pozabite, da so premiki za velikimi črkami in male črke so enaki.
Torej, morda boste morali določiti dva podobne formule za zastopanje
premik, eden za velikimi črkami Ključna beseda značaj, in ena
za malimi črkami eno.
>> Dalje, ne pozabite, da so ključne napredek samo če lik v
golo besedilo je pismo in da Primer navaden
Besedilo je treba ohraniti.
Torej, če pogledamo formulo za Vigenere premik, obstajata dva indeksa
spremenljivke, i in j.
Ena beleži položaj v preprostem besedilo in drugi položaj
na ključno besedo.
Vendar vaš golo besedilo lahko veliko več kot ključno besedo, pri čemer si
Indeks ključna beseda mora ovijte okoli nazaj na začetku ključno besedo.
>> Kako ste to naredili?
Poglejmo nazaj modulo operator.
Modul je definiran je preostanek delitve dveh številk.
Ampak kaj je dejansko praktično uporaba modulu?
>> No, recimo, da imate veliko skupino ljudje, in boste morali razdeliti na
tri skupine.
Eden od načinov za razdelitev ljudi v skupinah je, da so jih štej.
Vi število skupino skupin številka 1, 2 in 3.
Prva oseba, ki bo rekel: 1, Naslednji 2, 3 Naslednji.
Oseba, potem bo torej 1, ker ni skupina 4, in
Število začne čez od tam.
>> Lahko uporabite modulo za narediti isto stvar.
Tokrat bodo skupine bo skupina 0, 1 in 2.
Prva oseba, število 1 modulo 3, 1.
Oseba 2 modulo 3 je 2.
Oseba 3 modulo 3 je 0.
Oseba 4 modulu 3. daje 1, in tako skupine lahko ovijte okoli.
>> Torej, če ste vzeli indeks in modulo da indeks z največjo velikostjo,
Rezultat ne bo nikoli več ali enaka velikosti, kar pomeni, da
lahko poveča indeks kot toliko, kot bi si želeli.
In tako dolgo, kot ste modulu indeks, ki ga nekaj več, ne boste dobili več
večja kot to.
Torej imamo 10 ljudi, namesto 5, in da bi dobili vse uvrstiti v skupine
število 0, 1, ali 2.
>> Poskusi, da se ta za zavijanje preko ključne besede, razen namesto sortiranje
ljudi v številkah skupini želite Indeks ključno besedo, tako da lahko
dobili pravo znak za premik ne sme preseči
dolžina niza.
S tem, ko imate Vigenere šifra.
Moje ime je Zamyla, in to je CS50.