[Powered by Google Translate] [Vigenère Cipher] [Nate Hardison - Harvardi Ülikool] [See on CS50. - CS50.TV] Meet Alice. Alice on armunud Bob. Õnneks Alice, Bob on ka silmad teda. Kahjuks nende lootustandev romantikat, mitte ainult ei Alice'i vanemad ei kiida Bob, kuid Alice'i parim sõbranna, Evelyn, on saladus armunud Bob ja isekalt tahab hoida neid lahus iga hinna eest. Et saata saladus üksteisele sõnumeid, et Alice'i vanemad ei saa aru, Alice ja Bob on kasutanud Caesar salakiri, mis töötab suunates tähestiku järgi teatud arv tähti kui viis luua uus tähestik. Iga kirja originaal tähestik on siis asendatud vastava kirja Uute nihkus tähestikku. Alice'i lemmik number on 3, mis Bob teab, nii et ta kasutab 3, sest tema võti. Kui ta nihutab Eesti tähestik 3 tähte, Muutub D, B muutub E, C muutub F, ja nii edasi. Kui ta jõuab lõpuks tähestik - kirjadele X, Y, Z - ta lihtsalt murtakse tagasi alguses tähestikus ja asendajad X, Y B ja Z C. Nii et kui Alice läheb varjata oma saladust kiri Bob, nimelt "Kohtume pargis 11:00" ta lihtsalt teeb asjakohased asendused. M muutub P, E muutub H, ja nii edasi, kuni tema krüpteerimata lihttekstisõnumina on muutunud krüpteeritud salakiri tekst: "Phhw tel DW KWHLV sdun DW hohyhq DP" ei ole kindlasti kõige romantilisem kõlav, kuid Alice arvates teen. Alice annab sõnumi Evelyn andma Bobi maja. Aga Evelyn asemel võtab ta tagasi oma tuppa ja üritab crack koodi. Üks esimesi asju, Evelyn teated on see, et täht H esineb 7 korda sõnumile palju rohkem korda kui ükski teine ​​täht. Teades, et E-täht on kõige levinum inglise keeles, esinevad peaaegu 13% ajast, Evelyn arvailtaisiin, et H on asendatud E, et muuta salajane sõnum ja üritab võtme abil 3 lahti krüptida. Mõne minuti jooksul, Evelyn nuputab Alice'i plaanid ja halvasti nõuab Alice'i vanemad. Oli Alice ja Bob võtnud CS50, oleksid nad pidanud teadma selle sagedus-analüüs rünnak Caesar salakiri, mis võimaldab seda katki üsna kiiresti. Nad oleks ka teada, et salakiri on lihtsalt suhtes brute-force rünnakut, kusjuures Evelyn võis proovinud kõiki võimalikke 25 Võtmed, või nihked inglise tähestik, et kirja lugeda. Miks 25 Võtmed ja mitte 26? Noh, proovida nihkub mõni kirja 26. positsioone, ja te näete, miks. Igatahes, brute-force rünnakut oleks võtnud Evelyn veidi kauem kuid ei ole piisavalt pikk, et hoida teda takistades Alice ja Bob plaane, eriti kui Evelyn on arvuti abil mis võiks rippida läbi kõik 25 juhtu kohe. Niisiis, see probleem ka vaevavad teised, kes kasutas Caesar salakiri, ja seetõttu inimesed hakkasid katsetavad keerulisem asendamine ciphers et kasutada mitmes vahetuses väärtused ühe asemel. Üks kõige tuntum neist on nn Vigenère salakiri. Kuidas me saame mitmes vahetuses väärtused? Noh, selle asemel numbrit võti, mida me kasutame sõna võti. Me kasutame iga kirja võti genereerida arv, ja tulemuseks on, et me peame mitu Caesar salakiri stiilis võtmed minnes tähti. Vaatame, kuidas see toimib, krüptides Alice'i kiri Bob: Kohtume pargis 11:00 Mina isiklikult arvan, peekon on maitsev, niiet kasutada seda võtit. Kui me võtame sõnumit oma krüpteerimata klaartekstis formaadis, me näeme, et see on 25 tähte pikad. Bacon on ainult 5 tähte, nii et me peame seda kordama 5 korda et see matš pikkus lihttekstina. Bacon bacon peekon peekoniga peekon. Nagu lühike kõrvale, kui tähtede arv lihtteksti ei jaga puhtalt mitmeid tähed võti, me lihtsalt lõpuks lõplik kordamine meie peamine vara, kasutades ainult tähti meil oli vaja teha kõike sobi omavahel. Nüüd minna leida nihke väärtusi. Me teeme seda, kasutades positsiooni iga kirja meie võti - peekon - aastal kuni Z tähestikku. Kuna me oleme arvuti teadlased, tahame alustada nullist asemel 1 Nii et me öelda, et positsioon esimene täht peekon - B - on asendis 1 null indekseeritud A kuni Z tähestik, ei 2 ja positsioon on null, mitte 1.. Kasutades seda algoritmi, saame leida nihke väärtusi iga tähe. Krüptida lihtteksti ja luua šifreeritud tekst, me lihtsalt minema iga kirja lihttekstina poolt kindlaksmääratud summa, nagu me teeme koos Caesar salakiri, pakendita Z tagasi, kui vaja. M saab nihutada 1 koht saada N. Esimene E ei nihku üldse, kuid me minema teise E 2 kohti G ja T 14 kohti H. Kui me töötame läbi lihtteksti, me lõpetame, "Negh ZF AV HUF pcfx bt gzrwep oz." Jällegi, ei ole väga romantiline kõlav, kuid kindlasti segasena. Kui Alice ja Bob oli teada Vigenère salakiri, oleks nad olnud ohutu Evelyn uudishimulikud silmad? Mis sa arvad? Kas soovite sisse logida oma pangakonto kui pank otsustanud kasutada Vigenère salakiri krüptimiseks side kasutades oma parooli oma võti? Kui ma oleksin sina, siis ma ei teeks seda. Ja kuigi Evelyn võiks pidada kinni nii kauaks, et Alice ja Bob on nende vasta-up, see ei ole seda väärt, Alice ja Bob juhuse ta. Vigenère salakiri on suhteliselt lihtne murda, kui tead, võtme pikkus sest siis saab ravida krüpteeritud salakiri tekst kui toode mõne põimunud Caesar ciphers. Leida võtme pikkus ei ole väga raske, kas. Kui algne klaartekstis sõnum on piisavalt pikk, et mõned sõnad esinevad korduvalt, lõpuks näed kordamine koristuse üles krüpteeritud salakiri teksti, nagu selles näites, kus sa näed MONCY ilmuma kaks korda. Lisaks saate täita brute-force rünnakut salakiri. See ei võta palju pikemad kui brute-force rünnakut Caesar salakiri, mida saab teha peaaegu silmapilkselt arvuti alates asemel 25 juhul kontrollida sul 26 ⁿ - 1 võimalusi, kus n on pikkus tundmatu võtmega. Seda seetõttu, et iga kirja võti võib olla ükskõik milline 26 tähte, Kuni Z, ja tark inimene püüaks kasutada võti, mida ei saa leida sõnaraamatust, mis tähendab, et sa pead katsetama kõik imelik tähekombinatsioonid, nagu ZXXXFF, ja mitte ainult paarsada tuhat sõna sõnastikus. Miinus 1 sattuvaid matemaatika, sest sa ei tahaks kasutada võtit ainult see, kuna meie null indekseeritud tähestiku et annaks teile sama mõju nagu kasutades Caesar salakiri võtmega null. Igatahes, 26 ⁿ - 1 ei saa suure üsna kiiresti, aga kui sa kindlasti ei tahaks proovida murda salakiri käsitsi nii, see on kindlasti tehtav arvuti. Õnneks Alice ja Bob ning internetipanga, cryptographers on arenenud turvalisem, kuidas krüpteerida salajaste sõnumite uteliailta silmad. Kuid see teema veel kord. Minu nimi on Nate Hardison. See on CS50.