1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Виженера Cipher] 2 00:00:02,000 --> 00:00:04,000 [Nate Хардисон - Гарвардскі універсітэт] 3 00:00:04,000 --> 00:00:07,000 [Гэта CS50. - CS50.TV] 4 00:00:07,000 --> 00:00:09,000 Знаёмствы Аліса. 5 00:00:09,000 --> 00:00:11,260 Аліса закахана ў Боба. 6 00:00:11,260 --> 00:00:15,030 На шчасце для Алісы, Боб таксама мае вачэй для яе. 7 00:00:15,030 --> 00:00:17,700 На жаль, для іх які падае надзеі раман, 8 00:00:17,700 --> 00:00:20,580 не толькі бацькі Алісы не ўхваляюць Боб, 9 00:00:20,580 --> 00:00:23,820 але лепшы сябар Алісы, Эвелін, ёсць таямніца закахана ў Боб 10 00:00:23,820 --> 00:00:27,290 і эгаістычна хоча захаваць іх адзін ад аднаго любой цаной. 11 00:00:27,290 --> 00:00:31,280 Для перадачы сакрэтных паведамленняў адзін аднаму, што бацькі Алісы не магу зразумець, 12 00:00:31,280 --> 00:00:34,140 >> Аліса і Боб выкарыстаў шыфр Цэзара, 13 00:00:34,140 --> 00:00:37,410 , Які працуе шляхам зруху алфавіту на пэўную колькасць літар 14 00:00:37,410 --> 00:00:39,800 як спосаб стварэння новага алфавіту. 15 00:00:39,800 --> 00:00:44,130 Кожная літара ў зыходным алфавіце затым замешчаны адпаведным лістом 16 00:00:44,130 --> 00:00:46,920 У новай ссунутыя алфавіту. 17 00:00:46,920 --> 00:00:50,240 Любімы нумар Алісы 3, які Боб ведае, 18 00:00:50,240 --> 00:00:52,450 такім чынам, яна выкарыстоўвае 3, як яе ключом. 19 00:00:52,450 --> 00:00:55,430 Калі яна зрушваецца ангельскага алфавіту на 3 літары, 20 00:00:55,430 --> 00:01:00,680 Становіцца D, B становіцца E, C становіцца F, 21 00:01:00,680 --> 00:01:02,670 і гэтак далей. 22 00:01:02,670 --> 00:01:07,460 >> Калі яна дабіраецца да канца алфавіту - на лісты, X, Y, Z і - 23 00:01:07,460 --> 00:01:09,970 яна проста абцякае вярнуцца да пачатку алфавіту 24 00:01:09,970 --> 00:01:14,850 і заменнікі X з A, Y з B, і Z з C. 25 00:01:14,850 --> 00:01:18,550 Так што, калі Аліса адпраўляецца ў шыфраваць свае таемныя паведамленне Бобу, 26 00:01:18,550 --> 00:01:21,520 а менавіта: "Сустрэнь мяне ў парк на 11 раніцы», 27 00:01:21,520 --> 00:01:23,790 яна проста робіць адпаведныя замены. 28 00:01:23,790 --> 00:01:30,900 M становіцца P, E становіцца H, і гэтак далей, пакуль яе незашыфраваным выглядзе тэкставага паведамлення 29 00:01:30,900 --> 00:01:34,350 ператвараюцца ў зашыфраваны тэкст шыфра: 30 00:01:34,350 --> 00:01:37,280 "Phhw тэл DW WKH sdun DW hohyhq ДП" 31 00:01:37,280 --> 00:01:39,370 , Безумоўна, не самы рамантычны гучанне, 32 00:01:39,370 --> 00:01:41,650 але Аліса лічаць, што ён будзе рабіць. 33 00:01:41,650 --> 00:01:45,140 >> Аліса дае паведамленне для Эвеліна даставіць на дом Боба. 34 00:01:45,140 --> 00:01:50,030 Але замест Эвелін бярэ яго да сябе ў пакой і спрабуе ўзламаць код. 35 00:01:50,030 --> 00:01:55,470 Адна з першых рэчаў, Эвелін адзначае, што літара H адбываецца 7 раз ў паведамленні, 36 00:01:55,470 --> 00:01:58,930 шмат больш разоў, чым любая іншая літара. 37 00:01:58,930 --> 00:02:01,960 Ведаючы, што літара Е з'яўляецца найбольш распаўсюджаным у англійскай мове, 38 00:02:01,960 --> 00:02:05,390 адбываецца амаль 13% часу, 39 00:02:05,390 --> 00:02:09,910 Эвелін мяркуе, што H была заменена E для таго, каб зрабіць таемнае паведамленне 40 00:02:09,910 --> 00:02:14,030 і спрабуе з дапамогай ключа ад 3 да расшыфроўкі. 41 00:02:14,030 --> 00:02:19,700 >> Праз некалькі хвілін, Эвелін высвятляе планы Алісы і злосна называе бацькі Алісы. 42 00:02:19,700 --> 00:02:22,700 Калі б Аліса і Боб прынята CS50, яны б ведалі гэтага 43 00:02:22,700 --> 00:02:25,750 Частата аналізу напад на шыфр Цэзара, 44 00:02:25,750 --> 00:02:28,310 , Што дазваляе ёй быць разбіта даволі хутка. 45 00:02:28,310 --> 00:02:32,590 Яны таксама ведалі, што шыфр лёгка падвяргаюцца атака грубай сілы, 46 00:02:32,590 --> 00:02:35,940 Эвелін якой мог бы паспрабаваць усе магчымыя 25 клавіш, 47 00:02:35,940 --> 00:02:38,440 або зрухі ангельскага алфавіту, 48 00:02:38,440 --> 00:02:40,490 для таго, каб расшыфраваць паведамленне. 49 00:02:40,490 --> 00:02:43,710 Чаму 25 клавіш, а не 26? 50 00:02:43,710 --> 00:02:49,010 >> Ну, паспрабуйце ч. любую літару на 26 пазіцый, і вы зразумееце, чаму. 51 00:02:49,010 --> 00:02:52,280 Ва ўсякім выпадку, атака грубай сілы ўзялі б Эвелін трохі даўжэй 52 00:02:52,280 --> 00:02:56,070 але не дастаткова доўга, каб утрымаць яе ад зрыву Алісы і Боба планы, 53 00:02:56,070 --> 00:02:58,660 асабліва калі Эвелін мае дапамозе кампутара 54 00:02:58,660 --> 00:03:02,640 , Якія могуць капіяваць праз усе 25 выпадкаў у адно імгненне. 55 00:03:02,640 --> 00:03:06,170 Такім чынам, гэтая праблема таксама пакутуюць іншыя, якія выкарыстоўвалі шыфр Цэзара, 56 00:03:06,170 --> 00:03:10,300 і, такім чынам, людзі пачалі эксперыментаваць з больш складанымі шыфрамі замены 57 00:03:10,300 --> 00:03:14,190 што выкарыстанне некалькіх значэнняў зруху замест аднаго. 58 00:03:14,190 --> 00:03:18,080 Адзін з самых вядомых з іх завецца Виженера шыфр. 59 00:03:18,080 --> 00:03:19,980 Як мы можам атрымаць некалькі значэнняў зруху? 60 00:03:19,980 --> 00:03:24,630 Ну, а з дапамогай шэрагу ў якасці ключа, мы выкарыстоўваем слова для ключа. 61 00:03:24,630 --> 00:03:27,940 Мы будзем выкарыстоўваць кожную літару ў ключавым для генерацыі лікаў, 62 00:03:27,940 --> 00:03:33,670 і эфекту з'яўляецца тое, што мы будзем мець некалькі шыфр Цэзара ў стылі ключоў для перамяшчэння літар. 63 00:03:33,670 --> 00:03:36,620 >> Давайце паглядзім, як гэта працуе з дапамогай шыфравання паведамленні Алісы да Боба: 64 00:03:36,620 --> 00:03:39,010 Сустрэнемся ў парку на 11-й раніцы 65 00:03:39,010 --> 00:03:42,610 Я, асабіста, думаю, бекон смачная, 66 00:03:42,610 --> 00:03:44,480 так што давайце выкарыстоўваць яго ў якасці ключа. 67 00:03:44,480 --> 00:03:48,220 Калі мы возьмем паведамленне ў незашыфраваным выглядзе, тэкставы фармат, 68 00:03:48,220 --> 00:03:51,020 мы бачым, што гэта 25 літар. 69 00:03:51,020 --> 00:03:55,020 Бэкон мае толькі 5 літар, так што мы павінны паўтарыць 5 разоў 70 00:03:55,020 --> 00:03:57,200 каб ён адпавядаў даўжыні просты тэкст. 71 00:03:57,200 --> 00:03:59,880 >> Бекон Бекон Бекон Бекон Бекон. 72 00:03:59,880 --> 00:04:02,300 У якасці кароткага бок, калі лік літар у звычайны тэкст 73 00:04:02,300 --> 00:04:05,780 не дзяліць чыста па колькасці літар у ключавых, 74 00:04:05,780 --> 00:04:08,260 Мы проста ў канчатковым канчатковае паўтор нашых ключавых рана, 75 00:04:08,260 --> 00:04:11,800 выкарыстоўваючы толькі літары мы павінны зрабіць усё, супадаюць. 76 00:04:11,800 --> 00:04:14,590 Цяпер мы ісці аб пошуку зрух каштоўнасцяў. 77 00:04:14,590 --> 00:04:19,100 >> Мы збіраемся зрабіць гэта з дапамогай пазіцыі кожнай літары з нашых ключавых - бекон - 78 00:04:19,100 --> 00:04:21,560 У А-Я алфавіце. 79 00:04:21,560 --> 00:04:26,060 Так як мы кампутарных навукоўцаў, мы хацелі пачаць адлік з нуля, а не 1, 80 00:04:26,060 --> 00:04:30,230 так што мы збіраемся сказаць, што становішча першай літары бекон - B - 81 00:04:30,230 --> 00:04:33,840 знаходзіцца ў становішчы 1 у нуль-індэксавацца па алфавіце Z, 82 00:04:33,840 --> 00:04:38,300 не 2, а пазіцыя роўная нулю, а не 1. 83 00:04:38,300 --> 00:04:42,450 Выкарыстоўваючы гэты алгарытм, мы можам знайсці зрух значэнняў для кожнай літары. 84 00:04:42,450 --> 00:04:45,330 >> Каб зашыфраваць тэкст і генераваць зашыфраваны тэкст, 85 00:04:45,330 --> 00:04:49,070 мы проста перакласці кожнай літары ў тэкст на зададзеную велічыню, 86 00:04:49,070 --> 00:04:54,140 гэтак жа, як мы робім з шыфр Цэзара, упакоўка з Z назад у выпадку неабходнасці. 87 00:04:54,140 --> 00:04:57,880 M атрымлівае ссунуты на 1 месца, каб стаць N. 88 00:04:57,880 --> 00:05:02,350 Першая E не зрушваецца на ўсіх, але мы зрушваем 2. E на 2 месцы для G 89 00:05:02,350 --> 00:05:06,200 і T на 14 месцаў для H. 90 00:05:06,200 --> 00:05:08,610 Калі мы будзем працаваць праз звычайны тэкст, мы ў выніку, 91 00:05:08,610 --> 00:05:12,580 "Negh ZF AV HUF pcfx BT gzrwep Оз". 92 00:05:12,580 --> 00:05:16,620 Зноў жа, не вельмі рамантычна які гучыць, але вызначана загадкавым. 93 00:05:16,620 --> 00:05:19,750 Калі Аліса і Боб ведаў пра Виженера шыфр, 94 00:05:19,750 --> 00:05:23,330 б яны былі ў бяспецы ад цікаўных вачэй Эвелін? 95 00:05:23,330 --> 00:05:24,870 Што вы думаеце? 96 00:05:24,870 --> 00:05:27,450 Ці хочаце вы увайсці ў свой банкаўскі рахунак, калі ваш банк вырашыў выкарыстаць 97 00:05:27,450 --> 00:05:32,720 >> Шыфр Виженера для шыфравання сувязі з выкарыстаннем пароля ў якасці ключа? 98 00:05:32,720 --> 00:05:34,810 Калі б я быў табой, я б не стаў. 99 00:05:34,810 --> 00:05:38,720 І ў той час Эвелін можа быць заняты дастаткова доўга для Алісы і Боба, каб іх сустрэць у эксплуатацыю, 100 00:05:38,720 --> 00:05:41,600 яно таго не каштуе для Алісы і Боба, каб рызыкаваць. 101 00:05:41,600 --> 00:05:45,780 Шыфр Виженера адносна лёгка разбіць, калі вы ведаеце даўжыню ключа 102 00:05:45,780 --> 00:05:48,490 таму што тады вы можаце звяртацца зашыфраваны тэкст шыфра 103 00:05:48,490 --> 00:05:52,840 як твор некалькіх пераплеценых шыфраў Цэзара. 104 00:05:52,840 --> 00:05:55,950 >> Знаходжанне даўжыні ключа не вельмі складана, альбо. 105 00:05:55,950 --> 00:06:00,520 Калі зыходны тэкставыя паведамленні дастаткова доўга, што некаторыя словы сустракаюцца некалькі разоў, 106 00:06:00,520 --> 00:06:04,420 у рэшце рэшт вы ўбачыце паўтарэння, якія ўзнікаюць у зашыфраваны тэкст шыфра, 107 00:06:04,420 --> 00:06:10,010 як у гэтым прыкладзе, дзе вы бачыце MONCY з'яўляюцца двойчы. 108 00:06:10,010 --> 00:06:13,800 Акрамя гэтага, вы можаце выканаць грубай сілы атакі на шыфр. 109 00:06:13,800 --> 00:06:17,220 Гэта сапраўды займае значна больш, чым грубай сілай атакі на шыфр Цэзара, 110 00:06:17,220 --> 00:06:20,670 што можна зрабіць амаль імгненна з дапамогай кампутара 111 00:06:20,670 --> 00:06:27,130 так як замест 25 выпадкаў, каб праверыць вас ёсць 26 ⁿ - 1 магчымасцям, 112 00:06:27,130 --> 00:06:29,580 дзе п даўжыні невядомага ключа. 113 00:06:29,580 --> 00:06:34,040 >> Гэта таму, што кожная літара ў ключы можа быць любы з 26 літар, 114 00:06:34,040 --> 00:06:38,280 А да Z, а разумны чалавек паспрабуе выкарыстаць ключ, які не можа быць знойдзена ў слоўніку, 115 00:06:38,280 --> 00:06:44,280 Гэта азначае, што вы павінны праверыць усе дзіўныя камбінацыі літар, як ZXXXFF, 116 00:06:44,280 --> 00:06:47,690 і не толькі пара соцень тысяч слоў у слоўніку. 117 00:06:47,690 --> 00:06:53,200 Мінус 1 прыходзіць у матэматыцы, таму што вы не хацелі б выкарыстоўваць ключ толькі гэта, 118 00:06:53,200 --> 00:06:56,200 так як з нашай нулявы індэксаваць алфавіт, які дасць вам той жа эфект 119 00:06:56,200 --> 00:06:59,620 як з дапамогай шыфра Цэзара з ключавым нуля. 120 00:06:59,620 --> 00:07:04,120 Ва ўсякім выпадку, 26 ⁿ - 1 сапраўды становіцца вялікім даволі хутка, 121 00:07:04,120 --> 00:07:08,080 але пакуль вы дакладна не хацелі б паспрабаваць зламаць шыфр рукой такім чынам, 122 00:07:08,080 --> 00:07:11,080 гэта, безумоўна, выканальныя з дапамогай кампутара. 123 00:07:11,080 --> 00:07:14,030 На шчасце для Алісы і Боба, а таксама для онлайн-банкінгу, 124 00:07:14,030 --> 00:07:17,890 крыптаграфія распрацавалі больш бяспечныя спосабы для шыфравання сакрэтных паведамленняў 125 00:07:17,890 --> 00:07:19,690 ад цікаўных вачэй. 126 00:07:19,690 --> 00:07:22,400 >> Зрэшты, гэта тэма для іншага часу. 127 00:07:22,400 --> 00:07:26,210 Мяне клічуць Нейт Хардисон. Гэта CS50.