Ahora que hemos visto algunos ejemplos de cifrados históricos, todos los cuales son fáciles de
romper, vamos a cambiar y hablar de cifrados mucho mejor
diseñados. Pero antes de hacerlo, quiero en primer lugar, definir más precisamente lo que un
cifrado es. Así que ante todo, una cifrado es, recordemos que un cifrado se compone de
dos algoritmos. Existe un algoritmo de cifrado y un algoritmo de descifrado. Pero
de hecho, un cypher se define sobre un triple. Así el conjunto de todas las claves posibles,
que voy a denotar por K, a la que llamaré "espacio de claves",
es el conjunto de todas las claves posibles. Este es el conjunto de posibles mensajes y este,
el conjunto de todos los posibles textos cifrados. Muy bien, así que este triplete define el
medio ambiente sobre el cual se define el cifrado. Y entonces el cifrado en sí es un
par de algoritmos eficientes E y D. E es el algoritmo de cifrado; d es el
algoritmo de descifrado. Por supuesto, E toma claves y mensajes y obtiene textos cifrados.
Y el algoritmo de descifrado toma claves y textos cifrados y obtienes mensajes sin cifrar.
Y los únicos requisitos es que estos algoritmos sean consistentes. Cumplen
lo que se llama la propiedad de consistencia. Así que para cada mensaje en el espacio de mensajes.
Y cada clave en el espacio de claves, si cifro el mensaje
con la clave k y luego descifro utilizando la misma clave k, debería obtener
el mensaje original con el que empecé. Por lo que esta ecuación de aquí es lo que se denomina
ecuación de consistencia y cada cifrado tiene que satisfacerla para ser un cifrado,
de lo contrario no es posible descifrar. Una cosa que quería señalar es que
he puesto la palabra eficaz entre comillas. Y la razón por la que lo hago es porque eficiente
significa cosas diferentes para personas diferentes. Si está más inclinado hacia la
teoría, eficiente significa que se ejecuta en tiempo polinómico. Así que los algoritmos D y E deben ejecutarse
en un tiempo polinómico en el tamaño de sus inputs. Si eres más práctico,
eficiente significa que se ejecuta dentro de un cierto período de tiempo. Así, por ejemplo,
el algoritmo E podría tener que tardar menos de un minuto en cifrar un gigabyte de
datos. De cualquier manera, la palabra eficiente engloba ambas nociones y puedes
interpretarlo como prefieras. Yo voy a referirme
a eficiente y poniendo comillas´, así que si estás más inclinado a la teoría,
piensa en ello como tiempo polinomial. Y si no, piensa en
límites de tiempo. Otro comentario que quiero hacer es sobre el algoritmo E.
A menudo es un algoritmo aleatorio. Lo significa que cuando cifras
mensajes, el algoritmo E va a generar bits aleatorios para sí mismo y va a
utilizar los bits aleatorios para cifrar los mensajes que recibe. Por el contrario,
el algoritmo de descifrado otra es siempre determinístico. En otras palabras, dadas
la clave y el texto cifrado, la salida es siempre la misma. No depende de ninguna
aleatoriedad utilizada por el algoritmo. Está bien, ahora que entendemos mejor lo que es
un cifrado, quiero mostraros el primer ejemplo de un cifrado seguro.
Se llama "libreta de un solo uso" y fue diseñado por Vernam a principios del
siglo XX. Antes de explicar realmente lo que es el cifrado, vamos a
escribirlo en la terminología que acabamos de ver. Así que el espacio de mensajes para el
cifrado de Vernam es el mismo que el espacio de textos cifrados, que es
justamente el conjunto de todas las cadenas binarias. Esto sólo significa todas las secuencias de
bits, de caracteres cero uno. El espacio de claves es básicamente el mismo que el espacio de
mensajes, que de nuievo es simplemente el conjunto de cadenas binarias. Por lo tanto, una libreta de
un solo uso es simplemente una cadena aleatoria grande, es una secuencia aleatoria de bits. Es tan
larga como el mensaje a cifrar, tanto como el mensaje. Bueno, ahora que hemos
especificado los espacios sobre los que se define el cifrado, podemos ver cómo
trabaja el cifrado, y es realmente simple. Esencialmente, el texto cifrado,
que es el resultado de cifrar un mensaje con una clave particular, es simplemente
el XOR de los dos. Simplemente K XOR M. Veamos un ejemplo rápido de
esto. Hay que recordar que XOR, este + con un círculo, XOR significa suma
módulo 2. Así que si tomo un mensaje determinado, digamos, 0110111. Y una
clave particular, por ejemplo 1011001. Cuando cifro el mensaje
usando la clave, todo lo que hago es el XOR de las dos
cadenas. En otras palabras, sumo módulo dos bit a bit. Así, obtengo uno,
uno, cero, uno, uno, uno, cero. Es un texto cifrado. ¿Y ahora, cómo lo descifro?
Presumo que haciendo lo mismo. Así que desciframos el texto cifrado usando
una clave particular. Hago XOR de nuevo sobre la clave y el texto cifrado. Y así, todo lo
que debo verificar es que satisface los requisitos de consistencia. Y vamos a
verlo despacio una vez, y desde ahora, asumiremos todo esto, para que lo veáis.
Por lo que vamos a hacer, vamos a asegurarnos de que si descifro un mensaje cifrado,
que se cifró mediante una clave particular, obtendré el texto original M.
Así que, ¿qué pasa aquí? Veámoslo. Si miro el cifrado
de K y M, es simplemente K XOR M por definición. ¿Cuál es el descifrado de K XOR M usando K?
Es simplemente K XOR (K XOR M). Y como ya he dicho que XOR es la
suma módulo 2, la suma es asociativa, así que esto es igual a (K XOR K) XOR M,
y como K XOR K es 0, entonces 0 XOR M
es simplemente M. Bien, así que esto realmente demuestra que la libreta de un solo uso es realmente un cifrado,
pero no dice nada acerca de la seguridad del cifrado. Y hablaremos
acerca de la seguridad del cifrado en un momento. En primer lugar, voy a haceros rápidamente
una pregunta, solo para asegurarme de que estamos todos sincronizados. Supongamos que tenemos
un mensaje m y el cifrado del mensaje utilizando una libreta de un solo uso. Por lo tanto, todo
lo que tenéis es el mensaje y el mensaje cifrado. Mi pregunta es, teniendo en cuenta este
par m y c, ¿se puede saber la libreta de un solo uso utilizada en
la obtención de c a partir de m?
Espero que todos os hayáis dado cuenta de que, dado el mensaje cifrado,
es muy fácil recuperar la clave. En particular, la clave es
simplemente m XOR c. A continuación, vamos a ver que si no es inmediatamente obvio que veremos
ver por qué que el caso, un poco más tarde en la charla, en la Conferencia. Esta bien bueno
por lo que el pad 1-tiempo es un lugar realmente fresco desde un punto de vista de rendimiento todo lo que estás haciendo
es exo anillo la clave en el mensaje por lo que es un súper, súper rápido. Cypher para
cifrar y descifrar muy largos mensajes. Lamentablemente es muy
difícil de utilizar en la práctica. La razón es difícil utilizar es que las claves son
esencialmente tanto tiempo como el mensaje. Así que si Alice y Bob desea comunicarse
segura, para que sepa Alice quiere enviar un final de mensaje a Bob, antes de que ella comience
incluso enviar el primer bit del mensaje, ella tiene que transmitir una clave a Bob que es como
durante mucho tiempo como ese mensaje. Bueno, si ella tiene una forma de transmitir una clave segura a Bob que
como el mensaje, ella también podría utilizar ese mismo mecanismo también transmitir
el mensaje en sí. Por lo tanto el hecho de que la clave es tan larga como el mensaje es bastante
problemática y hace muy difícil de utilizar en la práctica la libreta.
Aunque veremos que la idea de la libreta es realmente muy útil
y vamos a ver un poco más tarde. Pero por ahora quiero enfocarme un poco por
seguridad. Entonces las preguntas obvias son, usted sabe, ¿por qué es seguro la libreta?
¿Por qué es una buena cifra? Entonces para responder a esa pregunta, lo primero que tenemos que
respuesta es, ¿qué es un cifrado seguro para empezar con? ¿Qué es, qué hace cifrado
¿seguro? Vale, por lo que el estudio, la seguridad de cifrados, tenemos que hablar un poco
acerca de la teoría de la información. Y de hecho la primera persona, para estudiar la seguridad de los cifrados
rigurosamente. Es muy famoso, ustedes saben, el padre de la teoría de la información, Claude
Shannon y él publicaron un libro famoso en 1949, donde analiza la
seguridad de la libreta. Por eso la idea de la definición de Shannon de seguridad
el siguiente. Básicamente, si todos llegas a ver es el texto cypher, entonces debe
aprender absolutamente nada sobre el texto. En otras palabras, el texto de cypher
no debería revelar ninguna información sobre el texto. Y ver por qué tomó
alguien inventó la teoría de la información para llegar a esta idea porque tienes
formulize, formalmente explicar lo que hace realmente información sobre el texto
Media. Bueno, eso es lo que hizo Shannon y así lemme mostrar definición de Shannon,
Voy, voy a escribirlo primero lentamente. Así lo dijo Shannon es sabes suponga
tienen un cypher D E que se define sobre triple K M y c igual que antes. Así KM y
C definir el espacio de claves, el espacio de mensaje y el espacio de texto cypher. Y cuando decimos
que el texto de cypher lo siento decir que el cypher tiene secreto perfecto si la
sostiene la siguiente condición. Así sucede para cada dos mensajes m cero y M1 en
el espacio de mensaje. Para cada dos mensajes el único requisito me vas a poner en
estos mensajes es que tienen la misma longitud. Sí por lo que estamos sólo, vamos a ver por qué
Este requisito es necesario en tan sólo un minuto. Y para cada cyphertext, en el
cyphertext espacial. ¿Vale? Para cada par de mensajes de método y para cada cifrado
texto, tuvo mejor sería el caso de que, si pregunto, ¿cuál es la probabilidad de que,
N cifrado cero con K, woops. Cifrado n cero con k da C, ¿vale? Por lo tanto
¿la probabilidad es, si tenemos una clave aleatoria? La probabilidad es que cuando ciframos n
cero, obtenemos C. Esa probabilidad debe ser el mismo que cuando ciframos N1. Muy bien, por lo que
la probabilidad de cifrar una n y c es exactamente el mismo que el
probabilidad de cifrado cero n y c. Y justo como se ha dicho que el
clave, la distribución, es sobre la distribución de la clave. Por lo tanto, la clave es
uniforme en el espacio de claves. Por lo tanto k es uniforme en k. Y a menudo voy a escribir flecha k
con r un poco por encima de ella para denotar el hecho de que k es una variable aleatoria que
muestrea uniformemente en el espacio de claves k. Okay, esta es la parte principal del Shannon
definición. Y vamos a pensar un poco sobre esta definición de lo que realmente dice.
Así que ¿qué significa que estas dos probabilidades son las mismas? Pues bien, lo que
dice es que si soy un atacante y interceptar un particular cypher texto c, entonces
en realidad, es la probabilidad de que el texto de cypher es el cifrado de cero n
exactamente lo mismo que la probabilidad de que sea el incryption de n uno. Porque
las probabilidades son iguales. Así que si tengo, todo lo que tengo el texto cypher c que
todos he interceptado de no tengo ni idea si el texto de cypher provenía de cero m
o el texto cypher provenía de una m porque una vez más es la probabilidad de obtener c
Igualmente es probable que si se cifra cero m o m uno se cifra. Por lo tanto
aquí tenemos la definición declaró nuevamente. Y just Wanna escribo estas propiedades
otra vez más precisamente. Así que vamos a escribir esto otra vez. Así que qué definición [inaudible]
significa es que si estoy habida cuenta de un texto cifrado concreto, no puedo decir donde llegó
De. No puedo decir si es, si el mensaje cifrado. Es cero n o n
uno y de hecho, esta propiedad es true para todos los mensajes. Para todos estos cero N, para
todos n cero y n ones. Así que no sólo no puedo decir if'c' provenía de n cero o N,
No puedo decir de si venía n dos o n tres o n cuatro o cinco n porque todos
ellos son igualmente probables producir el cypher text'c'. Así que lo que esto significa realmente
es que si está cifrando mensajes con un tiempo de una almohadilla luego de hecho la mayoría
poderoso adversario, realmente no me importa cómo inteligente eres, el más poderoso
adversario. Puede aprender nada sobre el texto, aprende nada sobre la llanura
texto. En el texto de cypher. Para decirlo de una manera más, básicamente lo que esta
demuestra es que no, no hay ningún ataque cypher sólo texto en una cifra que
tiene secreto perfecto. Ahora, los ataques cypher realmente no los ataques sólo posibles.
Y de hecho, pueden otros ataques, otros ataques pueden ser posibles.
Muy bien. Ahora que comprendemos qué secreto perfecto, los medios, la pregunta es, podemos
¿construir cifrados que realmente tengan secreto perfecto? Y resulta que no
hay que mirar muy lejos, una vez hecho patrón tiene secreto perfecto. Así que me
quieren probar que se trata de primeros resultados de China y Wanna demostrar este hecho a
usted, es muy simple prueba así vamos a ir por delante y mira que y simplemente lo hacen. Por lo tanto nos
que tipo de interpretar lo que hace que significan, lo que es esta probabilidad que E K M
Z es igual a C. Por lo que es realmente no tan difícil ver que para cada mensaje y
cada cyphertext la probabilidad de que el cifrado de n bajo una clave k el
probabilidad de que, que es igual a C, la probabilidad de que nuestra elección al azar de clave
por definición. Todo es básicamente el número de claves. Kay, instruir a Kay.
Tal que bien. Si cifrar. Y con k me sale c. Por lo tanto cuento literalmente el número
de claves y divide por el número total de claves. ¿Verdad? Eso es lo que significa,
Si elijo una clave aleatoria, esa clave mapas m c. derecho. Así que básicamente es el número
de clave asigne n c dividido por el número total de claves. Esta es su
probabilidad. Supongamos ahora que tuvimos una cifra tal que para todos los mensajes y todos
Cypher textos, resulta que si miro este número, el número de k, k y k,
tal que e, k, m es igual a c. En otras palabras, estoy mirando el número de claves
Mapa m c. supongamos que este número pasa a ser una constante. Eso lo dicen
pasa a ser dos, tres, o diez o quince. Acaba de hap, pasa a ser un
Constanza absoluta. Si ese es el caso, entonces por definición, todos n0 y n1 y
c todos, esta probabilidad tiene que ser lo mismo porque el denominador es el mismo,
el numerador es el mismo, es justo como constante y por lo tanto, la probabilidad es
siempre la misma para todos n y c. Así que si esta propiedad es true, la cifra ha
han, la cifra tiene un secreto perfecto. Vale, por lo que permite ver lo que podemos decir acerca de
Esta cantidad de una tiempo almohadilla. Por lo que la sec-, por lo tanto, la pregunta es, si me
tiene un mensaje en un texto cifrado, claves de pastillas de una vez cuántos existen [inaudibles]
¿Mapa, termina este mensaje, así que la C [inaudible]? Por lo tanto, en otras palabras, cuántas claves son
¿allí, tal que M, X o k es igual a C? Así que espero que haya todo respondió uno. Y
vamos a ver qué es el caso. La almohadilla de tiempo, si tenemos que, el cifrado
K de m bajo k es igual a C. Pero básicamente, bien, por definición, que
implica que K, X o m es igual a C. Pero que también simplemente dice que k tiene igual
m, X, o, C. Sí, yo solo x a ambos lados por m y conseguir que deberá ser igual al k la
¿M, X o C. Okay? Así que lo que dice es que, por el una momento almohadilla, de hecho, la
número de claves, en K, muestra el EKM es igual a C. Simplemente eso y este
se cumple para todos los mensajes de texto cifrado. Y así, una vez más, por lo que hemos dicho antes, sólo
dice una vez tiene el pad, secreto perfecto. Secreto perfecto y
finaliza la prueba de este simple muy, muy [inaudible]. Muy, muy simple
[inaudible]. Ahora lo curioso es que aunque este [inaudible] tan simple
demostrar en realidad demuestra nuevamente una declaración bastante potente. Esto dice básicamente para
el una vez [inaudible] no hay cypher texto sólo atacar. Así, a diferencia de la
cifrado de sustitución, o el cifrado de Vigenère o las máquinas de rodillos, todos aquellos
podría ser roto por ataque sólo texto cifrado. Sólo hemos demostrado para la única
Pad, es simplemente imposible. Dado el cyphertext, simplemente aprende nada acerca de
el texto en claro. Sin embargo, como podemos ver, esto simplemente no es el final de la historia. ME
¿quiere decir que nos hemos hechos? Es decir, básicamente, estamos hecho con el curso ahora, cuz nos
tienen una forma. Para cifrar, por lo que el atacante no puede recuperar nada sobre nuestra
método. Así que quizá estamos hechos con el curso. Pero de hecho, como veremos, hay
son otros ataques. Y, de hecho, el una vez [inaudible] en realidad no es tal una
cifrado seguro. De hecho, hay otros ataques que son posibles y veremos
ver poco. ¿Vale? Nuevamente insisto en el hecho de que tiene secreto perfecto does
no significa que una vez pad es el cypher seguro para usar. Muy bien. Pero como hemos dicho
el problema con el un tiempo pad es que la clave secreta es realmente larga. Si tenías
una manera de. Comunicando la clave secreta al otro lado. Usted puede así
utilizar este mismo método exacto también comunicar el mensaje al otro lado,
en cuyo caso no necesitan comenzar con una cifra. ¿Vale? Por lo tanto el problema nuevamente
es el momento de una almohadilla tenía llaves realmente largos y por lo que la pregunta obvia es existen
¿otras cifras que tiene secreto perfecto y posiblemente claves mucho, mucho más cortas?
Bueno, por lo que la mala noticia es el Shannon, después de probar que la libreta tiene
secreto perfecto, resultado otro teorema que dice que en realidad si tiene un cypher
secreto perfecto, el número de claves en la cifra debe ser al menos el número de
mensajes que puede manejar el cypher. Está bien, así que en particular, lo que esto significa es si me
tienen secreto perfecto. Entonces necesariamente el número de claves, o más bien la longitud de mi
clave, debe ser mayor que la longitud del mensaje. Así que, de hecho, desde el
almohadilla de tiempo nos satisface con la igualdad, una vez pad es un óptimo, cifrado
tiene secreto perfecto, ¿vale? Así que, básicamente, lo que esto muestra es que ésta es una
idea interesante. Una vez pad es un interesante cifrado. Pero, de hecho, en
la realidad, es realmente muy difícil de utilizar. Es difícil de utilizar en la práctica, una vez más,
debido a estas claves largas. Así que esta noción de secreto perfecto, incluso aunque
es bastante interesante, básicamente dice que realmente no decirnos la
cifras concretas va a ser seguro. Y nos va a ver, pero, como hemos dicho, la
idea [inaudible] es bastante buena. Y vamos a ver, en la próxima Conferencia,
Cómo hacer en una práctica [inaudible].