Zamyla Chan: Ejja iżidu l tagħna logħba mal-cipher vigenere. Il cipher vigenere hija simili ħafna għal Caesar, ħlief fil Caesar aħna għadda fil numru sħiħ wieħed bħala l-muftieħ tagħna. Fl vigenere aħna qed tmur jgħaddu fi keyword. Għalhekk, jekk jien ridt li ċċaqlaq il- ciphertext dan huwa KEFA 50 permezz ohai, allura dan ifisser li kull ittra ohai se jservi bħala l-muftieħ, u jien ser ċiklu fuq dak il-keyword għall-bidla tiegħi jagħmlu l-ciphertext ħafna aktar diffiċli biex jiddekowdja. Xi jfisser li ċċaqlaq mill-keyword? Ukoll, il-kelma ewlenija hija sekwenza fejn kull ittra tikkorrispondi għal xi ċaqliqa numru sħiħ. Għalhekk, il-o jikkorrispondi għal ewlenija ta '14, h għal ewlieni ta '7, li għandha ewlieni ta' 0, b'tali mod li ma tkunx tbiddel xejn, u mbagħad i għandha ċavetta tat-8. Say I dam vigenere A mal- test sempliċi dan huwa CS50 tajjeb, li sempliċement jagħtu lili string mhux mibdula. Avviż li dan huwa ekwivalenti għal tmexxija Caesar ma 'ċavetta ta' żero. Fil-fatt, running vigenere ma 'kwalunkwe karattru wieħed ikun ekwivalenti għal tmexxija Caesar bl-istess numru sħiħ. Kull dritt, hekk, peress li dawn huma tant simili I d attwalment jirrakkomandaw li jekk int trid tista 'biss kopja Caesar tiegħek kodiċi fis Kodiċi vigenere tiegħek. Affarijiet se jinbidlu, iżda mill-inqas inti għandek xi sinsla li inti tista 'taħdem ma. Minħabba li l-Todos huma l-istess irridu biex jiksbu l-ewlenin, jiksbu t-test sempliċi, encipher li test sempliċi, u mbagħad print li l-. Eżatt bħal Caesar il-muftieħ huwa ser tiġi mgħoddija fit bħala t-tieni linja ta 'kmand argument ifformulat fl-indiċi ARGV 1, imma hija differenti dan iż-żmien peress li għandu jkun alfabetiku. Allura, għandna bżonn li jtenni fuq kull karattru uniku f'dak prinċipali li l-utent għadda fi, u jiġi żgurat li kull karattru huwa alfabetiku sabiex ikomplu. Ladarba aħna ghamilt dan, allura aħna jistgħu jiksbu l-sekwenza mill-utent, eżatt kif għamilna qabel. U issa, aħna waslet għall-qalb tal-problema għall vigenere, li huwa bħad Caesar, kif insemmu l-mudell enciphering u ekwazzjoni, u encipher il plaintext kollu. Allura, inti ser ikollok avviż li l- ekwazzjoni għall-bidla vigenere hija simili ħafna għal dik Caesar. L-unika differenza hija li minflok k varjabbli waħda qabel, issa k għandha xi kitba, indikata l-ittra JTH taċ-ċavetta. Ejja jimxu permezz ta 'eżempju. Tgħid li inti riedu li jgħaddu sigriet messaġġ fuq tgħaffiġ tiegħek, I bħalek. Ukoll, għal ċavetta tiegħek għalik jagħżlu xi ħaġa li tiegħek jafu tgħaffiġ jaf li inti simili, pandas. Kull dritt, hekk kif nistgħu bidla dan? Well, aħna għandna indiċi plaintext tagħna. Dik hija l-ewwel ittra u għalhekk hija l-indiċi għall-ċavetta tagħna li hija fil-p, l-ewwel ittra kelma Panda tagħna. Għalhekk, iċ-ċaqliq jien bil-p tagħtina x, allura aħna bil-quddiem l-indiċi plaintext. Din il gets us għal spazju. Issa, il-karattru ispazju hija non alfabetiku, sabiex ifisser li, li biss trasferimenti dritt fuq il-ciphertext, npoġġux spazju hemmhekk, u aħna ma tavvanza l-indiċi għall-ċavetta tagħna. Allura, aħna qed għadhom fuq p f'dan il-punt. Aħna bil-quddiem għall-ieħor indiċi plaintext tagħna. U issa, għaliex dik hija ittra, il-l zghar, aħna bidla li sa l- indiċi jmiss fl-iskema tagħna. Li huwa, ikun żero bidla hekk li biss isir l l fil ciphertext tagħna. Imbagħad, aħna bil-quddiem kemm il-plaintext, u l-indiċi ewlenija għaliex dan huwa alfabetiku. Mela allura aħna nkomplu li sakemm aħna jiksbu l-e fl simili. Kull dritt, hekk tkun taf Avviż f'dan punt li, f'termini ta 'indiċi ewlenin tagħna, konna laħqu t-tmiem ta ' -kelma Panda, iva, liema jiġri meta aħna jiksbu l-jmiss ittra alfabetika fil-plaintext? Ukoll, dak kollu li jiġri huwa li aħna perimetrika għall-bidu, l-ewwel indiċi tar ewlenin tagħna. Allura, allura aħna bidla li y mill-p biex tagħtina n. U allura, aħna tkompli irfinar kodifikazzjoni plaintext tagħna sabiex inġibu Noh x lvne. Minn dan l-eżempju, jien wera li aħna biss bil-quddiem għall-ittra li jmiss fil-keyword jekk il-karattru fi kliem sempliċi hija ittra hekk il isalpha funzjoni se jidħlu fil handy hawn. U, bħal fil Caesar, irridu jippreservaw il-każ, isupper u islower. Allura, żid din ftit fil fis pseudocode tiegħek. Allura kif nistgħu insemmu l-bidliet ewlenin? Ukoll, jekk inti recall diskussjoni tagħna dwar indiċijiet alfabetiċi fil-Caesar problema, huwa simili ħafna. Fejn A jikkorrispondi għal ASCII valur ta '65, iżda bidla ta' 0, u allura l-aħħar ittra fl-alfabett, Z, jikkorrispondi għal ċaqliqa ta '25. Int ser ikollok avviż li l-bidla hija identika jew le l-ittra huwa każ ta 'fuq jew ittri żgħar. OK, hekk issa li int taf kif biex insemmu -bidla numerika li jikkorrispondi għal karattru wieħed ejja jmorru lura għall-ekwazzjoni tagħna. Għaliex għandna żewġ differenti subscripts hawn, iuj, li l-ħjiel li aħna rridu li jżommu rekord kemm pożizzjoni tagħna fis-plaintext kif ukoll il-pożizzjoni tagħna fil-keyword, hekk dawn huma żewġ fatturi varjabbli separati li aħna rridu li jżommu istiva ta. Issa, il-pożizzjoni fil plaintext tagħna se tiżdied kull darba, hekk li għaddej biex tkun ftit aktar straight quddiem għall-kuntrarju għall-pożizzjoni l-keyword, li nafu jrid around, u kultant inkrement, kultant tissospendi l-istess. Allura, kif nistgħu jimplimentaw il-funzjonalità biex nagħlaq madwar il- indiċi għall-keyword? Jien ser tuża l-jgħoddu off eżempju. Isserraħ off huwa mod popolari li jaqsam in-nies fi gruppi. Say Kelli 5 persuni u jien ridt li maqsuma minnhom up fi tliet gruppi, ukoll allura nixtieq nibda billi jingħaddu off. L-ewwel persuna kieku ngħid jien tim numru wieħed, il-persuna li jmiss ikun numru tim tnejn, in-numru tim terza persuna tlieta. Issa, jien biss jixtiequ tliet gruppi hekk ir-raba 'persuna kieku attwalment tibda fil-bidu u jgħidu, ukoll, jien tim numru wieħed kif ukoll, u l-persuna li jmiss Ikun tim numru tnejn. U, minn hemm, huma jistgħu mbagħad separati fi gruppi tagħhom. Allura, kif tista 'nuża modulo għinni jimplimentaw Dan l-għadd off around funzjoni? Ukoll, l-ewwel persuna numru 1, mod 3 jagħtina 1. 2 mod 3 tagħtina 2, u 3 mod 3 tagħtina 0. Ir-raba 'persuna, numru 4, 3 mod jagħtina 1, u mbagħad 5 mod 3 tagħtina 2. Allura, tinduna li, anki jekk in-numru ta 'nies li għandi żidiet, u huwa ogħla 3, peress li jien modding bi 3 Jien dejjem jiksbu numri 0, 1, u 2. Jien qatt nikseb akbar minn 3. Mela allura, anke jekk kelli 10 nies, allura kollha ta 'dawk in-nies xorta jkun fi ħdan il-gruppi 1, 2, jew 0. Allura, issa nafu li jekk għandna grupp tal-5 u aħna Mod kollha ta 'dawk bi 3, allura aħna qed qatt tmur biex jaqbeż gruppi 0, 1, jew 2. Allura, aħna qed qatt se tikseb grupp Numru thats daqs 3 jew aktar. Għalhekk, anki jekk I żid ħamsa oħra nies, imbagħad kollha kemm huma xorta jkun assenjat lil gruppi 0, 1, jew 2 għaliex jien modding bi 3. Jien qatt ma ser jaqbeż dak għatu. OK, so ejja ara jekk nistgħu japplikaw dan il-kunċett ta 'użu modulo biex nagħlaq madwar il- numri tal-grupp u japplikaw li vigenere fejn irridu għall-użu modulo biex nagħlaq madwar l-indiċi għall-keyword. Anki jekk aħna qed inkrementazzjoni l-indiċi aħna dejjem jixtiequ jagħmlu ċert li aħna dejjem perimetrika għall-bidu nett qatt taqbeż il tul tas-sekwenza. OK, so I know jista 'jkun ftit ftit kbira. Hemm ħafna aktar biex jagħmlu dan is-sett p. Allura, kun żgur li inti tikteb a pseudocode tajba għalik innifsek li tifhem u li gets-xogħol isir. Ipprova u jindirizzaw kull linja waħda indipendentement jidhru out kollha l-ftit biċċiet żgħar tal-puzzle qabel ma jitpoġġa flimkien. Kun żgur li int tista 'tieħu -ċavetta mil-linja tal-kmand u jiżgura li huwa alfabetiku, jiksbu l-test sempliċi mill-utent, u mbagħad fl enciphering, aċċerta ruħek li taf kif encipher ittra waħda, u mbagħad progress għal-sekwenza sħiħa kollha ta 'l perimetrika funzjonijiet. Finalment, inti tista 'jistampaw l ciphertext. Jisimni hija Zamyla, u dan kien vigenere.