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 - Harvardi Ülikool] 3 00:00:04,000 --> 00:00:07,000 [See on CS50. - CS50.TV] 4 00:00:07,000 --> 00:00:09,000 Meet Alice. 5 00:00:09,000 --> 00:00:11,260 Alice on armunud Bob. 6 00:00:11,260 --> 00:00:15,030 Õnneks Alice, Bob on ka silmad teda. 7 00:00:15,030 --> 00:00:17,700 Kahjuks nende lootustandev romantikat, 8 00:00:17,700 --> 00:00:20,580 mitte ainult ei Alice'i vanemad ei kiida Bob, 9 00:00:20,580 --> 00:00:23,820 kuid Alice'i parim sõbranna, Evelyn, on saladus armunud Bob 10 00:00:23,820 --> 00:00:27,290 ja isekalt tahab hoida neid lahus iga hinna eest. 11 00:00:27,290 --> 00:00:31,280 Et saata saladus üksteisele sõnumeid, et Alice'i vanemad ei saa aru, 12 00:00:31,280 --> 00:00:34,140 >> Alice ja Bob on kasutanud Caesar salakiri, 13 00:00:34,140 --> 00:00:37,410 mis töötab suunates tähestiku järgi teatud arv tähti 14 00:00:37,410 --> 00:00:39,800 kui viis luua uus tähestik. 15 00:00:39,800 --> 00:00:44,130 Iga kirja originaal tähestik on siis asendatud vastava kirja 16 00:00:44,130 --> 00:00:46,920 Uute nihkus tähestikku. 17 00:00:46,920 --> 00:00:50,240 Alice'i lemmik number on 3, mis Bob teab, 18 00:00:50,240 --> 00:00:52,450 nii et ta kasutab 3, sest tema võti. 19 00:00:52,450 --> 00:00:55,430 Kui ta nihutab Eesti tähestik 3 tähte, 20 00:00:55,430 --> 00:01:00,680 Muutub D, B muutub E, C muutub F, 21 00:01:00,680 --> 00:01:02,670 ja nii edasi. 22 00:01:02,670 --> 00:01:07,460 >> Kui ta jõuab lõpuks tähestik - kirjadele X, Y, Z - 23 00:01:07,460 --> 00:01:09,970 ta lihtsalt murtakse tagasi alguses tähestikus 24 00:01:09,970 --> 00:01:14,850 ja asendajad X, Y B ja Z C. 25 00:01:14,850 --> 00:01:18,550 Nii et kui Alice läheb varjata oma saladust kiri Bob, 26 00:01:18,550 --> 00:01:21,520 nimelt "Kohtume pargis 11:00" 27 00:01:21,520 --> 00:01:23,790 ta lihtsalt teeb asjakohased asendused. 28 00:01:23,790 --> 00:01:30,900 M muutub P, E muutub H, ja nii edasi, kuni tema krüpteerimata lihttekstisõnumina 29 00:01:30,900 --> 00:01:34,350 on muutunud krüpteeritud salakiri tekst: 30 00:01:34,350 --> 00:01:37,280 "Phhw tel DW KWHLV sdun DW hohyhq DP" 31 00:01:37,280 --> 00:01:39,370 ei ole kindlasti kõige romantilisem kõlav, 32 00:01:39,370 --> 00:01:41,650 kuid Alice arvates teen. 33 00:01:41,650 --> 00:01:45,140 >> Alice annab sõnumi Evelyn andma Bobi maja. 34 00:01:45,140 --> 00:01:50,030 Aga Evelyn asemel võtab ta tagasi oma tuppa ja üritab crack koodi. 35 00:01:50,030 --> 00:01:55,470 Üks esimesi asju, Evelyn teated on see, et täht H esineb 7 korda sõnumile 36 00:01:55,470 --> 00:01:58,930 palju rohkem korda kui ükski teine ​​täht. 37 00:01:58,930 --> 00:02:01,960 Teades, et E-täht on kõige levinum inglise keeles, 38 00:02:01,960 --> 00:02:05,390 esinevad peaaegu 13% ajast, 39 00:02:05,390 --> 00:02:09,910 Evelyn arvailtaisiin, et H on asendatud E, et muuta salajane sõnum 40 00:02:09,910 --> 00:02:14,030 ja üritab võtme abil 3 lahti krüptida. 41 00:02:14,030 --> 00:02:19,700 >> Mõne minuti jooksul, Evelyn nuputab Alice'i plaanid ja halvasti nõuab Alice'i vanemad. 42 00:02:19,700 --> 00:02:22,700 Oli Alice ja Bob võtnud CS50, oleksid nad pidanud teadma selle 43 00:02:22,700 --> 00:02:25,750 sagedus-analüüs rünnak Caesar salakiri, 44 00:02:25,750 --> 00:02:28,310 mis võimaldab seda katki üsna kiiresti. 45 00:02:28,310 --> 00:02:32,590 Nad oleks ka teada, et salakiri on lihtsalt suhtes brute-force rünnakut, 46 00:02:32,590 --> 00:02:35,940 kusjuures Evelyn võis proovinud kõiki võimalikke 25 Võtmed, 47 00:02:35,940 --> 00:02:38,440 või nihked inglise tähestik, 48 00:02:38,440 --> 00:02:40,490 et kirja lugeda. 49 00:02:40,490 --> 00:02:43,710 Miks 25 Võtmed ja mitte 26? 50 00:02:43,710 --> 00:02:49,010 >> Noh, proovida nihkub mõni kirja 26. positsioone, ja te näete, miks. 51 00:02:49,010 --> 00:02:52,280 Igatahes, brute-force rünnakut oleks võtnud Evelyn veidi kauem 52 00:02:52,280 --> 00:02:56,070 kuid ei ole piisavalt pikk, et hoida teda takistades Alice ja Bob plaane, 53 00:02:56,070 --> 00:02:58,660 eriti kui Evelyn on arvuti abil 54 00:02:58,660 --> 00:03:02,640 mis võiks rippida läbi kõik 25 juhtu kohe. 55 00:03:02,640 --> 00:03:06,170 Niisiis, see probleem ka vaevavad teised, kes kasutas Caesar salakiri, 56 00:03:06,170 --> 00:03:10,300 ja seetõttu inimesed hakkasid katsetavad keerulisem asendamine ciphers 57 00:03:10,300 --> 00:03:14,190 et kasutada mitmes vahetuses väärtused ühe asemel. 58 00:03:14,190 --> 00:03:18,080 Üks kõige tuntum neist on nn Vigenère salakiri. 59 00:03:18,080 --> 00:03:19,980 Kuidas me saame mitmes vahetuses väärtused? 60 00:03:19,980 --> 00:03:24,630 Noh, selle asemel numbrit võti, mida me kasutame sõna võti. 61 00:03:24,630 --> 00:03:27,940 Me kasutame iga kirja võti genereerida arv, 62 00:03:27,940 --> 00:03:33,670 ja tulemuseks on, et me peame mitu Caesar salakiri stiilis võtmed minnes tähti. 63 00:03:33,670 --> 00:03:36,620 >> Vaatame, kuidas see toimib, krüptides Alice'i kiri Bob: 64 00:03:36,620 --> 00:03:39,010 Kohtume pargis 11:00 65 00:03:39,010 --> 00:03:42,610 Mina isiklikult arvan, peekon on maitsev, 66 00:03:42,610 --> 00:03:44,480 niiet kasutada seda võtit. 67 00:03:44,480 --> 00:03:48,220 Kui me võtame sõnumit oma krüpteerimata klaartekstis formaadis, 68 00:03:48,220 --> 00:03:51,020 me näeme, et see on 25 tähte pikad. 69 00:03:51,020 --> 00:03:55,020 Bacon on ainult 5 tähte, nii et me peame seda kordama 5 korda 70 00:03:55,020 --> 00:03:57,200 et see matš pikkus lihttekstina. 71 00:03:57,200 --> 00:03:59,880 >> Bacon bacon peekon peekoniga peekon. 72 00:03:59,880 --> 00:04:02,300 Nagu lühike kõrvale, kui tähtede arv lihtteksti 73 00:04:02,300 --> 00:04:05,780 ei jaga puhtalt mitmeid tähed võti, 74 00:04:05,780 --> 00:04:08,260 me lihtsalt lõpuks lõplik kordamine meie peamine vara, 75 00:04:08,260 --> 00:04:11,800 kasutades ainult tähti meil oli vaja teha kõike sobi omavahel. 76 00:04:11,800 --> 00:04:14,590 Nüüd minna leida nihke väärtusi. 77 00:04:14,590 --> 00:04:19,100 >> Me teeme seda, kasutades positsiooni iga kirja meie võti - peekon - 78 00:04:19,100 --> 00:04:21,560 aastal kuni Z tähestikku. 79 00:04:21,560 --> 00:04:26,060 Kuna me oleme arvuti teadlased, tahame alustada nullist asemel 1 80 00:04:26,060 --> 00:04:30,230 Nii et me öelda, et positsioon esimene täht peekon - B - 81 00:04:30,230 --> 00:04:33,840 on asendis 1 null indekseeritud A kuni Z tähestik, 82 00:04:33,840 --> 00:04:38,300 ei 2 ja positsioon on null, mitte 1.. 83 00:04:38,300 --> 00:04:42,450 Kasutades seda algoritmi, saame leida nihke väärtusi iga tähe. 84 00:04:42,450 --> 00:04:45,330 >> Krüptida lihtteksti ja luua šifreeritud tekst, 85 00:04:45,330 --> 00:04:49,070 me lihtsalt minema iga kirja lihttekstina poolt kindlaksmääratud summa, 86 00:04:49,070 --> 00:04:54,140 nagu me teeme koos Caesar salakiri, pakendita Z tagasi, kui vaja. 87 00:04:54,140 --> 00:04:57,880 M saab nihutada 1 koht saada N. 88 00:04:57,880 --> 00:05:02,350 Esimene E ei nihku üldse, kuid me minema teise E 2 kohti G 89 00:05:02,350 --> 00:05:06,200 ja T 14 kohti H. 90 00:05:06,200 --> 00:05:08,610 Kui me töötame läbi lihtteksti, me lõpetame, 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 Jällegi, ei ole väga romantiline kõlav, kuid kindlasti segasena. 93 00:05:16,620 --> 00:05:19,750 Kui Alice ja Bob oli teada Vigenère salakiri, 94 00:05:19,750 --> 00:05:23,330 oleks nad olnud ohutu Evelyn uudishimulikud silmad? 95 00:05:23,330 --> 00:05:24,870 Mis sa arvad? 96 00:05:24,870 --> 00:05:27,450 Kas soovite sisse logida oma pangakonto kui pank otsustanud kasutada 97 00:05:27,450 --> 00:05:32,720 >> Vigenère salakiri krüptimiseks side kasutades oma parooli oma võti? 98 00:05:32,720 --> 00:05:34,810 Kui ma oleksin sina, siis ma ei teeks seda. 99 00:05:34,810 --> 00:05:38,720 Ja kuigi Evelyn võiks pidada kinni nii kauaks, et Alice ja Bob on nende vasta-up, 100 00:05:38,720 --> 00:05:41,600 see ei ole seda väärt, Alice ja Bob juhuse ta. 101 00:05:41,600 --> 00:05:45,780 Vigenère salakiri on suhteliselt lihtne murda, kui tead, võtme pikkus 102 00:05:45,780 --> 00:05:48,490 sest siis saab ravida krüpteeritud salakiri tekst 103 00:05:48,490 --> 00:05:52,840 kui toode mõne põimunud Caesar ciphers. 104 00:05:52,840 --> 00:05:55,950 >> Leida võtme pikkus ei ole väga raske, kas. 105 00:05:55,950 --> 00:06:00,520 Kui algne klaartekstis sõnum on piisavalt pikk, et mõned sõnad esinevad korduvalt, 106 00:06:00,520 --> 00:06:04,420 lõpuks näed kordamine koristuse üles krüpteeritud salakiri teksti, 107 00:06:04,420 --> 00:06:10,010 nagu selles näites, kus sa näed MONCY ilmuma kaks korda. 108 00:06:10,010 --> 00:06:13,800 Lisaks saate täita brute-force rünnakut salakiri. 109 00:06:13,800 --> 00:06:17,220 See ei võta palju pikemad kui brute-force rünnakut Caesar salakiri, 110 00:06:17,220 --> 00:06:20,670 mida saab teha peaaegu silmapilkselt arvuti 111 00:06:20,670 --> 00:06:27,130 alates asemel 25 juhul kontrollida sul 26 ⁿ - 1 võimalusi, 112 00:06:27,130 --> 00:06:29,580 kus n on pikkus tundmatu võtmega. 113 00:06:29,580 --> 00:06:34,040 >> Seda seetõttu, et iga kirja võti võib olla ükskõik milline 26 tähte, 114 00:06:34,040 --> 00:06:38,280 Kuni Z, ja tark inimene püüaks kasutada võti, mida ei saa leida sõnaraamatust, 115 00:06:38,280 --> 00:06:44,280 mis tähendab, et sa pead katsetama kõik imelik tähekombinatsioonid, nagu ZXXXFF, 116 00:06:44,280 --> 00:06:47,690 ja mitte ainult paarsada tuhat sõna sõnastikus. 117 00:06:47,690 --> 00:06:53,200 Miinus 1 sattuvaid matemaatika, sest sa ei tahaks kasutada võtit ainult see, 118 00:06:53,200 --> 00:06:56,200 kuna meie null indekseeritud tähestiku et annaks teile sama mõju 119 00:06:56,200 --> 00:06:59,620 nagu kasutades Caesar salakiri võtmega null. 120 00:06:59,620 --> 00:07:04,120 Igatahes, 26 ⁿ - 1 ei saa suure üsna kiiresti, 121 00:07:04,120 --> 00:07:08,080 aga kui sa kindlasti ei tahaks proovida murda salakiri käsitsi nii, 122 00:07:08,080 --> 00:07:11,080 see on kindlasti tehtav arvuti. 123 00:07:11,080 --> 00:07:14,030 Õnneks Alice ja Bob ning internetipanga, 124 00:07:14,030 --> 00:07:17,890 cryptographers on arenenud turvalisem, kuidas krüpteerida salajaste sõnumite 125 00:07:17,890 --> 00:07:19,690 uteliailta silmad. 126 00:07:19,690 --> 00:07:22,400 >> Kuid see teema veel kord. 127 00:07:22,400 --> 00:07:26,210 Minu nimi on Nate Hardison. See on CS50.