[Powered by Google Translate] [Vigenère Cipher] [Nate Hardison - Sveučilište Harvard] [Ovo je CS50. - CS50.TV] Upoznajte Alice. Alice je zaljubljena u Bob. Srećom za Alice, Bob također ima oči za nju. Nažalost, za svog pupi romantike, ne samo da Alice roditelji ne odobravaju Bob, ali Alice je najbolji prijatelj, Evelyn, ima tajnu zaljubljena u Bob i sebično ih želi razdvojiti po svaku cijenu. Za slanje tajne poruke jedni drugima da Alice roditelji ne mogu shvatiti, Alice i Bob su pomoću Cezarova šifra, koji radi pomicanjem abecedu u određenom broju slova kao način za generiranje novog abecedu. Svako slovo u izvornom abecede zatim supstituiran odgovarajućim slovom u novoj pomaknutom abecede. Alice omiljeni broj 3, koji je Bob zna, tako da se ona koristi tri kao njezin ključ. Kad ona pomiče engleske abecede po tri slova, Postaje D, B postaje E, C postaje F, i tako dalje. Kad ona dobiva na kraj abecede - na slova X, Y i Z - ona je samo omata vratiti na početak abecede i zamjenici X sa A, B, Y sa i Z s C. Dakle, kad je Alice ide za šifriranje svoju tajnu poruku Bob, naime "Nađimo se u parku na 11:00," ona samo čini odgovarajuće zamjene. M postaje P, E postaje H, i tako dalje, sve dok joj nekodiran običan tekst poruke pretvoren je u šifriranom šifra teksta: "Phhw ph DW wkh sdun DW hohyhq dp" definitivno nije najromantičniji sondiranje, ali Alice vjerujem da ću to učiniti. Alice daje poruku Evelyn dostaviti Bob kući. Ali Evelyn umjesto da ga vodi natrag u njezinu sobu i pokušava ispucati kod. Jedna od prvih stvari Evelyn obavijesti da je slovo H javlja sedam puta u poruci, mnogo više puta od bilo kojeg drugog pisma. Znajući da je slovo E je najčešći na engleskom jeziku, pojavljuje gotovo 13% vremena, Evelyn nagađanja da H je supstituirani za E kako bi tajni poruku i pokušava koristite tipku 3 za dešifrirali. Unutar nekoliko minuta, Evelyn figure out Alice planovima i zlo zove Alice roditelje. Da Alice i Bob uzeti CS50, oni bi znao za to Učestalost-analiza napad na Cezarova šifra, koji omogućava da se slomljena vrlo brzo. Oni bi također poznato da šifra je lako podliježe brutalni napad, pri čemu Evelyn mogao pokušao sve moguće 25 tipki, ili smjene engleske abecede, kako bi se dešifrirati poruke. Zašto 25 tipki, a ne 26? Pa, pokušajte prebacivanje svako slovo po 26 mjesta, i vidjet ćete zašto. U svakom slučaju, brutalni napad bi uzeli Evelyn malo duže ali ne dovoljno dugo da ju je čuvati od presijecanja Alice i Bob planovima, pogotovo ako Evelyn ima pomoć računala koji bi mogao parati kroz svih 25 slučajeva u trenu. Dakle, ovaj problem je također udario drugima koji su koristili Cezarova šifra, i stoga su ljudi počeli eksperimentirati sa složenijim supstitucije šiframa da korištenje više smjena vrijednosti umjesto samo jednog. Jedan od najpoznatijih od njih se zove Vigenère šifra. Kako ćemo dobiti više vrijednosti smjeni? Pa, umjesto korištenja broj kao ključ, mi koristimo riječ za ključ. Mi ćemo koristiti svako slovo u ključu za generiranje broj, a učinak je da ćemo imati više Cezarova šifra stilu tipke za pomicanje slova. Idemo vidjeti kako to radi po šifriranjem Alicinu poruku Bob: Nađimo u parku na 11:00 Ja, osobno, mislim slanina je ukusna, pa neka ga koristiti kao ključ. Ako uzmemo poruku u svojoj nekodiran, običan tekst formatu, vidimo da je 25 slova. Bacon ima samo 5 slova, tako da ćemo morati ponoviti ga 5 puta kako bi se slagala duljinu običan tekst. Bacon slanina slanina slanina slanina. Kao kratak stranu, ako je broj slova u običan tekst nije podijelite čisto po broju slova u ključu, samo mi završiti konačni ponavljanje od naših ključnih rano, koristeći samo slova mi potrebne da bi se sve podudaraju. Sada idemo o pronalaženju pomak vrijednosti. Mi ćemo to učiniti pomoću položaja svako slovo našeg ključ - slanine - u A do Z abecede. Budući da smo računalni znanstvenici, željeli bismo početi računajući na nulu umjesto jednog, pa ćemo reći da je položaj prvog slova slanine - B - je u položaju 1 u nula-indeksirane do Z abecede, ne 2, a položaj je nula, nije 1. Korištenje ovog algoritma, možemo pronaći pomak vrijednosti za svako slovo. Za šifriranje običan tekst i generirati šifra teksta, samo smo pomak svako slovo u običan tekst u određenom iznosu, baš kao i mi s Cezarova šifra, pakiranje od Z natrag ako je potrebno. M dobiva pomaknut za 1 mjesto postati N. Prvi E ne pomak na sve, ali smo pomak drugi E po dva mjesta za G i T po 14 mjesta na H. Ako ćemo raditi kroz običan tekst, možemo završiti s, "Negh ZF AV HUF pcfx BT gzrwep oz." Opet, nije jako romantično-sondiranje, ali svakako zagonetan. Ako Alice i Bob znao Vigenère šifra, bi oni bili sigurni od Evelyn je znatiželjnih očiju? Što vi mislite? Biste li željeli da se prijavite na svoj bankovni račun ako se banka odlučila je iskoristiti Vigenère šifra za šifriranje svoju komunikaciju pomoću svoje lozinke kao ključ? Ako sam si, ne bih. I dok je Evelyn može biti zauzet dovoljno dugo za Alice i Bob imati njihov susret-up, to nije vrijedno za Alice i Bob da ga slučajno. Vigenère šifra je relativno lako razbiti ako znate duljinu ključa jer onda možete liječiti kriptirani tekst šifra kao proizvod od nekoliko isprepletenih Cezar šiframa. Pronalaženje duljinu ključa nije strašno teško, bilo. Ako izvorni običan tekst poruka je dovoljno dugo da se neke riječi pojavljuju više puta, na kraju ćete vidjeti ponavljanje pomalja u šifriranom šifra teksta, kao u ovom primjeru, gdje vidite MONCY pojaviti dva puta. Osim toga, možete izvesti brutalni napad na šifrirani. To ne uzeti znatno više nego brutalni napad na Cezarova šifra, što može biti učinjeno gotovo trenutno s računalom jer umjesto 25 slučajeva provjeriti imaš 26 ⁿ - 1 mogućnosti, gdje je n duljina nepoznatog tipke. To je zato što svako slovo u ključu mogao biti bilo koji od 26 pisama, Do Z, i pametna osoba će pokušati koristiti ključ koji se ne mogu naći u rječniku, što znači da ćeš morati testirati sve čudnih kombinacija slova, kao ZXXXFF, a ne samo par 100.000 riječi u rječniku. Minus 1 dolazi u matematici, jer ti ne bi želite koristiti tipku sa samo je, budući s našim nula-indeksiranog abecede koja će vam dati isti učinak kao pomoću Cezarova šifra sa ključem od nule. U svakom slučaju, 26 ⁿ - 1 ne dobijete veliki vrlo brzo, ali dok definitivno ne bi htio probati razbijanje šifre rukom na ovaj način, ovo je definitivno izvodljiv s računalom. Srećom za Alice i Bob, a za on-line bankarstva, Kriptografi razvili više sigurnih načina za šifriranje tajne poruke od znatiželjnih očiju. Međutim, to je tema za neki drugi put. Moje ime je Nate Hardison. Ovo je CS50.