[Powered by Google Translate] [Vigenère Cipher] [Nate Hardison - Harvard University] [Ito ay CS50. - CS50.TV] Matugunan Alice. Alice ay may crush sa Bob. Kabutihang-palad para sa Alice, Bob din ay may mga mata para sa kanya. Sa kasamaang-palad para sa kanilang namumuko pagmamahalan, hindi lamang ang Alice ng mga magulang ay hindi aprubahan ng Bob, ngunit ang pinakamahusay Alice kaibigan, Evelyn, may isang lihim na crush sa Bob at selfishly nais upang panatilihin ang mga ito bukod sa lahat ng mga gastos. Upang magpadala ng mga sikretong mensahe sa bawat isa na Alice ng mga magulang ay hindi maaaring maunawaan, Alice at Bob ay gamit ang isang Caesar cipher, na gumagana sa pamamagitan ng paglilipat sa alpabeto sa pamamagitan ng isang tiyak na bilang ng mga titik bilang isang paraan upang bumuo ng isang bagong alpabeto. Ang bawat titik sa orihinal na alpabeto pagkatapos substituted sa pamamagitan nito kaukulang sulat sa bagong Paglipat alpabeto. Paboritong numero ng Alice 3, na Bob alam, kaya siya ay gumagamit ng 3 bilang kanyang key. Kapag siya nagbabago ang Ingles na alpabeto sa pamamagitan ng 3 titik, Isang magiging D, B nagiging E, C nagiging F, at iba pa. Kapag siya ay nakakakuha sa dulo ng alpabeto - ang mga titik X, Y, at Z - siya lamang bumabalot sa paligid pabalik sa simula ng alpabeto at pamalit X na may A, Y gamit ang isang B, at Z may C. Kaya kapag pupunta ng Alice upang i-encrypt ang kanyang lihim na mensahe sa Bob, lalo "Matugunan akin sa parke sa 11:00," siya lamang ay ang mga naaangkop na mga pamalit. M magiging P, E magiging H, at iba pa hanggang unencrypted kanyang plain text message ay nakabukas sa naka-encrypt na teksto ng cipher: "Phhw ph dw wkh sdun dw hohyhq dp" ay talagang hindi ang pinaka-romantikong tunog, ngunit Alice naniniwala na ito gawin. Alice nagbibigay ang mensahe sa Evelyn ang ihahatid sa bahay ni Bob. Ngunit sa halip tumatagal ng Evelyn ito pabalik sa kanyang kuwarto at sinusubukang i-magpahaginit ang code. Isa ng ang unang bagay Evelyn mga notice na ang titik H nangyayari ng 7 beses sa mensahe, maraming iba pang mga beses kaysa sa anumang iba pang mga titik. Alam na ang titik E ay ang pinaka-karaniwan sa wikang Ingles, nagaganap ang halos 13% ng oras, Evelyn guesses na H ay substituted para sa E upang gawin ang mga lihim na mensahe at sinusubukang gamit ang isang key ng 3 upang i-decrypt ito. Loob ng ilang minuto, Evelyn figure out Alice ng plano at evilly tawag Alice ng mga magulang. Ay Alice at Bob kinuha CS50, sila na kilala ng mga ito dalas-atake ng pagtatasa sa Caesar cipher, na nagbibigay-daan sa ito sa sira medyo mabilis. Din nila na kilala na cipher ay madaling sumailalim sa astig-puwersa atake, kung saan Evelyn Sinubukan ang lahat ng posibleng 25 key, o nagbabago ng Ingles alpabeto, upang maintindihan ang mensahe. Bakit 25 key at hindi 26? Well, subukan ang paglilipat ng anumang sulat sa pamamagitan ng 26 mga posisyon, at makikita mo kung bakit. Pa rin, ang astig-puwersa atake ay kinuha Evelyn bit na ngunit hindi may sapat na katagalan upang panatilihin ang kanyang mula sa thwarting Alice at ni Bob plano, lalo na kung may aid ng isang computer ang Evelyn na maaaring punitin sa pamamagitan ng lahat ng 25 mga kaso sa isang instant. Kaya, ang problemang ito ay din plagued iba na ginamit Caesar cipher, at samakatuwid mga tao ay nagsimulang eksperimento sa mas kumplikadong ciphers pagpapalit na ang paggamit ng maramihang mga halaga shift sa halip na isa lamang. Isa sa mga pinaka-kilala ng mga ito ay tinatawag na Vigenère cipher. Paano kami makakuha ng maramihang mga halaga ng shift? Well, sa halip ng paggamit ng isang numero bilang ang susi, ginagamit namin ang isang salita para sa key. Gagamitin namin ang bawat titik sa key upang bumuo ng isang numero, at epekto na namin magkaroon ng maramihang Caesar cipher-style susi para sa paglilipat ng mga titik. Natin makita kung paano ito gumagana sa pamamagitan ng pag-encrypt Alice ng mensahe sa Bob: Matugunan akin sa parke sa 11:00 Ko, personal, sa tingin bacon ay masarap, kaya gamitin natin na bilang ang susi. Kung namin ang mensahe sa unencrypted, plain-text na format, nakikita namin na 25 titik ang haba. Bacon ay may 5 mga titik lamang, kaya kailangan namin upang ulitin ito ng 5 beses upang gawin itong tumutugma sa haba ng plain text. Bacon bacon bacon bacon bacon. Bilang isang maikling bukod, kung ang bilang ng mga titik sa plain text ay hindi hatiin nang malinis sa pamamagitan ng bilang ng mga titik sa key, lang namin tapusin ang huling pag-uulit ng aming key maaga, gamit lamang ang mga titik na kailangan namin upang gumawa ng lahat tutugma. Ngayon kami tungkol sa paghahanap ng mga halaga shift. Kami ay pagpunta sa gawin ito sa pamamagitan ng paggamit ng posisyon ng bawat titik ng ang aming key - bacon - sa A hanggang Z alpabeto. Dahil hindi namin computer na siyentipiko, gusto namin upang simulan ang pagbibilang sa zero sa halip na 1, kaya kami ay pagpunta sa sabihin na ang posisyon ng unang titik ng bacon - B - sa posisyon 1 sa zero--index A hanggang Z alpabeto, hindi 2, at ang posisyon ng ay zero, hindi 1. Gamit ang algorithm na ito, maaari naming mahanap ang mga halaga ng shift para sa bawat titik. Upang i-encrypt ang plain text at bumuo ng ang teksto ng cipher, lang namin shift ang bawat titik sa plain text sa pamamagitan ng sa tinukoy na halaga, tulad ng ginagawa namin sa cipher Caesar, pambalot mula sa Z pabalik sa A kung kinakailangan. M ay makakakuha ng Paglipat ng 1 lugar sa maging N. Ang unang E hindi shift sa lahat, ngunit shift namin ang pangalawang E ng 2 lugar sa G at T sa pamamagitan ng 14 mga lugar sa H. Kung nagtatrabaho kami sa pamamagitan ng plain text, kami magtapos sa, "Negh zf av huf pcfx BT gzrwep ans." Muli, hindi napaka-romantikong-tunog ngunit tiyak misteriyoso. Kung Alice at Bob ay kilala tungkol sa Vigenère cipher, sila ay ligtas mula sa Evelyn prying mata? Ano sa tingin ninyo? Gusto mo nais na mag-log in sa iyong account sa bangko kung nagpasya ang iyong bangko upang gamitin ang Vigenère cipher upang i-encrypt ang iyong komunikasyon gamit ang iyong password bilang iyong key? Kung ako ay sa iyo, hindi ko gagawin. At habang Evelyn maaaring iningatan abala may sapat na katagalan para sa Alice at Bob upang ang kanilang matugunan-up, hindi ito nagkakahalaga ito para sa Alice at Bob sa pagkakataong ito. Vigenère cipher ay relatibong madaling masira kung alam mo ang haba ng susi dahil pagkatapos ay maaari mong tratuhin ang mga naka-encrypt na teksto cipher bilang produkto ng ilang interwoven ciphers Caesar. Paghahanap ang haba ng susi ay hindi masyado mahirap, alinman. Kung ang orihinal na plain-text message ay may sapat na katagalan na ang ilang mga salita ay nangyari nang maraming beses, kalaunan makikita mo ang pag-uulit sa pag-crop hanggang sa naka-encrypt na teksto ng cipher, tulad ng sa halimbawang ito, kung saan makikita mo MONCY lumitaw nang dalawang beses. Bukod pa rito, maaari kang magsagawa ng isang astig-lakas na pag-atake sa cipher. Ito ginagawa tumagal ng makabuluhang mas mahaba kaysa sa isang astig na puwersa atake sa cipher Caesar, na maaaring gawin halos agad na may isang computer dahil sa halip ng 25 kaso sa check nakuha mo na ang 26 ⁿ - 1 posibilidad, kung saan ang n ay ang haba ng hindi kilalang key. Ito ay dahil ang bawat titik sa key ay maaaring maging anumang ng 26 titik, A sa pamamagitan ng Z, at isang smart tao ay subukang gamitin ang isang key na hindi matagpuan sa isang diksyunaryo, na nangangahulugan na nais mong upang subukan ang lahat ng kakaiba kumbinasyon ng titik, tulad ng ZXXXFF, at hindi lamang ng ilang daang mga salita sa diksyunaryo. Sa minus 1 ay sa matematika dahil hindi mo nais na gumamit ng isang susi na may lamang A ang, dahil sa aming zero--index alpabeto na ay magbibigay sa iyo ng parehong epekto bilang gamit ang isang Caesar cipher na may isang key ng zero. Pa Rin, 26 ⁿ - 1 ay makakuha ng malaking halip mabilis, ngunit habang tiyak ka ay hindi gusto mong subukan ang paglabag ng cipher sa pamamagitan ng kamay sa ganitong paraan, ay tiyak na maaaring gawin ito gamit ang isang computer. Kabutihang-palad para sa Alice at Bob, at para sa online banking, cryptographers na binuo mas ligtas na paraan upang i-encrypt ang mga lihim na mensahe mula sa prying mata. Gayunpaman, na ang isang paksa para sa isa pang oras. Ang pangalan ko ay Nate Hardison. Ito ay CS50.