1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Vigenère Cipher] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison - Sveučilište Harvard] 3 00:00:04,000 --> 00:00:07,000 [Ovo je CS50. - CS50.TV] 4 00:00:07,000 --> 00:00:09,000 Upoznajte Alice. 5 00:00:09,000 --> 00:00:11,260 Alice je zaljubljena u Bob. 6 00:00:11,260 --> 00:00:15,030 Srećom za Alice, Bob također ima oči za nju. 7 00:00:15,030 --> 00:00:17,700 Nažalost, za svog pupi romantike, 8 00:00:17,700 --> 00:00:20,580 ne samo da Alice roditelji ne odobravaju Bob, 9 00:00:20,580 --> 00:00:23,820 ali Alice je najbolji prijatelj, Evelyn, ima tajnu zaljubljena u Bob 10 00:00:23,820 --> 00:00:27,290 i sebično ih želi razdvojiti po svaku cijenu. 11 00:00:27,290 --> 00:00:31,280 Za slanje tajne poruke jedni drugima da Alice roditelji ne mogu shvatiti, 12 00:00:31,280 --> 00:00:34,140 >> Alice i Bob su pomoću Cezarova šifra, 13 00:00:34,140 --> 00:00:37,410 koji radi pomicanjem abecedu u određenom broju slova 14 00:00:37,410 --> 00:00:39,800 kao način za generiranje novog abecedu. 15 00:00:39,800 --> 00:00:44,130 Svako slovo u izvornom abecede zatim supstituiran odgovarajućim slovom 16 00:00:44,130 --> 00:00:46,920 u novoj pomaknutom abecede. 17 00:00:46,920 --> 00:00:50,240 Alice omiljeni broj 3, koji je Bob zna, 18 00:00:50,240 --> 00:00:52,450 tako da se ona koristi tri kao njezin ključ. 19 00:00:52,450 --> 00:00:55,430 Kad ona pomiče engleske abecede po tri slova, 20 00:00:55,430 --> 00:01:00,680 Postaje D, B postaje E, C postaje F, 21 00:01:00,680 --> 00:01:02,670 i tako dalje. 22 00:01:02,670 --> 00:01:07,460 >> Kad ona dobiva na kraj abecede - na slova X, Y i Z - 23 00:01:07,460 --> 00:01:09,970 ona je samo omata vratiti na početak abecede 24 00:01:09,970 --> 00:01:14,850 i zamjenici X sa A, B, Y sa i Z s C. 25 00:01:14,850 --> 00:01:18,550 Dakle, kad je Alice ide za šifriranje svoju tajnu poruku Bob, 26 00:01:18,550 --> 00:01:21,520 naime "Nađimo se u parku na 11:00," 27 00:01:21,520 --> 00:01:23,790 ona samo čini odgovarajuće zamjene. 28 00:01:23,790 --> 00:01:30,900 M postaje P, E postaje H, i tako dalje, sve dok joj nekodiran običan tekst poruke 29 00:01:30,900 --> 00:01:34,350 pretvoren je u šifriranom šifra teksta: 30 00:01:34,350 --> 00:01:37,280 "Phhw ph DW wkh sdun DW hohyhq dp" 31 00:01:37,280 --> 00:01:39,370 definitivno nije najromantičniji sondiranje, 32 00:01:39,370 --> 00:01:41,650 ali Alice vjerujem da ću to učiniti. 33 00:01:41,650 --> 00:01:45,140 >> Alice daje poruku Evelyn dostaviti Bob kući. 34 00:01:45,140 --> 00:01:50,030 Ali Evelyn umjesto da ga vodi natrag u njezinu sobu i pokušava ispucati kod. 35 00:01:50,030 --> 00:01:55,470 Jedna od prvih stvari Evelyn obavijesti da je slovo H javlja sedam puta u poruci, 36 00:01:55,470 --> 00:01:58,930 mnogo više puta od bilo kojeg drugog pisma. 37 00:01:58,930 --> 00:02:01,960 Znajući da je slovo E je najčešći na engleskom jeziku, 38 00:02:01,960 --> 00:02:05,390 pojavljuje gotovo 13% vremena, 39 00:02:05,390 --> 00:02:09,910 Evelyn nagađanja da H je supstituirani za E kako bi tajni poruku 40 00:02:09,910 --> 00:02:14,030 i pokušava koristite tipku 3 za dešifrirali. 41 00:02:14,030 --> 00:02:19,700 >> Unutar nekoliko minuta, Evelyn figure out Alice planovima i zlo zove Alice roditelje. 42 00:02:19,700 --> 00:02:22,700 Da Alice i Bob uzeti CS50, oni bi znao za to 43 00:02:22,700 --> 00:02:25,750 Učestalost-analiza napad na Cezarova šifra, 44 00:02:25,750 --> 00:02:28,310 koji omogućava da se slomljena vrlo brzo. 45 00:02:28,310 --> 00:02:32,590 Oni bi također poznato da šifra je lako podliježe brutalni napad, 46 00:02:32,590 --> 00:02:35,940 pri čemu Evelyn mogao pokušao sve moguće 25 tipki, 47 00:02:35,940 --> 00:02:38,440 ili smjene engleske abecede, 48 00:02:38,440 --> 00:02:40,490 kako bi se dešifrirati poruke. 49 00:02:40,490 --> 00:02:43,710 Zašto 25 tipki, a ne 26? 50 00:02:43,710 --> 00:02:49,010 >> Pa, pokušajte prebacivanje svako slovo po 26 mjesta, i vidjet ćete zašto. 51 00:02:49,010 --> 00:02:52,280 U svakom slučaju, brutalni napad bi uzeli Evelyn malo duže 52 00:02:52,280 --> 00:02:56,070 ali ne dovoljno dugo da ju je čuvati od presijecanja Alice i Bob planovima, 53 00:02:56,070 --> 00:02:58,660 pogotovo ako Evelyn ima pomoć računala 54 00:02:58,660 --> 00:03:02,640 koji bi mogao parati kroz svih 25 slučajeva u trenu. 55 00:03:02,640 --> 00:03:06,170 Dakle, ovaj problem je također udario drugima koji su koristili Cezarova šifra, 56 00:03:06,170 --> 00:03:10,300 i stoga su ljudi počeli eksperimentirati sa složenijim supstitucije šiframa 57 00:03:10,300 --> 00:03:14,190 da korištenje više smjena vrijednosti umjesto samo jednog. 58 00:03:14,190 --> 00:03:18,080 Jedan od najpoznatijih od njih se zove Vigenère šifra. 59 00:03:18,080 --> 00:03:19,980 Kako ćemo dobiti više vrijednosti smjeni? 60 00:03:19,980 --> 00:03:24,630 Pa, umjesto korištenja broj kao ključ, mi koristimo riječ za ključ. 61 00:03:24,630 --> 00:03:27,940 Mi ćemo koristiti svako slovo u ključu za generiranje broj, 62 00:03:27,940 --> 00:03:33,670 a učinak je da ćemo imati više Cezarova šifra stilu tipke za pomicanje slova. 63 00:03:33,670 --> 00:03:36,620 >> Idemo vidjeti kako to radi po šifriranjem Alicinu poruku Bob: 64 00:03:36,620 --> 00:03:39,010 Nađimo u parku na 11:00 65 00:03:39,010 --> 00:03:42,610 Ja, osobno, mislim slanina je ukusna, 66 00:03:42,610 --> 00:03:44,480 pa neka ga koristiti kao ključ. 67 00:03:44,480 --> 00:03:48,220 Ako uzmemo poruku u svojoj nekodiran, običan tekst formatu, 68 00:03:48,220 --> 00:03:51,020 vidimo da je 25 slova. 69 00:03:51,020 --> 00:03:55,020 Bacon ima samo 5 slova, tako da ćemo morati ponoviti ga 5 puta 70 00:03:55,020 --> 00:03:57,200 kako bi se slagala duljinu običan tekst. 71 00:03:57,200 --> 00:03:59,880 >> Bacon slanina slanina slanina slanina. 72 00:03:59,880 --> 00:04:02,300 Kao kratak stranu, ako je broj slova u običan tekst 73 00:04:02,300 --> 00:04:05,780 nije podijelite čisto po broju slova u ključu, 74 00:04:05,780 --> 00:04:08,260 samo mi završiti konačni ponavljanje od naših ključnih rano, 75 00:04:08,260 --> 00:04:11,800 koristeći samo slova mi potrebne da bi se sve podudaraju. 76 00:04:11,800 --> 00:04:14,590 Sada idemo o pronalaženju pomak vrijednosti. 77 00:04:14,590 --> 00:04:19,100 >> Mi ćemo to učiniti pomoću položaja svako slovo našeg ključ - slanine - 78 00:04:19,100 --> 00:04:21,560 u A do Z abecede. 79 00:04:21,560 --> 00:04:26,060 Budući da smo računalni znanstvenici, željeli bismo početi računajući na nulu umjesto jednog, 80 00:04:26,060 --> 00:04:30,230 pa ćemo reći da je položaj prvog slova slanine - B - 81 00:04:30,230 --> 00:04:33,840 je u položaju 1 u nula-indeksirane do Z abecede, 82 00:04:33,840 --> 00:04:38,300 ne 2, a položaj je nula, nije 1. 83 00:04:38,300 --> 00:04:42,450 Korištenje ovog algoritma, možemo pronaći pomak vrijednosti za svako slovo. 84 00:04:42,450 --> 00:04:45,330 >> Za šifriranje običan tekst i generirati šifra teksta, 85 00:04:45,330 --> 00:04:49,070 samo smo pomak svako slovo u običan tekst u određenom iznosu, 86 00:04:49,070 --> 00:04:54,140 baš kao i mi s Cezarova šifra, pakiranje od Z natrag ako je potrebno. 87 00:04:54,140 --> 00:04:57,880 M dobiva pomaknut za 1 mjesto postati N. 88 00:04:57,880 --> 00:05:02,350 Prvi E ne pomak na sve, ali smo pomak drugi E po dva mjesta za G 89 00:05:02,350 --> 00:05:06,200 i T po 14 mjesta na H. 90 00:05:06,200 --> 00:05:08,610 Ako ćemo raditi kroz običan tekst, možemo završiti s, 91 00:05:08,610 --> 00:05:12,580 "Negh ZF AV HUF pcfx BT gzrwep oz." 92 00:05:12,580 --> 00:05:16,620 Opet, nije jako romantično-sondiranje, ali svakako zagonetan. 93 00:05:16,620 --> 00:05:19,750 Ako Alice i Bob znao Vigenère šifra, 94 00:05:19,750 --> 00:05:23,330 bi oni bili sigurni od Evelyn je znatiželjnih očiju? 95 00:05:23,330 --> 00:05:24,870 Što vi mislite? 96 00:05:24,870 --> 00:05:27,450 Biste li željeli da se prijavite na svoj bankovni račun ako se banka odlučila je iskoristiti 97 00:05:27,450 --> 00:05:32,720 >> Vigenère šifra za šifriranje svoju komunikaciju pomoću svoje lozinke kao ključ? 98 00:05:32,720 --> 00:05:34,810 Ako sam si, ne bih. 99 00:05:34,810 --> 00:05:38,720 I dok je Evelyn može biti zauzet dovoljno dugo za Alice i Bob imati njihov susret-up, 100 00:05:38,720 --> 00:05:41,600 to nije vrijedno za Alice i Bob da ga slučajno. 101 00:05:41,600 --> 00:05:45,780 Vigenère šifra je relativno lako razbiti ako znate duljinu ključa 102 00:05:45,780 --> 00:05:48,490 jer onda možete liječiti kriptirani tekst šifra 103 00:05:48,490 --> 00:05:52,840 kao proizvod od nekoliko isprepletenih Cezar šiframa. 104 00:05:52,840 --> 00:05:55,950 >> Pronalaženje duljinu ključa nije strašno teško, bilo. 105 00:05:55,950 --> 00:06:00,520 Ako izvorni običan tekst poruka je dovoljno dugo da se neke riječi pojavljuju više puta, 106 00:06:00,520 --> 00:06:04,420 na kraju ćete vidjeti ponavljanje pomalja u šifriranom šifra teksta, 107 00:06:04,420 --> 00:06:10,010 kao u ovom primjeru, gdje vidite MONCY pojaviti dva puta. 108 00:06:10,010 --> 00:06:13,800 Osim toga, možete izvesti brutalni napad na šifrirani. 109 00:06:13,800 --> 00:06:17,220 To ne uzeti znatno više nego brutalni napad na Cezarova šifra, 110 00:06:17,220 --> 00:06:20,670 što može biti učinjeno gotovo trenutno s računalom 111 00:06:20,670 --> 00:06:27,130 jer umjesto 25 slučajeva provjeriti imaš 26 ⁿ - 1 mogućnosti, 112 00:06:27,130 --> 00:06:29,580 gdje je n duljina nepoznatog tipke. 113 00:06:29,580 --> 00:06:34,040 >> To je zato što svako slovo u ključu mogao biti bilo koji od 26 pisama, 114 00:06:34,040 --> 00:06:38,280 Do Z, i pametna osoba će pokušati koristiti ključ koji se ne mogu naći u rječniku, 115 00:06:38,280 --> 00:06:44,280 što znači da ćeš morati testirati sve čudnih kombinacija slova, kao ZXXXFF, 116 00:06:44,280 --> 00:06:47,690 a ne samo par 100.000 riječi u rječniku. 117 00:06:47,690 --> 00:06:53,200 Minus 1 dolazi u matematici, jer ti ne bi želite koristiti tipku sa samo je, 118 00:06:53,200 --> 00:06:56,200 budući s našim nula-indeksiranog abecede koja će vam dati isti učinak 119 00:06:56,200 --> 00:06:59,620 kao pomoću Cezarova šifra sa ključem od nule. 120 00:06:59,620 --> 00:07:04,120 U svakom slučaju, 26 ⁿ - 1 ne dobijete veliki vrlo brzo, 121 00:07:04,120 --> 00:07:08,080 ali dok definitivno ne bi htio probati razbijanje šifre rukom na ovaj način, 122 00:07:08,080 --> 00:07:11,080 ovo je definitivno izvodljiv s računalom. 123 00:07:11,080 --> 00:07:14,030 Srećom za Alice i Bob, a za on-line bankarstva, 124 00:07:14,030 --> 00:07:17,890 Kriptografi razvili više sigurnih načina za šifriranje tajne poruke 125 00:07:17,890 --> 00:07:19,690 od znatiželjnih očiju. 126 00:07:19,690 --> 00:07:22,400 >> Međutim, to je tema za neki drugi put. 127 00:07:22,400 --> 00:07:26,210 Moje ime je Nate Hardison. Ovo je CS50.