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 [Esta é CS50. - CS50.TV] 4 00:00:07,000 --> 00:00:09,000 Coñeza Alicia. 5 00:00:09,000 --> 00:00:11,260 Alicia ten unha caída por Bob. 6 00:00:11,260 --> 00:00:15,030 Afortunadamente para Alicia, Bob tamén ten ollos para ela. 7 00:00:15,030 --> 00:00:17,700 Desafortunadamente para a súa novela, 8 00:00:17,700 --> 00:00:20,580 non só os pais de Alicia desaprovam Bob, 9 00:00:20,580 --> 00:00:23,820 pero o mellor amigo de Alicia, Evelyn, ten unha paixón secreta por Bob 10 00:00:23,820 --> 00:00:27,290 e egoisticamente quere perder los separados en todos os custos. 11 00:00:27,290 --> 00:00:31,280 Para enviar mensaxes secretas para o outro que os pais de Alicia non pode entender, 12 00:00:31,280 --> 00:00:34,140 >> Alicia e Bob foron usando unha cifra de César, 13 00:00:34,140 --> 00:00:37,410 que funciona a través da transferencia do alfabeto por un certo número de cartas 14 00:00:37,410 --> 00:00:39,800 como un modo para xerar un novo alfabeto. 15 00:00:39,800 --> 00:00:44,130 Cada letra do alfabeto orixinal é entón substituído polo seu letra correspondente 16 00:00:44,130 --> 00:00:46,920 no novo alfabeto desprazado. 17 00:00:46,920 --> 00:00:50,240 Número favorito de Alicia e 3, que Bob sabe, 18 00:00:50,240 --> 00:00:52,450 de xeito que ela usa como a súa clave 3. 19 00:00:52,450 --> 00:00:55,430 Cando cambia o alfabeto inglés por tres letras, 20 00:00:55,430 --> 00:01:00,680 A torna-se D, B torna-se E, C torna-se F, 21 00:01:00,680 --> 00:01:02,670 e así por diante. 22 00:01:02,670 --> 00:01:07,460 >> Cando chega ao final do alfabeto - para as letras X, Y e Z - 23 00:01:07,460 --> 00:01:09,970 ela só implica en torno de volta para o inicio do alfabeto 24 00:01:09,970 --> 00:01:14,850 e X substitutos cun Y, con B e Z con C. 25 00:01:14,850 --> 00:01:18,550 Así, cando Alicia vai para cifrar a súa mensaxe secreta a Bob, 26 00:01:18,550 --> 00:01:21,520 ou sexa, "Atopar me no parque no once horas", 27 00:01:21,520 --> 00:01:23,790 ela só fai as substitucións adecuadas. 28 00:01:23,790 --> 00:01:30,900 M torna-se P, E torna-se H, e así por diante ata que ela non cifrada mensaxe de texto simple 29 00:01:30,900 --> 00:01:34,350 é transformada en texto cifrado cifrado: 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 definitivamente non é o son máis romántico, 32 00:01:39,370 --> 00:01:41,650 pero Alice cren que vai facer. 33 00:01:41,650 --> 00:01:45,140 >> Alicia dá a mensaxe de Evelyn para entregar a casa de Bob. 34 00:01:45,140 --> 00:01:50,030 Pero Evelyn vez leva-lo de volta para o seu cuarto e intenta descifrar o código. 35 00:01:50,030 --> 00:01:55,470 Unha das primeiras cousas Evelyn avisos é que a letra H ocorre sete veces na mensaxe, 36 00:01:55,470 --> 00:01:58,930 veces máis do que calquera outra letra. 37 00:01:58,930 --> 00:02:01,960 Sabendo que a letra E é a máis común no idioma inglés, 38 00:02:01,960 --> 00:02:05,390 produciron preto de 13% do tempo, 39 00:02:05,390 --> 00:02:09,910 Evelyn suposicións que H foi substituídos por E, a fin de facer a mensaxe secreta 40 00:02:09,910 --> 00:02:14,030 e intenta usar unha chave de 3 a decifra-lo. 41 00:02:14,030 --> 00:02:19,700 >> Dentro de minutos, Evelyn descobre plans de Alicia e maldosamente chama os pais de Alicia. 42 00:02:19,700 --> 00:02:22,700 Alicia e Bob tomara CS50, terían coñecido deste 43 00:02:22,700 --> 00:02:25,750 frecuencia de análise-ataque á cifra de César, 44 00:02:25,750 --> 00:02:28,310 que permite que sexa roto rapidamente. 45 00:02:28,310 --> 00:02:32,590 Eles poderían ter sabido que a cifra é facilmente suxeitos a un ataque de forza bruta, 46 00:02:32,590 --> 00:02:35,940 polo cal Evelyn podería tentar todos os posibles 25 teclas, 47 00:02:35,940 --> 00:02:38,440 ou quendas do alfabeto inglés, 48 00:02:38,440 --> 00:02:40,490 co fin de descifrar a mensaxe. 49 00:02:40,490 --> 00:02:43,710 Por 25 teclas e non 26? 50 00:02:43,710 --> 00:02:49,010 >> Ben, proba cambiar calquera carta por 26 posicións, e vai ver o porqué. 51 00:02:49,010 --> 00:02:52,280 En calquera caso, un ataque de forza bruta levaría Evelyn un pouco máis 52 00:02:52,280 --> 00:02:56,070 pero non o suficiente para impedir-la de frustrar os plans de Alicia e Bob, 53 00:02:56,070 --> 00:02:58,660 especialmente se Evelyn ten a axuda dun ordenador 54 00:02:58,660 --> 00:03:02,640 que podería rasgar todos os 25 casos nun instante. 55 00:03:02,640 --> 00:03:06,170 Entón, este problema tamén atormentado outros, que usaron a cifra de César, 56 00:03:06,170 --> 00:03:10,300 e, polo tanto, as persoas comezaron a experimentar con cifras de substitución máis complexas 57 00:03:10,300 --> 00:03:14,190 que o uso de valores de desprazamento múltiples en vez de só un. 58 00:03:14,190 --> 00:03:18,080 Un dos máis coñecidos deles é chamado de cifra de Vigenère. 59 00:03:18,080 --> 00:03:19,980 Como podemos obter valores de desprazamento múltiples? 60 00:03:19,980 --> 00:03:24,630 Ben, en vez de usar un número como a clave, usan unha palabra para a clave. 61 00:03:24,630 --> 00:03:27,940 Imos usar cada letra a clave para xerar un número, 62 00:03:27,940 --> 00:03:33,670 eo efecto é que nós imos ter varios César cifra estilo claves para o desprazamento de letras. 63 00:03:33,670 --> 00:03:36,620 >> Imos ver como funciona isto, criptografando mensaxe de Alicia para Bob: 64 00:03:36,620 --> 00:03:39,010 Atopar me no parque de once horas 65 00:03:39,010 --> 00:03:42,610 Eu, persoalmente, creo que o Bacon é delicioso, 66 00:03:42,610 --> 00:03:44,480 entón imos usar isto como a clave. 67 00:03:44,480 --> 00:03:48,220 Se tomamos a mensaxe no seu criptografía, formato de texto simple, 68 00:03:48,220 --> 00:03:51,020 vemos que son 25 letras. 69 00:03:51,020 --> 00:03:55,020 Bacon só 5 letras, por iso necesitamos repetir 5 veces 70 00:03:55,020 --> 00:03:57,200 para facelo coincidir coa lonxitude do texto simple. 71 00:03:57,200 --> 00:03:59,880 >> Bacon Bacon Bacon Bacon Bacon. 72 00:03:59,880 --> 00:04:02,300 Como un breve separadamente, o número de letras en texto simple 73 00:04:02,300 --> 00:04:05,780 non dividir limpa polo número de letras en clave, 74 00:04:05,780 --> 00:04:08,260 Nós só rematar a repetición final da nosa clave cedo, 75 00:04:08,260 --> 00:04:11,800 usando só as letras que necesitabamos para facer todo igual-se. 76 00:04:11,800 --> 00:04:14,590 Agora imos para atopar os valores de desprazamento. 77 00:04:14,590 --> 00:04:19,100 >> Nós imos facer isto usando a posición de cada letra do noso clave - Bacon - 78 00:04:19,100 --> 00:04:21,560 no alfabeto da a Z. 79 00:04:21,560 --> 00:04:26,060 Dende que somos científicos da computación, nós gústanos de comezar a contar desde cero en vez de un, 80 00:04:26,060 --> 00:04:30,230 entón imos dicir que a posición da primeira letra de Bacon - B - 81 00:04:30,230 --> 00:04:33,840 está na posición 1 na A con índice cero para alfabeto Z, 82 00:04:33,840 --> 00:04:38,300 non 2, e a posición da é cero e non 1. 83 00:04:38,300 --> 00:04:42,450 Usando este algoritmo, podemos atopar os valores de desprazamento para cada letra. 84 00:04:42,450 --> 00:04:45,330 >> Para cifrar o texto simple e xerar texto cifrado, 85 00:04:45,330 --> 00:04:49,070 Nós só desprazar cada letra do texto claro pola cantidade especificada, 86 00:04:49,070 --> 00:04:54,140 así como facemos coa cifra de César, que inclúen de Z a A volta necesario. 87 00:04:54,140 --> 00:04:57,880 M queda desprazado por un lugar para facer N. 88 00:04:57,880 --> 00:05:02,350 O primeiro é que non cambia en todo, pero cambiamos o E segundo por 2 lugares para G 89 00:05:02,350 --> 00:05:06,200 e T por 14 lugares para H. 90 00:05:06,200 --> 00:05:08,610 Traballar co texto simple, imos acabar con, 91 00:05:08,610 --> 00:05:12,580 "Negh ZF av HUF pcfx BT gzrwep onza" 92 00:05:12,580 --> 00:05:16,620 De novo, non moi romántico-son, pero definitivamente enigmático. 93 00:05:16,620 --> 00:05:19,750 Se Alicia e Bob tiña coñecemento Vigenère cifra, 94 00:05:19,750 --> 00:05:23,330 serían salvo de miradas indiscretos Evelyn? 95 00:05:23,330 --> 00:05:24,870 ¿Que pensas? 96 00:05:24,870 --> 00:05:27,450 ¿Quere entrar na súa conta bancaria, o seu banco decidiu usar 97 00:05:27,450 --> 00:05:32,720 >> Vigenère cifra para cifrar a súa comunicación a través da súa contrasinal como chave? 98 00:05:32,720 --> 00:05:34,810 Se eu fose ti, eu non faría. 99 00:05:34,810 --> 00:05:38,720 E mentres Evelyn pode ser mantido ocupado o tempo suficiente para Alicia e Bob teñen a súa reunir-se, 100 00:05:38,720 --> 00:05:41,600 non paga a pena para Alicia e Bob oportunidade. 101 00:05:41,600 --> 00:05:45,780 Vigenère cifra é relativamente fácil de romper se sabe o tamaño da clave 102 00:05:45,780 --> 00:05:48,490 porque, entón, pode tratar o texto cifrado cifrado 103 00:05:48,490 --> 00:05:52,840 como o produto de algunhas cifras Caesar entrelazadas. 104 00:05:52,840 --> 00:05:55,950 >> Atopar a lonxitude da clave non é moi difícil, tamén. 105 00:05:55,950 --> 00:06:00,520 Se a mensaxe de texto simple orixinal é longo o suficiente para que algunhas palabras ocorren varias veces, 106 00:06:00,520 --> 00:06:04,420 finalmente, vai ver a repetición xurdindo na codificación de texto cifrado, 107 00:06:04,420 --> 00:06:10,010 como neste exemplo, onde ve Moncy aparecen dúas veces. 108 00:06:10,010 --> 00:06:13,800 Ademais, pode realizar un ataque de forza bruta contra a cifra. 109 00:06:13,800 --> 00:06:17,220 Isto fai levar moito máis que un ataque de forza bruta contra a cifra de César, 110 00:06:17,220 --> 00:06:20,670 o que se pode facer case instantaneamente con un ordenador 111 00:06:20,670 --> 00:06:27,130 pois en vez de 25 casos para comprobar que ten 26 ⁿ - 1 posibilidades, 112 00:06:27,130 --> 00:06:29,580 onde n é a lonxitude da clave descoñecida. 113 00:06:29,580 --> 00:06:34,040 >> Isto é porque cada letra da clave pode ser calquera dos 26 letras, 114 00:06:34,040 --> 00:06:38,280 A a Z, e unha persoa intelixente poderían tentar empregar unha chave que non se pode acceder nun dicionario, 115 00:06:38,280 --> 00:06:44,280 o que significa que tería que probar todas as combinacións de letras estrañas, como ZXXXFF, 116 00:06:44,280 --> 00:06:47,690 e non só un par cen mil palabras no dicionario. 117 00:06:47,690 --> 00:06:53,200 A menos 1 entra na matemática porque non vai querer usar unha chave con só un é, 118 00:06:53,200 --> 00:06:56,200 unha vez que o noso alfabeto con índice cero que lle daría o mesmo efecto 119 00:06:56,200 --> 00:06:59,620 como a utilización dunha cifra de César cunha clave de cero. 120 00:06:59,620 --> 00:07:04,120 En calquera caso, 26 ⁿ - 1 non queda gran rapidamente, 121 00:07:04,120 --> 00:07:08,080 pero mentres vostede definitivamente non quere tentar romper unha cifra a man desta forma, 122 00:07:08,080 --> 00:07:11,080 este é sempre factible cun ordenador. 123 00:07:11,080 --> 00:07:14,030 Afortunadamente para Alicia e Bob, e para servizos bancarios en liña, 124 00:07:14,030 --> 00:07:17,890 criptógrafos desenvolveron formas máis seguras para cifrar mensaxes secretas 125 00:07:17,890 --> 00:07:19,690 de ollos curiosos. 126 00:07:19,690 --> 00:07:22,400 >> Con todo, iso é un tema para outro momento. 127 00:07:22,400 --> 00:07:26,210 O meu nome é Nate Hardison. Este é CS50.