[Jwe mizik] ZAMYLA Chan: a Se pou aplike Vigenere, yon plis yon ti kras sekirite kalkile pase Seza li ye. Se tèks nan plenn enciphered lè l sèvi avèk yon kòd olye pou yo yon nonb antye relatif. Chak karaktè alfabetik nan se plenn tèks deplase pa yon lèt nan mo kle a. Nan egzanp sa a, mo kle a ohai, nou menm koresponn ak yon chanjman nan 14; H nan yon chanjman nan 7; Yon chanjman, nan 0; ak mwen yon chanjman nan 8. Si ou te avèk siksè aplike ou Seza kalkile, li pral yon bèl kad soti nan kote ou ka aplike Vigenere. Kòm ou ka wè, kouri yon Vigenere Kalkile ak yon karaktè yon sèl kòm yon mo kle a se menm bagay la kòm yon kalkile Seza li ye. Etap yo menm aplike nan Vigenere menm jan yo te fè nan Seza li ye. Mo kle a se liy lan bay lòd dezyèm agiman, kidonk, ou gen aksè a li ak argv1. Lè sa a, ou bezwen verifye ke kle a mo se vre tout alfabetik. Isit la se kote se Alpha ka vin an sou la men. Si ou gen yon mo kle ki valab, ou jwenn nan fòs ki soti nan itilizatè a, ak Lè sa a, w ap pare yo chifre. Fòmil la kalkile Vigenere se menm jan Seza fòmil, eksepte kounye a k vin k endis j, ki endike lèt la J-th nan mo kle a. Ann etap nan pwosesis sa a. Di ou te vle voye yon mesaj bay ou aksidan, mwen renmen ou, men ou pa fè sa vle tout moun konnen. Se konsa, ou sèvi ak yon Kalkile Vigenere ak nan panda mo kle, paske, byen, nou menm tou nou renmen panda. Lèt nan premye, mwen, yo pral deplase pa p, bay x, 15 lèt apre mwen fin, paske 15 p se 16th a lèt nan alfabè a. Lèt nan pwochen nan tèks la plenn se yon espas, se konsa sa pa pral dwe deplase. Ak endèks la nan mo kle a pa pral chanje. Lè sa a, lèt nan pwochen nan tèks plenn se L, deplase pa yon, ki pa chanjman lèt la tèks plenn nan tout, paske yon se lèt la 0th nan alfabè an. Pwosesis la ap kontinye, avanse a N. mo kle chak fwa gen yon lèt nan tèks la klè. Yon fwa lèt ki sot pase a nan mo kle a se rive jwenn, mo kle a vlope ozalantou yo ak orè bò pye bwadchenn nan pwochen lèt tèks pa p. X lvne noh. Ki jan amoure. Se konsa, yo bay yon karaktè, ki jan ou konvèti ki nan korespondan nan Kalkile chanjman? Eseye konpare ASCII la valè chanjman an. Petèt ou ka jwenn yon relasyon ant lèt yo ak yo alfabetik endèks lè l sèvi avèk ASCII matematik. Èske ou ka fè adisyon oswa soustraksyon yon karaktè soti nan yon lòt yo ka resevwa ou rezilta a vle? Sonje ke orè yo pou majuskul ak lèt ​​miniskil yo se menm bagay la. Se konsa, petèt ou pral bezwen idantifye de fòmil menm jan ak reprezante nan chanjman, yonn pou yon majuskul N. mo kle, ak yon pou yon yon sèl miniskil. Apre sa, sonje ke mo kle pwogrè yo sèlman si pèsonaj la nan tèks plenn se yon lèt e ke ka a te nan plenn lan tèks yo dwe konsève. Se konsa, si nou gade nan fòmil la pou la Vigenere chanjman, gen de endèks varyab, mwen menm ansanm ak j. Youn kenbe tras nan pozisyon an nan plenn tèks, lòt la yon pozisyon nan nan mo kle a. Men, tèks plenn ou ka pi lontan ankò pase mo kle ou a, nan ka sa a ou endèks mo kle bezwen vlope toutotou tounen nan konmansman an nan mo kle a. Ki jan ou fè sa? Se pou yo gade tounen nan la modulo operatè. Modulo defini se rès la nan divize de nonb. Men, sa ki nan yon pratik aktyèl sèvi ak modulo? Oke, di ou gen yon gwo gwoup nan moun, epi ou bezwen divize an twa gwoup. Youn nan fason yo separe moun an gwoup se fè yo konte an. Ou nimewo gwoup la gwoup nimewo 1, 2, ak 3. Moun an premye ap di 1, 2 kap vini an, 3 nan pwochen an. Moun nan apre yo fin ki pral di 1, paske pa gen yon gwoup nan 4, ak konte kòmanse sou apati de la. Ou kapab sèvi ak modulo fè menm bagay la. Tan sa a, gwoup yo pral dwe, 0 gwoup 1, ak 2. Moun an premye, nimewo 1, 3 modulo se 1. Moun 2 modulo 3 se 2. Moun 3 modulo 3 se 0. Moun 4 modulo 3 bay 1, ak pou gwoup yo ka vlope alantou. Se konsa, si ou pran yon endèks ak modulo ki endèks pa yon gwosè maksimòm, nan rezilta pa janm yo pral pi gran pase oswa egal a gwosè a, sa vle di ke ou ka ogmante endèks la kòm anpil jan ou ta renmen. Men, osi lontan ke ou modulo endèks la pa kèk nimewo, ou pa pral jwenn yon nimewo pi gwo pase sa. Se konsa, nou gen 10 moun olye pou yo 5, ak yo ta tout jwenn asiyen nan gwoup nimewo 0, 1, oswa 2. Eseye aplike sa a vlope sou la mo kle yo, eksepte olye pou yo klasman pèp la nan nimewo gwoup ou vle a endèks nan mo kle a pou ke ou kapab jwenn karaktè nan dwa pou la chanjman san yo pa depase an longè fil la. Avèk sa, ou gen ou Vigenere kalkile. Non mwen se Zamyla, e sa se CS50.