[Powered by Google Translate] [Vigenere Šifro] [Nate Hardison - Harvardo universiteto] [Tai CS50. - CS50.TV] Susipažinkite su Alice. Alice apie Bob sutraiškyti. Laimei, Alice, Bob taip pat yra jos akys. Deja, jų jaunieji susitikimams, ne tik Alisos tėvai nepritaria Bob bet Alisos geriausias draugas, Evelyn, turi slaptą Crush On Bob ir savanaudiškai nori išlaikyti juos išskiria ne visos išlaidos. Siųsti slaptus pranešimus vieni kitiems, kad Alisos tėvai negali suprasti, Alisa ir Bobas naudojant Caesar šifravimo, , kuri veikia perkeliant tam tikrą skaičių laiškais abėcėlę kaip būdas generuoti naują abėcėlę. Kiekvienas pradinio abėcėlės raidė tada pakeisti savo atitinkamą raidę į naują perkeltas abėcėlės. Alisos mėgstamiausias skaičius yra 3, kuris Bobas žino, taigi ji naudoja 3 kaip savo raktą. Kai ji perkelia anglišką abėcėlę pagal 3 raidžių, Tampa D, B tampa E, C tampa F, ir taip toliau. , Kai ji gauna iki abėcėlės pabaigos - raidės X, Y ir Z - ji tiesiog apsiaustas aplink abėcėlės pradžios ir pakaitalai X su A su B, Y ir Z su C. Taigi, kai Alisa eina į užšifruoti savo slaptą žinutę, Bob, būtent "Meet me parke, 11:00," ji tiesiog daro atitinkamus keitimus. M tampa P, E tampa H, ir taip tol, kol jos paprastasis paprastą tekstinį pranešimą virsta saugiame šifravimo tekstas: "Phhw tel sm KMB sdun sm hohyhq DP" tikrai ne pati romantiškiausia skambus, bet Alisa mano, kad tai darysime. Alisa pranešimą Evelyn pristatyti į Bob namuose. Bet Evelyn vietoj pasiima jį atgal į savo kambarį ir bando nulaužti kodą. Vienas iš pirmųjų dalykų, Evelyn pranešimus apie tai, kad Raidė H atsiranda 7 kartus į pranešimą, daug daugiau kartų nei bet kuri kita raidė. Žinant, kad E raidė yra labiausiai paplitusi anglų kalba, vyksta beveik 13% laiko, Evelyn spėja, kad O buvo pakeista siekiant padaryti slaptą žinutę E ir bando iššifruoti jį naudojant klavišą 3. Per kelias minutes, Evelyn skaičiai iš Alisos planų ir Alice evilly ragina tėvus. Buvo Alice ir Bob imtasi CS50, jie turėjo žinoti apie tai dažnio analizės ataka Cezario šifras kuri leidžia gana greitai, turi būti paskirstytos. Jie taip pat žinoma, kad šifras yra lengvai brute-force ataka, pagal kurį Evelyn gali bandė iš galimų 25 klavišų, arba poslinkiai anglų abėcėlės, siekiant iššifruoti pranešimų. Kodėl 25 klavišai, o ne 26? Na, pabandykite perkelti bet kokią raidę, 26 vietų, ir jūs pamatysite, kodėl. Bet kokiu atveju, brute-force ataka būtų Evelyn šiek tiek ilgiau bet ne pakankamai ilgai, kad išlaikyti savo sutrukdyti Alice ir Bob planus, ypač jei Evelyn iš kompiuterio pagalbos , kuri gali PTL per visus 25 atvejų akimirksniu. Taigi, ši problema taip pat kamuoja kitus, kurie naudojami Caesar šifravimo, ir todėl žmonės pradėjo eksperimentuoti su daugiau sudėtingų pakaitalų šifrai naudoti keliomis pamainomis vertybes, o ne tik vieną. Vienas iš labiausiai gerai žinomas iš jų yra vadinamas Vigenere šifras. Kaip mes gauname keliomis pamainomis vertybes? Na, o ne naudojant numerį kaip raktą, mes naudojame raktinį žodį. Mes naudojame kiekvieną laišką rakte, kaip gauti numerį, ir poveikis yra tai, kad mes turime kelis CEZARIO šifro stiliaus mygtukus perkelti laiškus. Pažiūrėkime, kaip tai veikia šifravimo Alisos žinutę Bob: Susitikti su manimi parko 11:00 Aš, asmeniškai, manau, šonine skanus, , todėl galime naudoti kaip raktą. Jeigu mes priimsime pranešimą savo paprastasis, paprasto teksto formatu, matome, kad 25 raidžių ilgio. Bacon yra tik 5 raidės, todėl mums reikia kartoti 5 kartus , kad ji atitiktų paprasto teksto ilgį. Šoninė šoninė šoninė šoninė šonine. Kaip trumpas žemę, jei raidžių skaičius paprasto teksto nebuvo padalinti švariai raštų rakte, mes tiesiog baigti galutinį pakartotinių iš pagrindinių mūsų anksti, naudojant tik raides, mums reikia, kad viskas atitiktų. Dabar mes einame apie rasti pamainą vertes. Mes ketiname tai padaryti naudojant kiekvieno iš pagrindinių mūsų raštą poziciją - kumpio - A iki Z abėcėlės. Kadangi mes kompiuterių mokslininkai, mes norėtume pradėti skaičiuoti nuo nulio, o ne 1, todėl mes ketiname pasakyti, kad padėtis šonine pirmąją raidę - B - yra 1 vieta nulinės indeksuota iki Z abėcėlės, ne 2, o pozicija yra lygi nuliui, o ne 1. Naudojant šį algoritmą, galime rasti pamainą vertės už kiekvieną laišką. Norėdami užšifruoti paprastą tekstą ir sukurti šifravimo tekstas, mes tiesiog perkelti kiekvieną laišką paprasto teksto konkrečia suma, kaip ir mes su Cezario šifras, vyniojimo Z atgal, jei reikia. 1 vieta gauna atitraukiama M tapti N. E. Pirmieji nėra perkelti ne visi, tačiau mes pereiti antrą E 2 vietų iki G ir T po 14 vietų H. Jei mes dirbame per paprasto teksto, mes galų gale, "Negh ZF pr HUF pcfx bt gzrwep oz." Vėlgi, nėra labai romantiškas skambus, bet tikrai paslaptingas. Jei Alisa ir Bobas žinojo apie Vigenere šifravimo, jie buvo saugūs nuo Evelyn smalsių akių? Ką manote? Ar norite prisijungti į jūsų banko sąskaitą, jei jūsų bankas nusprendė naudoti Vigenere šifras užšifruoti savo bendravimo, kaip savo raktą naudodami savo slaptažodį? Jei aš jums, aš ne. Ir, o Evelyn gali būti nuolat užimtas pakankamai ilgai, kad Alisa ir Bobas, kad jų susi- tai nėra verta tikimybė, kad Alice ir Bob. Vigenere šifras yra gana lengva nutraukti, jei žinote, rakto ilgis , nes tada galite laikyti saugiame šifro tekstą per kelias susipynusios Cezaris šifrai produkto. Ieškoti rakto ilgis yra ne siaubingai sunku, bet. Jei originalas paprasto teksto pranešimas yra pakankamai ilgas, kad kai kurie žodžiai atsiranda kelis kartus, galų gale jūs pamatysite kartojimo apkarpymo saugiame šifravimo teksto, kaip šiame pavyzdyje, kai jūs matote MONCY pasirodo du kartus. Be to, galite atlikti brute-force ataka skaitmeniu. Tai nereiškia, užtruks daug ilgiau, nei brute-force ataka Cezario šifras , kuri gali būti padaryta beveik akimirksniu su kompiuteriu nes vietoj 25 atvejais patikrinti, jūs turite 26 ⁿ - 1 galimybės, kur n yra nežinomo rakto ilgis. Tai, nes kiekvienas rakte laiškas gali būti bet kuris iš 26 raidžių, Nuo A iki Z, ir protingas asmuo, norėčiau pabandyti naudoti raktą, kuris negali būti įtrauktas į žodyną, tai reiškia, kad jūs turite patikrinti visų keistam raidžių kombinacijas, kaip ZXXXFF , o ne tik pora šimtų tūkstančių žodžių žodyne. Minus 1 ateina į matematikos, nes jūs nenorite naudoti raktą tik su A, nes su mūsų nulinės indeksuota abėcėlės, kad duos jums tą patį poveikį Cezario šifro naudojant nulinės raktą. Bet kokiu atveju, 26 ⁿ - 1 ar gauti gana greitai, bet, o jūs tikrai nenorite pabandyti nutraukti šifravimo vertus, tokiu būdu, tai tikrai Vykdytinas su kompiuteriu. Laimei, Alisa ir Bobas ir internetinės bankininkystės, cryptographers sukūrė daugiau saugių būdų, kaip šifruoti slaptas žinutes nuo smalsių akių. Tačiau, tai tema kitam kartui. Mano vardas yra Nate Hardison. Tai CS50.