[Powered by Google Translate] [Vigenère Cipher] [Nate Hardison - Harvard University] [Esta es CS50. - CS50.TV] Conoce a Alice. Alice está enamorada de Bob. Afortunadamente para Alice, Bob también tiene ojos para ella. Por desgracia para su romance en ciernes, no sólo a los padres de Alice desaprueba Bob, pero la mejor amiga de Alice, Evelyn, está enamorado en secreto de Bob y egoístamente quiere mantenerlos separados a toda costa. Para enviar mensajes secretos entre sí que los padres de Alicia no puede entender, Alice y Bob han estado usando un cifrado César, que funciona desplazando el alfabeto por un cierto número de cartas como un modo de generar un nuevo alfabeto. Cada letra en el alfabeto original se sustituyó por su letra correspondiente en el nuevo alfabeto cambió. Número favorito de Alice es 3, que Bob lo sabe, así que ella utiliza 3 como su llave. Cuando se cambia el alfabeto Inglés por 3 letras, A se convierte en D, B se convierte en E, C se convierte en F, y así sucesivamente. Cuando llega al final del alfabeto - a las letras X, Y, y Z - ella sólo envuelve de nuevo al principio del alfabeto y sustitutos X con una Y, con B, y Z con C. Por eso, cuando Alice se va a cifrar su mensaje secreto a Bob, a saber: "Nos vemos en el parque a las once am," ella sólo hace las sustituciones apropiadas. M se convierte en P, E se convierte en H, y así sucesivamente hasta que su mensaje no cifrado de texto sin formato se convierte en texto cifrado: "Phhw ph dw dw GHO sdun hohyhq dp" definitivamente no es el más romántico de resonancia, pero Alice creo que voy a hacer. Alice da el mensaje a Evelyn a entregar a la casa de Bob. Pero Evelyn sino que lleva de vuelta a su habitación y trata de descifrar el código. Una de las primeras cosas que notas Evelyn es que la letra H ocurre 7 veces en el mensaje, Cuántas veces más que cualquier otra letra. Sabiendo que la letra E es la más común en el idioma Inglés, que ocurre casi 13% del tiempo, Evelyn conjeturas que H ha sido sustituido por E con el fin de hacer que el mensaje secreto y trata mediante una clave de 3 para descifrarlo. En cuestión de minutos, Evelyn se da cuenta de los planes de Alice y maliciosamente llama a los padres de Alice. Si Alice y Bob tomado CS50, habrían conocido de este frecuencia de análisis de ataque al cifrado César, lo que permite que se rompa con bastante rapidez. También habría sabido que la cifra es fácilmente objeto de un ataque de fuerza bruta, por el que Evelyn podría haber intentado todos los posibles 25 teclas, o los cambios del alfabeto Inglés, el fin de descifrar el mensaje. ¿Por qué 25 teclas y no 26? Bueno, trate de cambiar cualquier letra por 26 posiciones, y verás por qué. De todos modos, un ataque de fuerza bruta habría tomado un poco más de Evelyn pero no lo suficiente para impedir que Alice y frustrar los planes de Bob, especialmente si Evelyn tiene la ayuda de un ordenador que podría rasgar a través de los 25 casos en un instante. Por lo tanto, este problema también plagado a otros que utilizan el cifrado César, y por lo tanto la gente comenzó a experimentar con códigos de sustitución más complejos que el uso de múltiples valores de cambio en lugar de uno solo. Uno de los más conocido de ellos es el llamado cifrado Vigenère. ¿Cómo podemos obtener múltiples valores de cambio? Pues bien, en lugar de utilizar un número como la clave, se utiliza una palabra para la clave. Vamos a utilizar cada letra de la clave para generar un número, y el efecto es que vamos a tener varias César cifrado de claves de estilo para cambiar las letras. Vamos a ver cómo funciona mediante la encriptación de mensajes de Alice a Bob: Nos vemos en el parque a las 11 a.m. Yo, personalmente, creo tocino es delicioso, así que vamos a usar eso como la clave. Si tomamos el mensaje en su cifrado, texto sin formato, vemos que son 25 letras. Tocino sólo tiene 5 cartas, así que tenemos que repetir 5 veces para hacer que coincida con la longitud del texto sin formato. Tocino tocino tocino tocino tocino. Como un breve aparte, si el número de letras en el texto no se divide limpiamente por el número de cartas en la clave, acabamos de terminar la repetición final de la llave temprano, utilizando sólo las letras que necesitábamos para hacer que todo coincida. Ahora que avanzamos en la búsqueda de los valores de desplazamiento. Vamos a hacer esto mediante el uso de la posición de cada letra de la llave - tocino - en la A a la Z alfabeto. Ya que somos los informáticos, nos gustaría empezar a contar desde cero en lugar de 1, así que vamos a decir que la posición de la primera letra de tocino - B - está en la posición 1 en el A-cero indexada a la alfabeto Z, no 2, y la posición de A no es igual a cero, 1. El uso de este algoritmo, podemos encontrar los valores de desplazamiento para cada letra. Para cifrar el texto plano y texto cifrado generar, acabamos de cambiar cada letra del texto en la cantidad especificada, al igual que hacemos con el cifrado César, envoltura de Z a A si es necesario. M se desplaza en un lugar para convertirse en N. El primer E no cambia en absoluto, sino que cambiamos la segunda E por 2 lugares para G y T por 14 lugares a H. Si trabajamos a través del texto, nos encontramos con, "Negh zf av huf pcfx bt gzrwep Oz". De nuevo, no es muy romántico que suena críptico pero definitivamente. Si Alice y Bob sabía de Vigenère cifra, ¿habrían estado a salvo de miradas indiscretas de Evelyn? ¿Qué te parece? ¿Le gustaría entrar en su cuenta bancaria si su banco decidió utilizar Vigenère cifrado para cifrar la comunicación con su contraseña como su clave? Si yo fuera tú, no lo haría. Y mientras que Evelyn podría mantenerse ocupado lo suficiente para que Alice y Bob para tener su reunión de seguimiento, no vale la pena por Alice y Bob a correr el riesgo. Vigenère cifra es relativamente fácil de romper si se conoce la longitud de la clave porque entonces se puede tratar el texto cifrado como el producto de un cifrado César pocos entrelazadas. Encontrar la longitud de la clave no es muy difícil, ya sea. Si el original de texto plano mensaje es lo suficientemente largo que algunas palabras aparecen varias veces, finalmente verá la repetición apareciendo en el texto cifrado, como en este ejemplo, donde se ve moncy aparecen dos veces. Además, se puede realizar un ataque de fuerza bruta sobre la cifra. Esto toma mucho más tiempo que un ataque de fuerza bruta sobre el cifrado César, que se puede hacer casi instantáneamente con un ordenador ya que en lugar de 25 casos para comprobar que tienes 26 ⁿ - 1 posibilidades, donde n es la longitud de la clave desconocida. Esto es porque cada letra de la clave podría ser cualquiera de las 26 cartas, A través de Z, y una persona inteligente sería tratar de utilizar una clave que no se puede encontrar en un diccionario, lo que significa que usted tendría que probar todas las combinaciones de letras extrañas, como ZXXXFF, y no sólo un par de cientos de miles de palabras en el diccionario. El menos 1 entra en los cálculos, ya que no se desea utilizar una clave con sólo Atléticos, ya que con nuestro índice basada en cero alfabeto que le daría el mismo efecto como el uso de un cifrado César con una tecla de cero. De todos modos, el 26 ⁿ - 1 se pone grande con bastante rapidez, pero mientras usted definitivamente no querrá intentar romper un cifrado por mano de esta manera, este es definitivamente factible con un ordenador. Afortunadamente para Alice y Bob, y para la banca en línea, criptógrafos han desarrollado formas más seguras para cifrar mensajes secretos de las miradas indiscretas. Sin embargo, eso es un tema para otro momento. Mi nombre es Nate Hardison. Esto es CS50.