[Powered by Google Translate] [Vigenère шифра] [Нејт Hardison - Универзитетот Харвард] [Ова е CS50. - CS50.TV] Среќавајте Алис. Алис е способна за Боб. За среќа за Алис, Боб, исто така, има очи за неа. За жал за младиот и надежен романса, не само што родителите на Alice одобруваат Боб, но најдобар пријател на Alice, Евелин, има тајна способна за Боб и себично сака да ги задржи, освен на сите трошоци. Да испрати тајни пораки едни на други дека родителите на Alice не можат да разберат, Алис и Боб се со користење на Цезар шифра, која работи со менувањето на азбуката од одреден број на букви како начин да се генерираат нови азбука. Секоја буква во оригиналната азбука потоа се заменети со соодветните писмо во новата префрли писмо. Омилен број на Alice е 3, која Боб знае, па таа користи 3 како нејзиниот клуч. Кога таа ја префрла Македонски писмо од 3 букви, А станува Д, Б станува Е, Ц станува F, и така натаму. Кога таа добива на крајот на азбуката - на писма X, Y и Z - таа само обвива околу назад кон почетокот на азбуката и замени X со А, Ц со Б, и Z со C. Значи, кога Алис оди за да го криптирате нејзината тајна порака до Боб, имено "се запознае со мене во паркот во 11:00" таа само ја прави соодветни замени. М станува П, Е станува H и така натаму се до нејзината енкриптирани обичен текст порака е претворен во шифрирана шифра текст: "Phhw тел DW wkh sdun DW hohyhq ДП" дефинитивно не е најстариот романтични труба, но Алис веруваат дека тоа ќе го стори. Alice дава порака до Евелин да се достави до куќата на Боб. Но, Евелин наместо тоа враќа назад во нејзината соба и се обидува да се бори на код. Една од првите работи Евелин известувања е дека писмото H јавува 7 пати во пораката, многу повеќе пати отколку било која друга буква. Знаејќи дека буквата E е најчестиот на англиски јазик, случуваат речиси 13% од времето, Евелин нагаѓања дека H е замена за Е, со цел да се направи тајна порака и се обидува со помош на клучот на 3 да ја дешифрирате. Рок од неколку минути, Евелин фигури планови на Alice и подмолно повикува родителите на Alice. Ја Алис и Боб земени CS50, тие ќе се знае на овој фреквенција анализа напад на Цезар шифра, што овозможува таа да биде скршен доста брзо. Тие, исто така, ќе се знае дека шифра е лесно предмет на брутална сила напад, при што Евелин можел да се обиде на сите можни 25 копчиња, или промени на англиска латиница, со цел да се дешифрира пораката. Зошто 25 клучеви и да не 26? Па, обидете се менува било која буква со 26 места, и ќе видите зошто. Како и да е, една брутална сила напад би ги презеле Евелин малку подолго но не доволно долго за да ја заштити од thwarting Алис и планови Боб, особено ако Evelyn нема помош на компјутер кои би можеле да дупат сите 25 случаи во еден момент. Значи, овој проблем исто така, се соочува други кои се користат на Цезар шифра, и затоа луѓето почна да експериментира со посложени замена шифри кои користат повеќе смена вредности наместо на само еден. Еден од најпознатите од нив е наречен Vigenère број. Како да ја добиете повеќе смена вредности? Па, наместо користење на голем број како клуч, ние ги користиме збор за клучот. Ќе искористиме секоја буква во клучните да се генерираат голем број, и ефектот е дека ќе имаме повеќе Цезар шифра стил клучеви за менувањето букви. Ајде да видиме како тоа функционира со шифрирање порака Алис да Боб: Среќавајте мене во паркот во 11:00 Јас, лично, мислам сланина е вкусно, па ајде го користат како клуч. Ако го земеме порака во енкриптирани, обичен текст формат, ќе видиме дека таа е 25 букви. Сланина има само 5 букви, па ние треба да го повтори 5 пати да се направи тоа одговара на должината на обичен текст. Сланина сланина сланина сланина сланина. Како краток настрана, ако бројот на букви во обичен текст не делат чисто од бројот на букви во клучот, ние едноставно се стави крај на финалето повторување на нашиот клучен рано, со користење само на писма ни е потребно да се направи сè натпревар. Сега ние одиме за наоѓање на промена вредности. Ние ќе го правиме ова преку користење на позицијата на секоја буква од нашите клучни - сланина - во А до Ш писмо. Бидејќи ние сме компјутерски научници, ние сакале да започне броење на нула, наместо на 1, па ние ќе да се каже дека позицијата на првата буква од сланина - Б - е во положбата 1 во нулта-индексиран А до Ш писмо, не 2, и позицијата на е нула, а не 1. Користењето на овој алгоритам, ние може да се најдат на смена вредности за секоја буква. За да го криптирате обичен текст и генерира шифра текст, ние едноставно се префрлат секоја буква во обичен текст од одреден износ, исто како што направи со шифра Цезар, на обвивката од Z назад кон доколку е потребно. М добива префрлени од 1 место да стане Н Првиот Е не префрлува на сите, но ние се префрлат на втората Е за 2 места со G и Т од 14 места за Х Ако работиме преку обичен текст, на крајот ќе заврши со, "Negh ZF AV HUF pcfx БТ gzrwep мл." Повторно, не многу романтично-труба, но дефинитивно криптичната. Ако Алис и Боб знаеле за Vigenère шифра, тие би биле безбедни од prying очи на Evelyn? Што мислите? Дали сакате да се најавите во вашата банкарска сметка, ако вашата банка одлучи да го искористи Vigenère шифра за да го криптирате вашата комуникација користејќи ја вашата лозинка како клуч? Ако јас тебе, јас не би. И додека Евелин може да се чуваат зафатен доволно долго за Алис и Боб да имаат исполнуваат-up, тоа не е достоен за тоа за Алис и Боб да шанси. Vigenère шифра е релативно лесно да се скрши ако знаете должината на клучот затоа што тогаш можете да се третираат на енкриптирани шифра текст како производ на неколку испреплетени Цезар шифри. Наоѓање на должината на клучот не е страшно тешко, или. Ако оригиналниот обичен текст порака е доволно долго дека некои зборови се појавуваат повеќе пати, на крајот ќе видите повторување појавуваа во шифрирана шифра текст, како во овој пример, каде што ќе видите MONCY се појави двапати. Покрај тоа, можете да го извршите брутална сила напад на број. Ова не се значително подолго од една брутална сила напад врз шифра Цезар, која може да се направи речиси моментално со компјутер бидејќи наместо на 25 случаи за да се провери имаш 26 ⁿ - 1 можности, каде n е должината на непознат клуч. Тоа е затоа што секоја буква во клучните може да биде било кој од 26 букви, А преку Z, и паметен човек ќе се обиде да користи клуч, кој не може да се најде во речникот, што значи дека ќе треба да се тестираат сите чудни писмо комбинации, како ZXXXFF, а не само неколку стотици илјади зборови во речникот. На минус 1 доаѓа во математика затоа што не би сакал да го користите клучниот со само е, бидејќи со нашата нулта-индексиран писмо што ќе ви даде истиот ефект како со помош на шифра Цезар со клучот на нула. Како и да е, 26 ⁿ - 1 не се големи, а брзо, но додека вие дефинитивно не би сакал да се обиде кршење на шифра од страна на овој начин, ова е дефинитивно doable со компјутер. За среќа за Алис и Боб, како и за интернет банкарство, cryptographers имаат развиено посигурни начини за да го криптирате тајни пораки од љубопитните очи. Сепак, тоа е тема за некоја друга прилика. Моето име е Нејт Hardison. Ова е CS50.