Замила Чан: Хајде да појачају наш игра са Вигенере шифре. Вигенере-ове шифре је врло сличан Цезару, осим у Цезара смо прошли у један цео број као наш кључ. У Вигенере идемо да прође у кључну реч. Дакле, ако сам хтео да преместим Шифрат ово је ЦС 50 до Охаи, онда то значи да свако слово у Охаи ће служити као кључ, и ја ћу циклус преко је та кључна за моју смену што шифрат Много теже за декодирање. Шта то значи схифт је кључну реч? Па, кључна реч је стринг где свако слово одговара на неки цео број смени. Дакле, о одговара кључ 14, х до кључ од 7, А има кључ 0, тако да не бих ништа мењао, а онда сам има кључ од 8. Да сам водио Вигенере А са обичан текст ово је ЦС50 добро, да би једноставно дати ми непромењена низ. Приметите да је ово еквивалентна ради Цезара са кључем на нулу. У ствари, ради Вигенере са било које појединачне карактера би било еквивалентно трчања Цезар са истом цео број. У реду, тако, од они су толико слични да би било Заправо препоручују да, ако Желим да само може да копира Цезара код у свој Вигенере код. Ствари ће се променити, али бар имаш неки ослонац који можете радити са. Јер су тодос исти желимо добити кључ, добити обичан текст, енципхер да обичан текст, и онда принт то. Баш као Цезара кључ ће бити усвојен у као други командне линије Аргумент који се налази у индексу аргв 1, али је другачије овај пут јер то мора бити по абецеди. Дакле, морамо да поновити више од сваког један лик у том кључу да је корисник прошао у, и осигурати да је сваки лик је словна у циљу наставка. Када смо то урадили, онда смо могу добити низ од корисника, баш као што смо и раније. И сада долазимо до срца проблема за Вигенере, који је као Цезар, како да схватити кифарска образац и једначина, и енципхер цео отворени текст. Дакле, приметићете да је једначина за Вигенере смену је веома слична оној Цаесар. Једина разлика је у томе уместо једног променљива к пре, сада К има субсцрипт, указује на ј-слово кључа. Прошетајмо кроз пример. Рекао да желиш да прође тајну Порука на своју симпатију, свиђаш ми се. Па, за ваш кључ ти изабрати нешто да ваш знам симпатија зна да желите, панде. У реду, па како да пребаци ово? Па, имамо отворени текст индекс. То је на првом слову и тако да је индекс за наш кључ што је на п, прво писмо у нашем панда речи. Дакле, промена И од п УС Кс даје, онда унапреди отворени текст индекс. Ово нам стигне до простора. Сада, простор лик је не словна, а то значи да, то само трансфери право над на шифрату, ставимо простор тамо, а ми не унапредити индекс за наш кључ. Дакле, и даље смо на стр у овом тренутку. Ми прешли на следећи индекс у нашем отвореном тексту. И сада, јер је то писмо је мала слова Л, ми схифт да од стране следећи индекс у нашем кључу. Што је, који је зеро смена тако да само постаје сам у нашој шифрату. Онда, напредујемо како отворени текст, и кључ индекса јер је алфабетске. Онда смо наставили да док не дођете до е на слично. У реду, тако да ћете приметити на ово указују да је, у погледу нашег кључног индекса, смо стигли до краја панда реч, па шта се дешава када стигнемо у следећи алфабетске писмо у отвореном тексту? Па, све што се дешава је да замотати око на самом почетку, на први индекс од наших кључних. Дакле, онда схифт да И је п да нам бр. И онда, настављамо завршни кодирање наш отворени текст да х лвне Нох. Из овог примера, И показали да напредујемо само на следећем писму у кључне речи ако је лик у обичном тексту је писмо тако да исалпха Функција ће добро доћи овамо. И, као у Цезара, желимо да сачувати случај, исуппер и исловер. Дакле, додати ово мало у у својој псеудокоду. Како да схватимо кључне промене? Па, ако се сећате нашу дискусију на абецеде индекса у Цезара Проблем, то је врло слично. Где А одговара АСЦИИ вредност 65 али помак 0, а онда последње слово У писму, З одговара смене 25. Приметићете да смене је идентичан или не писмо је горњи и мала слова. У реду, па сад то ти знају како да схватим нумерички помак који одговара једној карактер Вратимо се нашој једначини. Јер имамо два различита субсцриптс овде, и и ј, то је наговештај да желите да пратите од како наше позиције у отвореном тексту као и наше позиције у кључне речи, па то су два одвојена варијабле да желимо да одржи држите. Сада, ситуација у нашој плаинтекту ће се повећати сваки пут, тако да ће бити мало више равно напред за разлику од положаја кључних речи, који знамо да треба да обавије око, и понекад повећавати, понекад остају исте. Дакле, како ћемо имплементирати функционалност да окружују индекс за кључну реч? Ја ћу користити рачунати са примером. Набрајамо је популаран начин раздвојити људе у групе. Да сам имао 5 људе и желео сам да поделити их у три групе, па онда почети пребројавање с. Прва особа би рећи да сам тим број један, следећа особа ће бити тим број два, трећа особа тим број три. Сада, само желим три групе, тако четврта особа би заправо старт на почетку и рећи, Добро, ја сам тим број један, као, и следећа особа ће бити тим број два. И, одатле, могу онда одвајају у њихове групе. Дакле, како би користим модулу да ми помогне да спроведу ово рачунати са омотач око функцију? Па, прва особа број 1 мод 3 нам даје 1. 2 мод 3 нам даје 2, и 3 мод 3 нам даје 0. Четврта особа, број 4, мод 3 даје нам 1, а затим 5 Мод 3 нам даје 2. Дакле, приметићете да иако број људи који имам повећава, а изнад 3, пошто сам моддинг од 3 Увек сам бројеве 0, 1, и 2. Ја никад не већи од 3. Дакле, чак и ако сам имао 10 људи, онда је све од тих људи ће и даље бити унутар група 1, 2, или 0. Дакле, сада знамо да ако имамо групу 5 и ми мод сви они по 3, онда никада нећемо да прелази групе 0, 1, или 2. Дакле, ми никада неће добити групу број који је једнак 3 или више. Дакле, чак и ако додам још пет људи, онда све њих би и даље бити додељен групи 0, 1, или 2 јер ја моддинг од 3. Ја никада нећу прећи ту капу. У реду, да видимо да ли можемо да применимо овај концепт коришћења модулу да окружују група бројева и применити да се Вигенере где желимо користити модулу да заврши око индекс за кључне речи. Иако смо се увецава индекс увек желите да се уверите да увек замотати око на самом почетку никад прекорачење дужина низа. У реду, тако да знам да би могло бити мало огромна. Има много више да уради у овом сету п. Дакле, проверите да ли написати добар Псеудокод за себе да разумете и да ради свој посао. Покушајте и адреса сваког једна линија независно схватите све мало мале комаде слагалице пре стављања заједно. Уверите се да можете добити кључ из командне линије и осигурати да је словна, добити обичан текст од корисника, а затим у шифровања, побрините се да знају како да енципхер једно слово, а потом напредовати до читав низ са свим Омотач око функција. На крају, можете да одштампате шифрат. Моје име је Замила, а то је Вигенере.