>> [Nagpe-play ng musika]
>> ZAMYLA Chan: Sabihin ipatupad Vigenere, isang bahagyang higit pa
secure ang cipher kaysa Caesar.
Ang plain text ay enciphered paggamit isang string sa halip na isang integer.
Ang bawat alpabetikong character in plain text ay Paglipat sa pamamagitan ng isang
sulat sa keyword.
>> Sa halimbawang ito, ang keyword ohai, Oh tumutugon sa isang shift ng 14; H sa isang
shift ng 7; A, shift ng 0; at ako ay isang shift ng 8.
Kung matagumpay mong naipatupad ang iyong Caesar cipher, makikita ito maging isang magaling
framework mula sa kung saan mo maaaring ipatupad Vigenere.
Tulad ng iyong nakikita, ang pagpapatakbo ng isang Vigenere cipher na may isang solong character bilang isang
keyword ay ang parehong bagay bilang isang Caesar cipher.
>> Ang parehong mga hakbang upang ilapat Vigenere bilang ang kanilang ginawa sa Caesar.
Ang keyword ay ang pangalawang command line argumento, kaya mo itong ma-access sa argv1.
Pagkatapos ay kailangan mong i-verify na ang susi salita talaga ang lahat alphabetical.
Dito ay kung saan ay alpha Maaaring makita sa madaling-gamiting.
Kung mayroon kang isang wastong keyword, makakakuha ka ng lakas mula sa gumagamit, at pagkatapos ay
handa ka na upang ensayper.
>> Ang formula Vigenere cipher ay katulad sa Caesar formula, maliban ngayon k
nagiging k subscript j, na nagpapahiwatig j ang ika-sulat ng keyword.
Sabihin hakbang sa pamamagitan ng prosesong ito.
Sabihin nating nais mong magpadala ng mensahe sa iyong pag-crash, gusto ko sa iyo, ngunit hindi mo pag
gusto lahat malaman.
Kaya mong gamitin ang isang Vigenere cipher sa panda keyword, dahil, na rin, ikaw din
i pandas.
>> Ang unang titik, ko, ay Paglipat sa pamamagitan ng p, na nagbibigay sa x, 15 titik pagkatapos kong,
dahil 15 p ay ang ika-16 titik ng alpabeto.
Ang susunod na titik sa plain text ay ang isang puwang, sa gayon ay hindi mai-Paglipat.
At sa index ng keyword hindi magbabago.
>> Pagkatapos ay sa susunod na sulat sa plain text ay l, Paglipat sa pamamagitan ng, na hindi shift
ang plain na sulat teksto sa lahat, dahil isang ay ang 0 titik ng alpabeto.
Ang proseso ay nagpatuloy, ang pagsulong keyword na character sa tuwing mayroong isang
sulat sa plain text.
Sa sandaling ang huling sulat sa keyword ay naabot, ang keyword bumabalot sa paligid at
nagbabago sa susunod na plain teksto ng sulat sa pamamagitan ng p.
X lvne noh.
Paano romantikong.
>> Kaya ibinigay na katangian ng, paano mo convert na sa nararapat na
Cipher shift?
Subukan ang paghahambing ng ASCII mga halaga sa shift.
Marahil, maaari kang makahanap ng isang relasyon sa pagitan ng mga titik at ang kanilang mga
alpabetikong index gamit ang ASCII matematika.
Maaari mong idagdag o ibawas sa isang character mula sa isa pang upang makakuha
mo ang nais na resulta?
>> Tandaan na ang mga pagbabago para sa uppercase at maliliit na mga titik ay pareho.
Kaya marahil ay kailangan mong kilalanin ang dalawang mga katulad na formula upang kumatawan sa
shift, isa para sa isang uppercase keyword karakter, at isa
para sa isang maliit na isa.
>> Susunod, tandaan na ang mga keyword advances lamang kung ang mga character sa
plain text ay isang sulat at na sa kaso ng mga plain
teksto ay dapat na mapangalagaan.
Kaya kung tinitingnan namin ang formula para sa Vigenere shift, may dalawang index
variable, i at j.
One Sinusubaybayan ng mga posisyon sa plain text, at ang iba pang mga posisyon
sa mga keyword.
Ngunit ang iyong mga plain text ay maaaring maging mas matagal kaysa sa iyong mga keyword, kung saan ang iyong
keyword index kailangang pambalot sa paligid ng likod sa unahan ng keyword.
>> Paano mo gawin ito?
Tignan natin pabalik sa modulo operator.
Modulo ay tinutukoy ay ang natitira paghahati ng dalawang numero.
Ngunit kung ano ang isang aktwal na mga praktikal na gumamit ng modulo?
>> Well, sabihin nating mayroon kang isang malaking pangkat ng mga mga tao, at kailangan mong hatiin sa
tatlong pangkat.
Ang isang paraan upang hatiin ang mga tao sa mga grupo ay ang magkaroon ang mga ito off ang bibilangin.
Ikaw ang numero ng mga grupo ng pangkat numero 1, 2, at 3.
Ang unang tao ay sabihin 1, sa susunod na 2, ang susunod na 3.
Ang mga tao na pagkatapos ay sabihin 1, dahil doon ay hindi isang pangkat 4, at ang
Bilang ng mga pagsisimula sa paglipas ng mula doon.
>> Maaari mong gamitin ang modulo sa gawin ang parehong bagay.
Oras na ito, ang mga grupo ng kalooban maging pangkat 0, 1, at 2.
Ang unang tao, bilang 1 modulo 3, ay 1.
Tao 2 3 modulo ay 2.
Tao 3 modulo 3 ay 0.
Tao 4 modulo 3 ay nagbibigay sa 1, at sa gayon ang grupo Maaari I-wrap sa paligid.
>> Kaya kung kumuha ka ng isang index at modulo na-index sa pamamagitan ng isang maximum na laki, ang
resulta ay hindi kailanman ay magiging mas malaki kaysa sa o katumbas ng laki, na nangangahulugan na sa iyo
maaaring taasan ang bilang index magkano hangga't gusto mo.
At hangga't modulo mo ang index sa pamamagitan ng numero sa ilan, hindi ka makakakuha ng isang numero
mas malaki kaysa sa na.
Kaya kami ay may 10 mga tao sa halip ng 5, at Gusto nila ang lahat makapag itinalaga sa mga grupo
numero ng 0, 1, o 2.
>> Subukan na mag-aplay ito sa pambalot sa ibabaw ng keyword, maliban sa halip ng pag-uuri
mga tao sa mga numero group na nais mong ang index ng keyword sa gayon maaari mong
makuha ang karapatan ng character para sa shift na walang paglampas sa
haba ng string.
Gamit na, mayroon kang ang iyong Vigenere cipher.
Ang pangalan ko ay Zamyla, at ito ay CS50.