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 - Harvard University] 3 00:00:04,000 --> 00:00:07,000 [Ito ay CS50. - CS50.TV] 4 00:00:07,000 --> 00:00:09,000 Matugunan Alice. 5 00:00:09,000 --> 00:00:11,260 Alice ay may crush sa Bob. 6 00:00:11,260 --> 00:00:15,030 Kabutihang-palad para sa Alice, Bob din ay may mga mata para sa kanya. 7 00:00:15,030 --> 00:00:17,700 Sa kasamaang-palad para sa kanilang namumuko pagmamahalan, 8 00:00:17,700 --> 00:00:20,580 hindi lamang ang Alice ng mga magulang ay hindi aprubahan ng Bob, 9 00:00:20,580 --> 00:00:23,820 ngunit ang pinakamahusay Alice kaibigan, Evelyn, may isang lihim na crush sa Bob 10 00:00:23,820 --> 00:00:27,290 at selfishly nais upang panatilihin ang mga ito bukod sa lahat ng mga gastos. 11 00:00:27,290 --> 00:00:31,280 Upang magpadala ng mga sikretong mensahe sa bawat isa na Alice ng mga magulang ay hindi maaaring maunawaan, 12 00:00:31,280 --> 00:00:34,140 >> Alice at Bob ay gamit ang isang Caesar cipher, 13 00:00:34,140 --> 00:00:37,410 na gumagana sa pamamagitan ng paglilipat sa alpabeto sa pamamagitan ng isang tiyak na bilang ng mga titik 14 00:00:37,410 --> 00:00:39,800 bilang isang paraan upang bumuo ng isang bagong alpabeto. 15 00:00:39,800 --> 00:00:44,130 Ang bawat titik sa orihinal na alpabeto pagkatapos substituted sa pamamagitan nito kaukulang sulat 16 00:00:44,130 --> 00:00:46,920 sa bagong Paglipat alpabeto. 17 00:00:46,920 --> 00:00:50,240 Paboritong numero ng Alice 3, na Bob alam, 18 00:00:50,240 --> 00:00:52,450 kaya siya ay gumagamit ng 3 bilang kanyang key. 19 00:00:52,450 --> 00:00:55,430 Kapag siya nagbabago ang Ingles na alpabeto sa pamamagitan ng 3 titik, 20 00:00:55,430 --> 00:01:00,680 Isang magiging D, B nagiging E, C nagiging F, 21 00:01:00,680 --> 00:01:02,670 at iba pa. 22 00:01:02,670 --> 00:01:07,460 >> Kapag siya ay nakakakuha sa dulo ng alpabeto - ang mga titik X, Y, at Z - 23 00:01:07,460 --> 00:01:09,970 siya lamang bumabalot sa paligid pabalik sa simula ng alpabeto 24 00:01:09,970 --> 00:01:14,850 at pamalit X na may A, Y gamit ang isang B, at Z may C. 25 00:01:14,850 --> 00:01:18,550 Kaya kapag pupunta ng Alice upang i-encrypt ang kanyang lihim na mensahe sa Bob, 26 00:01:18,550 --> 00:01:21,520 lalo "Matugunan akin sa parke sa 11:00," 27 00:01:21,520 --> 00:01:23,790 siya lamang ay ang mga naaangkop na mga pamalit. 28 00:01:23,790 --> 00:01:30,900 M magiging P, E magiging H, at iba pa hanggang unencrypted kanyang plain text message 29 00:01:30,900 --> 00:01:34,350 ay nakabukas sa naka-encrypt na teksto ng cipher: 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 ay talagang hindi ang pinaka-romantikong tunog, 32 00:01:39,370 --> 00:01:41,650 ngunit Alice naniniwala na ito gawin. 33 00:01:41,650 --> 00:01:45,140 >> Alice nagbibigay ang mensahe sa Evelyn ang ihahatid sa bahay ni Bob. 34 00:01:45,140 --> 00:01:50,030 Ngunit sa halip tumatagal ng Evelyn ito pabalik sa kanyang kuwarto at sinusubukang i-magpahaginit ang code. 35 00:01:50,030 --> 00:01:55,470 Isa ng ang unang bagay Evelyn mga notice na ang titik H nangyayari ng 7 beses sa mensahe, 36 00:01:55,470 --> 00:01:58,930 maraming iba pang mga beses kaysa sa anumang iba pang mga titik. 37 00:01:58,930 --> 00:02:01,960 Alam na ang titik E ay ang pinaka-karaniwan sa wikang Ingles, 38 00:02:01,960 --> 00:02:05,390 nagaganap ang halos 13% ng oras, 39 00:02:05,390 --> 00:02:09,910 Evelyn guesses na H ay substituted para sa E upang gawin ang mga lihim na mensahe 40 00:02:09,910 --> 00:02:14,030 at sinusubukang gamit ang isang key ng 3 upang i-decrypt ito. 41 00:02:14,030 --> 00:02:19,700 >> Loob ng ilang minuto, Evelyn figure out Alice ng plano at evilly tawag Alice ng mga magulang. 42 00:02:19,700 --> 00:02:22,700 Ay Alice at Bob kinuha CS50, sila na kilala ng mga ito 43 00:02:22,700 --> 00:02:25,750 dalas-atake ng pagtatasa sa Caesar cipher, 44 00:02:25,750 --> 00:02:28,310 na nagbibigay-daan sa ito sa sira medyo mabilis. 45 00:02:28,310 --> 00:02:32,590 Din nila na kilala na cipher ay madaling sumailalim sa astig-puwersa atake, 46 00:02:32,590 --> 00:02:35,940 kung saan Evelyn Sinubukan ang lahat ng posibleng 25 key, 47 00:02:35,940 --> 00:02:38,440 o nagbabago ng Ingles alpabeto, 48 00:02:38,440 --> 00:02:40,490 upang maintindihan ang mensahe. 49 00:02:40,490 --> 00:02:43,710 Bakit 25 key at hindi 26? 50 00:02:43,710 --> 00:02:49,010 >> Well, subukan ang paglilipat ng anumang sulat sa pamamagitan ng 26 mga posisyon, at makikita mo kung bakit. 51 00:02:49,010 --> 00:02:52,280 Pa rin, ang astig-puwersa atake ay kinuha Evelyn bit na 52 00:02:52,280 --> 00:02:56,070 ngunit hindi may sapat na katagalan upang panatilihin ang kanyang mula sa thwarting Alice at ni Bob plano, 53 00:02:56,070 --> 00:02:58,660 lalo na kung may aid ng isang computer ang Evelyn 54 00:02:58,660 --> 00:03:02,640 na maaaring punitin sa pamamagitan ng lahat ng 25 mga kaso sa isang instant. 55 00:03:02,640 --> 00:03:06,170 Kaya, ang problemang ito ay din plagued iba na ginamit Caesar cipher, 56 00:03:06,170 --> 00:03:10,300 at samakatuwid mga tao ay nagsimulang eksperimento sa mas kumplikadong ciphers pagpapalit 57 00:03:10,300 --> 00:03:14,190 na ang paggamit ng maramihang mga halaga shift sa halip na isa lamang. 58 00:03:14,190 --> 00:03:18,080 Isa sa mga pinaka-kilala ng mga ito ay tinatawag na Vigenère cipher. 59 00:03:18,080 --> 00:03:19,980 Paano kami makakuha ng maramihang mga halaga ng shift? 60 00:03:19,980 --> 00:03:24,630 Well, sa halip ng paggamit ng isang numero bilang ang susi, ginagamit namin ang isang salita para sa key. 61 00:03:24,630 --> 00:03:27,940 Gagamitin namin ang bawat titik sa key upang bumuo ng isang numero, 62 00:03:27,940 --> 00:03:33,670 at epekto na namin magkaroon ng maramihang Caesar cipher-style susi para sa paglilipat ng mga titik. 63 00:03:33,670 --> 00:03:36,620 >> Natin makita kung paano ito gumagana sa pamamagitan ng pag-encrypt Alice ng mensahe sa Bob: 64 00:03:36,620 --> 00:03:39,010 Matugunan akin sa parke sa 11:00 65 00:03:39,010 --> 00:03:42,610 Ko, personal, sa tingin bacon ay masarap, 66 00:03:42,610 --> 00:03:44,480 kaya gamitin natin na bilang ang susi. 67 00:03:44,480 --> 00:03:48,220 Kung namin ang mensahe sa unencrypted, plain-text na format, 68 00:03:48,220 --> 00:03:51,020 nakikita namin na 25 titik ang haba. 69 00:03:51,020 --> 00:03:55,020 Bacon ay may 5 mga titik lamang, kaya kailangan namin upang ulitin ito ng 5 beses 70 00:03:55,020 --> 00:03:57,200 upang gawin itong tumutugma sa haba ng plain text. 71 00:03:57,200 --> 00:03:59,880 >> Bacon bacon bacon bacon bacon. 72 00:03:59,880 --> 00:04:02,300 Bilang isang maikling bukod, kung ang bilang ng mga titik sa plain text 73 00:04:02,300 --> 00:04:05,780 ay hindi hatiin nang malinis sa pamamagitan ng bilang ng mga titik sa key, 74 00:04:05,780 --> 00:04:08,260 lang namin tapusin ang huling pag-uulit ng aming key maaga, 75 00:04:08,260 --> 00:04:11,800 gamit lamang ang mga titik na kailangan namin upang gumawa ng lahat tutugma. 76 00:04:11,800 --> 00:04:14,590 Ngayon kami tungkol sa paghahanap ng mga halaga shift. 77 00:04:14,590 --> 00:04:19,100 >> Kami ay pagpunta sa gawin ito sa pamamagitan ng paggamit ng posisyon ng bawat titik ng ang aming key - bacon - 78 00:04:19,100 --> 00:04:21,560 sa A hanggang Z alpabeto. 79 00:04:21,560 --> 00:04:26,060 Dahil hindi namin computer na siyentipiko, gusto namin upang simulan ang pagbibilang sa zero sa halip na 1, 80 00:04:26,060 --> 00:04:30,230 kaya kami ay pagpunta sa sabihin na ang posisyon ng unang titik ng bacon - B - 81 00:04:30,230 --> 00:04:33,840 sa posisyon 1 sa zero--index A hanggang Z alpabeto, 82 00:04:33,840 --> 00:04:38,300 hindi 2, at ang posisyon ng ay zero, hindi 1. 83 00:04:38,300 --> 00:04:42,450 Gamit ang algorithm na ito, maaari naming mahanap ang mga halaga ng shift para sa bawat titik. 84 00:04:42,450 --> 00:04:45,330 >> Upang i-encrypt ang plain text at bumuo ng ang teksto ng cipher, 85 00:04:45,330 --> 00:04:49,070 lang namin shift ang bawat titik sa plain text sa pamamagitan ng sa tinukoy na halaga, 86 00:04:49,070 --> 00:04:54,140 tulad ng ginagawa namin sa cipher Caesar, pambalot mula sa Z pabalik sa A kung kinakailangan. 87 00:04:54,140 --> 00:04:57,880 M ay makakakuha ng Paglipat ng 1 lugar sa maging N. 88 00:04:57,880 --> 00:05:02,350 Ang unang E hindi shift sa lahat, ngunit shift namin ang pangalawang E ng 2 lugar sa G 89 00:05:02,350 --> 00:05:06,200 at T sa pamamagitan ng 14 mga lugar sa H. 90 00:05:06,200 --> 00:05:08,610 Kung nagtatrabaho kami sa pamamagitan ng plain text, kami magtapos sa, 91 00:05:08,610 --> 00:05:12,580 "Negh zf av huf pcfx BT gzrwep ans." 92 00:05:12,580 --> 00:05:16,620 Muli, hindi napaka-romantikong-tunog ngunit tiyak misteriyoso. 93 00:05:16,620 --> 00:05:19,750 Kung Alice at Bob ay kilala tungkol sa Vigenère cipher, 94 00:05:19,750 --> 00:05:23,330 sila ay ligtas mula sa Evelyn prying mata? 95 00:05:23,330 --> 00:05:24,870 Ano sa tingin ninyo? 96 00:05:24,870 --> 00:05:27,450 Gusto mo nais na mag-log in sa iyong account sa bangko kung nagpasya ang iyong bangko upang gamitin ang 97 00:05:27,450 --> 00:05:32,720 >> Vigenère cipher upang i-encrypt ang iyong komunikasyon gamit ang iyong password bilang iyong key? 98 00:05:32,720 --> 00:05:34,810 Kung ako ay sa iyo, hindi ko gagawin. 99 00:05:34,810 --> 00:05:38,720 At habang Evelyn maaaring iningatan abala may sapat na katagalan para sa Alice at Bob upang ang kanilang matugunan-up, 100 00:05:38,720 --> 00:05:41,600 hindi ito nagkakahalaga ito para sa Alice at Bob sa pagkakataong ito. 101 00:05:41,600 --> 00:05:45,780 Vigenère cipher ay relatibong madaling masira kung alam mo ang haba ng susi 102 00:05:45,780 --> 00:05:48,490 dahil pagkatapos ay maaari mong tratuhin ang mga naka-encrypt na teksto cipher 103 00:05:48,490 --> 00:05:52,840 bilang produkto ng ilang interwoven ciphers Caesar. 104 00:05:52,840 --> 00:05:55,950 >> Paghahanap ang haba ng susi ay hindi masyado mahirap, alinman. 105 00:05:55,950 --> 00:06:00,520 Kung ang orihinal na plain-text message ay may sapat na katagalan na ang ilang mga salita ay nangyari nang maraming beses, 106 00:06:00,520 --> 00:06:04,420 kalaunan makikita mo ang pag-uulit sa pag-crop hanggang sa naka-encrypt na teksto ng cipher, 107 00:06:04,420 --> 00:06:10,010 tulad ng sa halimbawang ito, kung saan makikita mo MONCY lumitaw nang dalawang beses. 108 00:06:10,010 --> 00:06:13,800 Bukod pa rito, maaari kang magsagawa ng isang astig-lakas na pag-atake sa cipher. 109 00:06:13,800 --> 00:06:17,220 Ito ginagawa tumagal ng makabuluhang mas mahaba kaysa sa isang astig na puwersa atake sa cipher Caesar, 110 00:06:17,220 --> 00:06:20,670 na maaaring gawin halos agad na may isang computer 111 00:06:20,670 --> 00:06:27,130 dahil sa halip ng 25 kaso sa check nakuha mo na ang 26 ⁿ - 1 posibilidad, 112 00:06:27,130 --> 00:06:29,580 kung saan ang n ay ang haba ng hindi kilalang key. 113 00:06:29,580 --> 00:06:34,040 >> Ito ay dahil ang bawat titik sa key ay maaaring maging anumang ng 26 titik, 114 00:06:34,040 --> 00:06:38,280 A sa pamamagitan ng Z, at isang smart tao ay subukang gamitin ang isang key na hindi matagpuan sa isang diksyunaryo, 115 00:06:38,280 --> 00:06:44,280 na nangangahulugan na nais mong upang subukan ang lahat ng kakaiba kumbinasyon ng titik, tulad ng ZXXXFF, 116 00:06:44,280 --> 00:06:47,690 at hindi lamang ng ilang daang mga salita sa diksyunaryo. 117 00:06:47,690 --> 00:06:53,200 Sa minus 1 ay sa matematika dahil hindi mo nais na gumamit ng isang susi na may lamang A ang, 118 00:06:53,200 --> 00:06:56,200 dahil sa aming zero--index alpabeto na ay magbibigay sa iyo ng parehong epekto 119 00:06:56,200 --> 00:06:59,620 bilang gamit ang isang Caesar cipher na may isang key ng zero. 120 00:06:59,620 --> 00:07:04,120 Pa Rin, 26 ⁿ - 1 ay makakuha ng malaking halip mabilis, 121 00:07:04,120 --> 00:07:08,080 ngunit habang tiyak ka ay hindi gusto mong subukan ang paglabag ng cipher sa pamamagitan ng kamay sa ganitong paraan, 122 00:07:08,080 --> 00:07:11,080 ay tiyak na maaaring gawin ito gamit ang isang computer. 123 00:07:11,080 --> 00:07:14,030 Kabutihang-palad para sa Alice at Bob, at para sa online banking, 124 00:07:14,030 --> 00:07:17,890 cryptographers na binuo mas ligtas na paraan upang i-encrypt ang mga lihim na mensahe 125 00:07:17,890 --> 00:07:19,690 mula sa prying mata. 126 00:07:19,690 --> 00:07:22,400 >> Gayunpaman, na ang isang paksa para sa isa pang oras. 127 00:07:22,400 --> 00:07:26,210 Ang pangalan ko ay Nate Hardison. Ito ay CS50.