[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:03.58,Default,,0000,0000,0000,,La semana pasada, aprendimos la teoría numérica \Nnecesaria para la criptografía de clave pública. Dialogue: 0,0:00:03.58,0:00:07.17,Default,,0000,0000,0000,,Esta semana vamos a poner a trabajar ese \Nconocimiento y vamos a construir varios Dialogue: 0,0:00:07.17,0:00:10.89,Default,,0000,0000,0000,,esquemas de criptografía de clave pública seguros. \NPero primero es necesario definir qué es Dialogue: 0,0:00:10.89,0:00:14.56,Default,,0000,0000,0000,,la criptografía de clave pública y qué significa \Nque la criptografía de clave pública sea Dialogue: 0,0:00:14.56,0:00:18.24,Default,,0000,0000,0000,,segura. Así, permitidme recordaros que en un \Nesquema de criptografía de clave pública hay un Dialogue: 0,0:00:18.24,0:00:21.78,Default,,0000,0000,0000,,algoritmo de encriptación, normalmente denotado \Ncomo E, y un algoritmo de Dialogue: 0,0:00:21.78,0:00:25.36,Default,,0000,0000,0000,,desencriptado que denotamos como D. En cualquier \Ncaso, aquí el algoritmo de encriptación usa una Dialogue: 0,0:00:25.36,0:00:29.48,Default,,0000,0000,0000,,clave pública, mientras que el de desencriptado \Nusa una clave privada. Este par se denomina Dialogue: 0,0:00:29.48,0:00:34.36,Default,,0000,0000,0000,,par de claves. Y la clave pública se utiliza para \Nencriptar mensajes mientras que la clave privada Dialogue: 0,0:00:34.36,0:00:39.00,Default,,0000,0000,0000,,se utiliza para desencriptarlos. Por tanto, en este \Ncaso, un mensaje "m" se encripta usando Dialogue: 0,0:00:39.00,0:00:43.88,Default,,0000,0000,0000,,la clave pública y lo que se obtiene de ello es el \Ntexto cifrado, "c". Y, de forma similar, Dialogue: 0,0:00:43.88,0:00:48.64,Default,,0000,0000,0000,,el texto cifrado se usa para alimentar el algoritmo de \Ndesencriptado usando la clave privada y lo que Dialogue: 0,0:00:48.64,0:00:53.58,Default,,0000,0000,0000,,se obtiene del algoritmo de desencriptado es \Nel mensaje original, "m". La encripción de clave Dialogue: 0,0:00:53.58,0:00:57.99,Default,,0000,0000,0000,,pública tiene muchas aplicaciones. La semana \Npasada vimos la aplicación clásica, el Dialogue: 0,0:00:57.99,0:01:02.46,Default,,0000,0000,0000,,establecimiento de sesión, esto es, intercambio de \Nclaves. Y por ahora vamos a limitarnos al intercambio de Dialogue: 0,0:01:02.46,0:01:06.87,Default,,0000,0000,0000,,claves que sea seguro sólo contra escucha. Y, si \Nrecordáis cómo funciona el protocolo, Dialogue: 0,0:01:06.87,0:01:11.23,Default,,0000,0000,0000,,básicamente Alice, lo que ella hará es generar \Nun par de claves pública y privada. Dialogue: 0,0:01:11.23,0:01:15.55,Default,,0000,0000,0000,,Enviará la clave pública a Bob. Bob \Ngenerará un valor aleatorio "x", que Dialogue: 0,0:01:15.55,0:01:20.14,Default,,0000,0000,0000,,servirá como su secreto compartido y, \Nentonces, envía "x" encriptada a Alice, Dialogue: 0,0:01:20.14,0:01:24.90,Default,,0000,0000,0000,,encriptada con su clave pública [de Alice]. Alice puede \Ndesencriptar, recuperar "x" y ahora ambos Dialogue: 0,0:01:24.90,0:01:29.55,Default,,0000,0000,0000,,disponen de este secreto compartido, "x", que \Npueden utilizar para comunicarse de forma segura Dialogue: 0,0:01:29.55,0:01:34.14,Default,,0000,0000,0000,,entre ellos. El atacante, por supuesto, todo lo que \Npuede ver es la clave pública, la Dialogue: 0,0:01:34.14,0:01:38.97,Default,,0000,0000,0000,,encriptación de "x" con la clave pública, de la cual \Nno debería poder obtener ninguna Dialogue: 0,0:01:38.97,0:01:43.80,Default,,0000,0000,0000,,información sobre "x". Vamos a definir esto \Nde forma más precisa para entender Dialogue: 0,0:01:43.80,0:01:48.51,Default,,0000,0000,0000,,qué significa no ser capaz de averiguar nada \Nsobre "x". La criptografía pública, Dialogue: 0,0:01:48.51,0:01:52.52,Default,,0000,0000,0000,,de hecho, tiene muchas otras aplicaciones. \NPor ejemplo, es muy útil en Dialogue: 0,0:01:52.52,0:01:57.24,Default,,0000,0000,0000,,aplicaciones no interactivas. Así, pensad en un \Nsistema de correo electrónico, por ejemplo. Aquí, Bob Dialogue: 0,0:01:57.24,0:02:01.72,Default,,0000,0000,0000,,quiere enviar correo a Alice y, cuando Bob \Nenvía el correo, el correo pasa de Dialogue: 0,0:02:01.72,0:02:06.60,Default,,0000,0000,0000,,agente de transporte a agente de transporte hasta que \Nllega a Alice, momento en el que Alice deberá Dialogue: 0,0:02:06.60,0:02:10.50,Default,,0000,0000,0000,,desencrciptar. La forma en que el sistema de correo \Nestá implementado está diseñada según una Dialogue: 0,0:02:10.50,0:02:15.04,Default,,0000,0000,0000,,configuración no interactiva en la que Bob envía \Nel correo y entonces Alice se supone que lo Dialogue: 0,0:02:15.04,0:02:19.20,Default,,0000,0000,0000,,recibirá. Y Alice no debería tener que comunicarse \Ncon Bob a fin de desencriptar Dialogue: 0,0:02:19.20,0:02:23.50,Default,,0000,0000,0000,,el correo. Por tanto, en este caso, a causa de la \Nfalta de interactividad, no existe la oportunidad Dialogue: 0,0:02:23.50,0:02:27.70,Default,,0000,0000,0000,,de establecer un secreto compartido entre Alice y \NBob. Por tanto, en este caso, lo que Dialogue: 0,0:02:27.70,0:02:32.17,Default,,0000,0000,0000,,ocurrirá es que Bob, básicamente, enviará \Nel correo encriptado utilizando la clave pública de Dialogue: 0,0:02:32.17,0:02:36.57,Default,,0000,0000,0000,,Alice. Del mismo modo que él envía el correo, cualquiera \Nen el mundo puede enviar el correo encriptado a Dialogue: 0,0:02:36.57,0:02:41.10,Default,,0000,0000,0000,,Alice, encriptado usando su clave pública [de Alice]. \NCuando Alice recibe este correo, ella utiliza Dialogue: 0,0:02:41.10,0:02:45.75,Default,,0000,0000,0000,,su clave privada para desencriptar el texto cifrado y \Nrecuperar el mensaje en texto llano. Dialogue: 0,0:02:45.75,0:02:50.51,Default,,0000,0000,0000,,Por supuesto, el inconveniente en un sistema como \Néste es que, de hecho, Bob necesita, de algún modo, Dialogue: 0,0:02:50.51,0:02:54.80,Default,,0000,0000,0000,,obtener la clave pública de Alice. Así, por ahora, vamos \Na asumir, simplemente, que Bob ya dispone Dialogue: 0,0:02:54.80,0:02:58.30,Default,,0000,0000,0000,,de la clave pública de Alice, pero más adelante, \Ncuando hablemos sobre firmas digitales, Dialogue: 0,0:02:58.30,0:03:02.46,Default,,0000,0000,0000,,veremos cómo se puede hacer esto de \Nforma muy eficiente utilizando lo que se Dialogue: 0,0:03:02.46,0:03:06.82,Default,,0000,0000,0000,,llama gestión de clave pública y, como ya he \Ndicho, volveremos a ello más adelante. Dialogue: 0,0:03:06.82,0:03:10.93,Default,,0000,0000,0000,,Lo más importante que quiero que recordéis es \Nque la criptografía de clave pública se Dialogue: 0,0:03:10.93,0:03:14.58,Default,,0000,0000,0000,,utiliza para establecer sesiones. Esto es muy \Ncomún en la web, donde la criptografía de Dialogue: 0,0:03:14.58,0:03:18.84,Default,,0000,0000,0000,,clave pública se utiliza para establecer una clave \Nsegura entre un navegador web y un servidor web. Dialogue: 0,0:03:18.84,0:03:22.90,Default,,0000,0000,0000,,Y la criptografía de clave pública también es muy \Nútil para aplicaciones no interactivas, Dialogue: 0,0:03:22.90,0:03:26.39,Default,,0000,0000,0000,,en las que cualquiera en el mundo, de forma \Nno interactiva, necesita enviar un mensaje Dialogue: 0,0:03:26.39,0:03:30.65,Default,,0000,0000,0000,,a Alice, pudiendo encriptar el mensaje usando la \Nclave pública de Alice y Alice puede desencriptar Dialogue: 0,0:03:30.65,0:03:36.10,Default,,0000,0000,0000,,y recuperar el texto llano. Por tanto, permitidme que \Nos recuerde con algo más de detalle qué Dialogue: 0,0:03:36.10,0:03:40.35,Default,,0000,0000,0000,,es un sistema de criptografía de clave pública. Bien, \Nconsiste en tres algoritmos, G, E y D. Dialogue: 0,0:03:40.35,0:03:44.43,Default,,0000,0000,0000,,G se denomina algoritmo de generación de \Nclaves. Básicamente lo que hace es Dialogue: 0,0:03:44.43,0:03:48.67,Default,,0000,0000,0000,,generar este par de claves, la clave pública y la \Nclave privada. Tal como se indica aquí, G no usa Dialogue: 0,0:03:48.67,0:03:53.02,Default,,0000,0000,0000,,argumentos, pero en la vida real, G realmente usa \Nun argumento denominado el parámetro Dialogue: 0,0:03:53.02,0:03:57.26,Default,,0000,0000,0000,,de seguridad, que especifica el tamaño de las \Nclaves que se generan con este algoritmo de Dialogue: 0,0:03:57.26,0:04:01.73,Default,,0000,0000,0000,,generación de claves. Luego está este algoritmo \Nde encriptación, como es habitual, que usa una Dialogue: 0,0:04:01.73,0:04:06.05,Default,,0000,0000,0000,,clave pública y un mensaje y genera un texto \Ncifrado, y un algoritmo de desencriptado que Dialogue: 0,0:04:06.05,0:04:10.53,Default,,0000,0000,0000,,usa la clave privada correspondiente y un \Ntexto cifrado y genera el correspondiente Dialogue: 0,0:04:10.53,0:04:14.96,Default,,0000,0000,0000,,mensaje. Como siempre, para [la condición de] \Nconsistencia, diremos que si encriptamos un mensaje Dialogue: 0,0:04:14.96,0:04:19.38,Default,,0000,0000,0000,,según una determinada clave pública y luego lo \Ndesencriptamos con la clave privada correspondiente, Dialogue: 0,0:04:19.38,0:04:23.85,Default,,0000,0000,0000,,deberemos obtener de nuevo el mensaje original. Ahora, \N¿qué significa para un sistema criptográfico de clave pública Dialogue: 0,0:04:23.85,0:04:27.91,Default,,0000,0000,0000,,que sea seguro? Voy a empezar definiendo \Nseguridad contra escucha Dialogue: 0,0:04:27.91,0:04:32.00,Default,,0000,0000,0000,,y luego definiremos la seguridad contra \Nataques activos. La forma de Dialogue: 0,0:04:32.00,0:04:36.24,Default,,0000,0000,0000,,definir seguridad contra escucha es muy \Nsimilar a la del caso simétrico que hemos Dialogue: 0,0:04:36.24,0:04:40.63,Default,,0000,0000,0000,,visto la semana pasada, así que vamos a pasar \Npor ello rápidamente, sólo como repaso. Dialogue: 0,0:04:40.63,0:04:44.81,Default,,0000,0000,0000,,Básicamente, el juego de ataque se define como \Nsigue. Definimos estos dos experimentos, Dialogue: 0,0:04:44.81,0:04:49.25,Default,,0000,0000,0000,,experimento cero y experimento uno. En \Ncada experimento el retador generará Dialogue: 0,0:04:49.25,0:04:52.96,Default,,0000,0000,0000,,un par de claves pública y privada. \NLe dará la clave pública Dialogue: 0,0:04:52.96,0:04:57.34,Default,,0000,0000,0000,,al adversario. El adversario emitirá \Ndos mensajes, m0 y m1 de la misma Dialogue: 0,0:04:57.34,0:05:01.66,Default,,0000,0000,0000,,longitud y lo que recibe es la \Nencripción de m0 o la Dialogue: 0,0:05:01.66,0:05:06.04,Default,,0000,0000,0000,,encripción de m1. En el experimento cero \Nobtiene la encripción de m0. En el experimento Dialogue: 0,0:05:06.04,0:05:10.75,Default,,0000,0000,0000,,uno obtiene la encripción de m1. Y entonces el \Nadversario se supone de debe indicar cuál Dialogue: 0,0:05:10.75,0:05:15.24,Default,,0000,0000,0000,,ha recibido, ¿Ha recibido la encripción de \Nm0 o ha recibido la encripción de m1? Así, Dialogue: 0,0:05:15.24,0:05:19.68,Default,,0000,0000,0000,,en este juego, el atacante sólo obtiene un \Ntexto cifrado. Esto corresponde a un ataque Dialogue: 0,0:05:19.68,0:05:24.23,Default,,0000,0000,0000,,de escucha en el que se limita a "escuchar" \Ndicho texto cifrado "c". Y ahora Dialogue: 0,0:05:24.23,0:05:28.72,Default,,0000,0000,0000,,su objetivo es determinar si el texto cifrado "c" \Nes la encripción de m0 o m1. No se Dialogue: 0,0:05:28.72,0:05:34.22,Default,,0000,0000,0000,,permite manipular el texto cifrado "c" por ahora. \NY, como es costumbre, diremos que el Dialogue: 0,0:05:34.22,0:05:38.21,Default,,0000,0000,0000,,esquema de criptografía de clave pública es \Nsemánticamente seguro si el atacante no puede Dialogue: 0,0:05:38.21,0:05:42.08,Default,,0000,0000,0000,,distinguir el experimento cero del experimento \Nuno. En otras palabras, no puede Dialogue: 0,0:05:42.08,0:05:47.76,Default,,0000,0000,0000,,diferenciar si recibió la encripción de m0 \No la encripción de m1. Antes de pasar Dialogue: 0,0:05:47.76,0:05:52.31,Default,,0000,0000,0000,,a los ataques activos, quiero mencionar una \Nrelación inmediata entre la definición que acabamos Dialogue: 0,0:05:52.31,0:05:56.10,Default,,0000,0000,0000,,de ver y la definición de seguridad de \Nescucha para cifrado simétrico. Dialogue: 0,0:05:56.10,0:06:00.44,Default,,0000,0000,0000,,Si lo recordáis, cuando hablamos sobre \Nseguridad de escucha para cifrado Dialogue: 0,0:06:00.44,0:06:04.77,Default,,0000,0000,0000,,simétrico, distinguíamos entre el caso en que la \Nclave se usaba una vez y el caso en que la Dialogue: 0,0:06:04.77,0:06:08.100,Default,,0000,0000,0000,,clave se usaba varias veces. Y, de hecho, \Nvimos que existe una clara Dialogue: 0,0:06:08.100,0:06:13.36,Default,,0000,0000,0000,,separación. Por ejemplo, el cuaderno de un solo \Nuso es seguro si la clave se usa para encriptar Dialogue: 0,0:06:13.36,0:06:17.38,Default,,0000,0000,0000,,un único mensaje, pero es completamente inseguro \Nsi la clave se usa para encriptar múltiples Dialogue: 0,0:06:17.38,0:06:21.36,Default,,0000,0000,0000,,mensajes. Y, de hecho, teníamos dos definiciones \Ndiferentes, si os acordáis, teníamos una Dialogue: 0,0:06:21.36,0:06:25.38,Default,,0000,0000,0000,,definición para seguridad de un solo uso y una \Ndefinición diferente, que era más Dialogue: 0,0:06:25.38,0:06:29.70,Default,,0000,0000,0000,,exigente, cuando la clave se usaba varias \Nveces. La definición que os he mostrado en Dialogue: 0,0:06:29.70,0:06:34.04,Default,,0000,0000,0000,,la transparencia anterior es muy similar a la \Ndefinición de seguridad de un solo uso para Dialogue: 0,0:06:34.04,0:06:38.50,Default,,0000,0000,0000,,cifras simétricas. Y, de hecho, resulta que para \Nla criptografía de clave pública, si un Dialogue: 0,0:06:38.50,0:06:43.12,Default,,0000,0000,0000,,sistema es seguro en el caso de un solo uso de la clave, \Nen cierto sentido, también es seguro para uso múltiple de Dialogue: 0,0:06:43.12,0:06:47.93,Default,,0000,0000,0000,,la clave. En otras palabras, no es necesario \Nproporcionar explícitamente al atacante la habilidad Dialogue: 0,0:06:47.93,0:06:53.17,Default,,0000,0000,0000,,para requerir encripciones de mensajes de su \Nelección, ya que puede crear encripciones Dialogue: 0,0:06:53.17,0:06:57.87,Default,,0000,0000,0000,,por si mismo. Dispone de la clave \Npública y, por tanto, puede Dialogue: 0,0:06:57.87,0:07:04.67,Default,,0000,0000,0000,,por si mismo encriptar cualquier mensaje que desee. \NComo resultado, cualquier par de claves pública y privada Dialogue: 0,0:07:04.67,0:07:09.29,Default,,0000,0000,0000,,de algún modo inherentemente se usan para \Nencriptar varios mensajes ya que el atacante Dialogue: 0,0:07:09.29,0:07:13.90,Default,,0000,0000,0000,,podría encriptar muchos, muchos mensajes \Nde su elección usando la clave Dialogue: 0,0:07:13.90,0:07:18.89,Default,,0000,0000,0000,,pública que le hemos proporcionado en el \Nprimer paso. Y así, como resultado, de hecho Dialogue: 0,0:07:18.89,0:07:23.69,Default,,0000,0000,0000,,la definición de seguridad para un solo uso es \Nsuficiente para implicar seguridad de varios usos y Dialogue: 0,0:07:23.69,0:07:28.80,Default,,0000,0000,0000,,es por ello que nos referimos al concepto como \Nindistinguibilidad bajo un ataque de Dialogue: 0,0:07:28.80,0:07:34.01,Default,,0000,0000,0000,,texto llano escogido. Así, este es sólo un punto menor \Npara explicar por qué en la configuración de criptografía Dialogue: 0,0:07:34.01,0:07:37.77,Default,,0000,0000,0000,,de clave pública no necesitamos una \Ndefinición más compleja para aprehender Dialogue: 0,0:07:37.77,0:07:42.52,Default,,0000,0000,0000,,la seguridad ante escucha. Ahora que \Nentendemos la seguridad ante escucha, Dialogue: 0,0:07:42.52,0:07:47.34,Default,,0000,0000,0000,,vamos a ver adversarios mas fuertes que pueden \Nmontar ataques activos. Entonces, en Dialogue: 0,0:07:47.34,0:07:51.58,Default,,0000,0000,0000,,particular, veamos el ejemplo del correo electronico. \NAsí, aquí tenemos a nuestro amigo Bob Dialogue: 0,0:07:51.58,0:07:56.23,Default,,0000,0000,0000,,que quiere enviar enviar un correo a su amiga \NCaroline. Y resulta que Caroline tiene una Dialogue: 0,0:07:56.23,0:08:00.70,Default,,0000,0000,0000,,cuenta en Gmail. Y esto funciona básicamente \Nasí, el correo electrónico se envía encriptado al Dialogue: 0,0:08:00.70,0:08:05.51,Default,,0000,0000,0000,,servidor de Gmail. El servidor de Gmail desencripta \Nel correo electrónico, mira quienes son los Dialogue: 0,0:08:05.51,0:08:09.30,Default,,0000,0000,0000,,destinatarios y luego, si es que el \Ndestinatario es Caroline, Dialogue: 0,0:08:09.30,0:08:13.65,Default,,0000,0000,0000,,reenvia el correo electrónico a Caroline. \NSi el destinatario es el atacante, se Dialogue: 0,0:08:13.65,0:08:18.57,Default,,0000,0000,0000,,lo reenvia al atacante. Esto es similar a \Ncómo trabaja realmente Gmail, Dialogue: 0,0:08:18.57,0:08:23.44,Default,,0000,0000,0000,,porque el remitente enviaría el correo encriptado \Nsobre SSL al servidor Gmail, Dialogue: 0,0:08:23.44,0:08:28.09,Default,,0000,0000,0000,,el servidor Gmail terminaría [la sesión] SSL y \Nreenviaría el mensaje a los destinatarios Dialogue: 0,0:08:28.09,0:08:33.08,Default,,0000,0000,0000,,apropiados. Ahora supongamos que Bob \Nencripta el correo usando un sistema que Dialogue: 0,0:08:33.08,0:08:37.76,Default,,0000,0000,0000,,permita al adversario manipular el \Ntexto cifrado sin ser detectado. Por Dialogue: 0,0:08:37.76,0:08:42.39,Default,,0000,0000,0000,,ejemplo, imaginad que el correo está \Nencriptado usando el modo contador o Dialogue: 0,0:08:42.39,0:08:47.07,Default,,0000,0000,0000,,similar. Entonces, cuando el atacante intercepta \Neste correo puede cambiar el destinatario Dialogue: 0,0:08:47.07,0:08:50.73,Default,,0000,0000,0000,,de forma que ahora el destinatario sea \Nattacker@gmail.com. Y sabemos que, para el Dialogue: 0,0:08:50.73,0:08:55.42,Default,,0000,0000,0000,,modo contador, por ejemplo. esto es muy \Nfácil de hacer. El atacante sabe que el Dialogue: 0,0:08:55.42,0:09:00.28,Default,,0000,0000,0000,,correo está dirigido a Caroline, él está sólo \Ninteresado en el cuerpo del correo. Por tanto, puede Dialogue: 0,0:09:00.28,0:09:04.23,Default,,0000,0000,0000,,fácilmente cambiar el destinatario del correo \Na attacker@gmail.com y ahora, cuando el servidor Dialogue: 0,0:09:04.23,0:09:08.13,Default,,0000,0000,0000,,recibe el correo, lo desencriptará, verá que \Nel destinatario se supone que es el Dialogue: 0,0:09:08.13,0:09:12.03,Default,,0000,0000,0000,,atacante y reenviará el cuerpo del mensaje al \Natacante. Ahora el atacante ha podido Dialogue: 0,0:09:12.03,0:09:16.02,Default,,0000,0000,0000,,leer el cuerpo del mensaje que \Nestaba destinado a Caroline. Así, Dialogue: 0,0:09:16.02,0:09:21.20,Default,,0000,0000,0000,,este es un ejemplo clásico de ataque activo, y \Npodéis ver lo que el atacante ha conseguido: Dialogue: 0,0:09:21.20,0:09:26.17,Default,,0000,0000,0000,,puede desencriptar cualquier texto cifrado \Nen el que el destinatario sea "to:attacker", Dialogue: 0,0:09:26.17,0:09:31.55,Default,,0000,0000,0000,,esto es, un texto cifrado en el que el texto llano\Nempiece por "to:attacker". Así, nuestro objetivo es \Nempiece Dialogue: 0,0:09:31.55,0:09:36.66,Default,,0000,0000,0000,,diseñar sistemas de clave pública que sean \Nseguros incluso si el atacante puede manipular Dialogue: 0,0:09:36.66,0:09:42.100,Default,,0000,0000,0000,,el texto cifrado y, posiblemente, desencriptar \Nalgunos textos cifrados. Y, de nuevo, quiero Dialogue: 0,0:09:42.100,0:09:47.61,Default,,0000,0000,0000,,enfatizar que aquí el objetivo del atacante es \Nobtener el cuerpo del mensaje. El atacante Dialogue: 0,0:09:47.61,0:09:52.06,Default,,0000,0000,0000,,ya sabía que el correo estaba destinado \Na Caroline. Y todo lo que él tenía que hacer Dialogue: 0,0:09:52.06,0:09:56.86,Default,,0000,0000,0000,,era cambiar el destinatario. Así, este \Nataque mediante manipulación motiva la Dialogue: 0,0:09:56.86,0:10:01.62,Default,,0000,0000,0000,,definición de seguridad de texto cifrado escogido. \Ny, de hecho, esta es la noción estándar de Dialogue: 0,0:10:01.62,0:10:07.46,Default,,0000,0000,0000,,seguridad para la criptografía de clave pública. Así, \Npermitidme explicaros cómo funciona el esquema del Dialogue: 0,0:10:07.46,0:10:11.90,Default,,0000,0000,0000,,ataque. Como ya dije, nuestro objetivo es construir \Nsistemas que sean seguros bajo esta noción tan Dialogue: 0,0:10:11.90,0:10:15.76,Default,,0000,0000,0000,,conservadora de encripción. Así, tenemos un \Nesquema de encripción G, E, D y digamos que Dialogue: 0,0:10:15.76,0:10:20.14,Default,,0000,0000,0000,,está definido sobre nuestro espacio de mensajes \Ny de textos cifrados M, C. Como es habitual, vamos Dialogue: 0,0:10:20.14,0:10:24.31,Default,,0000,0000,0000,,a definir dos experimentos, experimento cero y \Nexperimento uno. Así, aquí "b" indica si Dialogue: 0,0:10:24.31,0:10:28.22,Default,,0000,0000,0000,,el retador está implementando el \Nexperimento cero el el experimento Dialogue: 0,0:10:28.22,0:10:32.66,Default,,0000,0000,0000,,uno. El retador empieza generando una clave \Npública y una clave privada y entonces proporciona Dialogue: 0,0:10:32.66,0:10:37.25,Default,,0000,0000,0000,,la clave privada al adversario. Ahora el adversario \Npuede decir "Bien, aquí hay un puñado de Dialogue: 0,0:10:37.25,0:10:41.61,Default,,0000,0000,0000,,textos cifrados, por favor desencríptalos por mí." Así \Nque el adversario envía el texto cifrado Dialogue: 0,0:10:41.61,0:10:46.45,Default,,0000,0000,0000,,c1 y obtiene la desencripción del \Ntexto cifrado c1, esto es, m1. Y lo repite Dialogue: 0,0:10:46.45,0:10:51.41,Default,,0000,0000,0000,,una y otra vez, de forma que envía el \Ntexto cifrado c2 y obtiene la desencripción, Dialogue: 0,0:10:51.41,0:10:56.20,Default,,0000,0000,0000,,que es m2, el texto cifrado c3 y lo obtiene \Ndesencriptado, m3, y así en adelante. Dialogue: 0,0:10:56.20,0:11:00.19,Default,,0000,0000,0000,,Finalmente, el adversario dice: "Esta fase \Nde interrogación ha acabado" y ahora Dialogue: 0,0:11:00.19,0:11:04.48,Default,,0000,0000,0000,,remite básicamente dos mensajes de la misma \Nlongitud, m0 y m1, como es habitual, y Dialogue: 0,0:11:04.48,0:11:08.82,Default,,0000,0000,0000,,recibe en respuesta el texto cifrado de \Ndesafío, "c", que es la encriptación de m0 o Dialogue: 0,0:11:08.82,0:11:13.05,Default,,0000,0000,0000,,la encriptación de m1, dependiendo de si \Nestamos en el experimento cero o el Dialogue: 0,0:11:13.05,0:11:17.00,Default,,0000,0000,0000,,experimento uno. Ahora el adversario puede\Ncontinuar enviando solicitudes de texto Dialogue: 0,0:11:17.00,0:11:21.06,Default,,0000,0000,0000,,cifrado. Así, puede continuar remitiendo \Nsolicitudes de desencriptado. Así, el remite Dialogue: 0,0:11:21.06,0:11:25.45,Default,,0000,0000,0000,,un texto cifrado y recibe el texto desencriptado,\Npero, por supuesto, ahora tiene que haver una Dialogue: 0,0:11:25.45,0:11:29.99,Default,,0000,0000,0000,,limitación. Si el atacante pudiese solicitar textos \Ncifrados arbitrarios de su elección, Dialogue: 0,0:11:29.99,0:11:34.27,Default,,0000,0000,0000,,por supuesto que podría romper el desafío. Lo \Núnico que tendría que hacer es remitir al Dialogue: 0,0:11:34.27,0:11:38.51,Default,,0000,0000,0000,,retador el texto cifrado "c" como una solicitud de \Ndesencriptado y entonces se le diría si en la Dialogue: 0,0:11:38.51,0:11:42.66,Default,,0000,0000,0000,,fase de desafío se le ha dado la encriptación \Nde m0 o la encriptación de m1. Dialogue: 0,0:11:42.66,0:11:46.82,Default,,0000,0000,0000,,Como resultado, ponemos la siguiente limitación, \Nque dice que él puede de hecho enviar cualquier Dialogue: 0,0:11:46.82,0:11:51.03,Default,,0000,0000,0000,,texto cifrado de su elección, excepto el texto \Ncifrado del desafío. Así, el atacante Dialogue: 0,0:11:51.03,0:11:55.03,Default,,0000,0000,0000,,podrá solicitar el desencriptado de cualquier \Ntexto cifrado de su elección que no sea el Dialogue: 0,0:11:55.03,0:11:59.30,Default,,0000,0000,0000,,texto cifrado del desafío. Y, a pesar de que se le hayan \Ndado todos esos textos desencriptados, a pesar de todo Dialogue: 0,0:11:59.30,0:12:03.20,Default,,0000,0000,0000,,no debería ser capaz de decir si ha \Nrecibido la encriptación de m0 o la Dialogue: 0,0:12:03.20,0:12:09.21,Default,,0000,0000,0000,,encriptación de m1. Por tanto, daros cuenta de que \Nse trata de una definición muy conservadora. Proporciona Dialogue: 0,0:12:09.21,0:12:14.11,Default,,0000,0000,0000,,al atacante más poder del que vimos en la \Ntransparencia anterior. En la transparencia anterior, Dialogue: 0,0:12:14.11,0:12:18.71,Default,,0000,0000,0000,,el atacante sólo podía desencriptar mensajes \Nsi el texto llano empezada con "to:attacker". Dialogue: 0,0:12:18.71,0:12:23.61,Default,,0000,0000,0000,,Aquí, lo que vemos es que el atacante puede \Ndesencriptar cualquier texto cifrado de su elección, Dialogue: 0,0:12:23.61,0:12:29.72,Default,,0000,0000,0000,,siempre se que sea distinto del texto cifrado del \Ndesafío, "c". ¿De acuerdo? Y entonces su Dialogue: 0,0:12:29.72,0:12:34.09,Default,,0000,0000,0000,,objetivo es decir si el texto cifrado del \Ndesafío es la encriptación de m0 o la Dialogue: 0,0:12:34.09,0:12:37.92,Default,,0000,0000,0000,,encriptación de m1. Y, como es habitual, si no \Npuede hacerlo, en otras palabras, su respuesta Dialogue: 0,0:12:37.92,0:12:42.35,Default,,0000,0000,0000,,ante el experimento cero es básicamente la \Nmisma respuesta que en el experimento Dialogue: 0,0:12:42.35,0:12:46.84,Default,,0000,0000,0000,,uno, sin ser capaz de diferenciar la\Nencriptación de m0 de la encriptación de Dialogue: 0,0:12:46.84,0:12:51.22,Default,,0000,0000,0000,,m1 a pesar del poder del que disponía, \Nentonces decimos que el sistema es semánticamente Dialogue: 0,0:12:51.22,0:12:55.88,Default,,0000,0000,0000,,seguro frente a ataque de texto cifrado escogido, \Nseguro CCA. En ocasiones se utiliza este acrónimo, Dialogue: 0,0:12:55.88,0:13:00.60,Default,,0000,0000,0000,,el acrónimo de INDistinguible frente a un Ataque \Nde texto Cifrado esCogido [IND-CCA], pero me voy Dialogue: 0,0:13:00.60,0:13:05.74,Default,,0000,0000,0000,,a limitar a llamarlo "seguro CCA". Así, vamos a ver \Ncomo esto refleja el ejemplo con el correo electrónico Dialogue: 0,0:13:05.74,0:13:10.59,Default,,0000,0000,0000,,que vimos antes. Supongamos que el sistema de \Nencriptación usado es tal que simplemente dada Dialogue: 0,0:13:10.59,0:13:15.43,Default,,0000,0000,0000,,un mensaje encriptado el atacante puede \Ncambiar el destinatario, digamos, de Alice Dialogue: 0,0:13:15.43,0:13:20.13,Default,,0000,0000,0000,,a Charlie. Entonces, así es como él \Nganaría el juego CCA. Bien, en el Dialogue: 0,0:13:20.13,0:13:25.03,Default,,0000,0000,0000,,primer paso recibe, por supuesto, la clave \Npública. Y entonces el atacante lo que hará Dialogue: 0,0:13:25.03,0:13:29.58,Default,,0000,0000,0000,,es proporcionar dos mensajes de igual longitud,\Nesto es, en el primer mensaje el cuerpo contendrá Dialogue: 0,0:13:29.58,0:13:33.94,Default,,0000,0000,0000,,un cero. En el segundo mensaje el cuerpo contendrá \Nun uno. Pero ambos mensajes están dirigidos a Dialogue: 0,0:13:33.94,0:13:39.89,Default,,0000,0000,0000,,Alice. Y, en respuesta, él recibirá el \Ntexto cifrado del desafío, "c". Dialogue: 0,0:13:39.89,0:13:45.13,Default,,0000,0000,0000,,Bien, así que ahora tenemos nuestro texto \Ncifrado del desafío, "c". Ahora, lo que hará el Dialogue: 0,0:13:45.13,0:13:49.96,Default,,0000,0000,0000,,atacante es utilizar su habilidad para \Nmodificar el destinatario. Dialogue: 0,0:13:49.96,0:13:55.27,Default,,0000,0000,0000,,Y devolverá un texto cifrado c' [c prima] \Nen el que c' es la encriptación del Dialogue: 0,0:13:55.27,0:14:01.76,Default,,0000,0000,0000,,mensaje para Charlie con el cuerpo del \Ndesafío, "b". Esto es, si os acordáis, o Dialogue: 0,0:14:01.76,0:14:07.82,Default,,0000,0000,0000,,cero o uno. Ahora, como que el \Ntexto llano es diferente, sabemos que Dialogue: 0,0:14:07.82,0:14:12.49,Default,,0000,0000,0000,,el texto cifrado debe también ser diferente. \NEn particular, c' debe ser diferente del Dialogue: 0,0:14:12.49,0:14:17.21,Default,,0000,0000,0000,,texto del desafío "c", ¿no es así? Esto es, \Nc' debe ser diferente de "c". Y como Dialogue: 0,0:14:17.21,0:14:21.76,Default,,0000,0000,0000,,consecuencia, el pobre retador ahora tiene \Nque desencriptar, por definición del juego CCA. Dialogue: 0,0:14:21.76,0:14:26.14,Default,,0000,0000,0000,,El retador tiene que desencriptar cualquier texto \Ncrifrado que no sea igual a un texto cifrado enviado Dialogue: 0,0:14:26.14,0:14:30.65,Default,,0000,0000,0000,,por el retador. Así, el retador desencripta, le \Nda al adversario m'. Básicamente proporciona Dialogue: 0,0:14:30.65,0:14:35.26,Default,,0000,0000,0000,,al adversario "b". Y ahora el adversario \Npuede mostrar "b" como resultado del desafío Dialogue: 0,0:14:35.26,0:14:40.29,Default,,0000,0000,0000,,y gana el juego con ventaja 1. Así, su \Nventaja con este esquema particular Dialogue: 0,0:14:40.29,0:14:45.14,Default,,0000,0000,0000,,era uno. Simplemente porque el atacante \Nera capaz de cambiar el texto cifrado del Dialogue: 0,0:14:45.15,0:14:49.100,Default,,0000,0000,0000,,retador de un destinatario a otro, lo \Nque le permite ganar el juego CCA con Dialogue: 0,0:14:49.100,0:14:55.00,Default,,0000,0000,0000,,ventaja uno. Así, como ya dije, [el modelo] de \Nseguridad de texto cifrado escogido es en Dialogue: 0,0:14:55.00,0:14:59.33,Default,,0000,0000,0000,,realidad la noción de seguridad correcta para los \Nsistemas de criptografía de clave pública. Y este es Dialogue: 0,0:14:59.33,0:15:03.65,Default,,0000,0000,0000,,un concepto muy interesante. De algún modo, \Naunque el atacante tenga la habilidad para Dialogue: 0,0:15:03.65,0:15:07.84,Default,,0000,0000,0000,,desencriptar todo lo que quiera, excepto el \Ntexto cifrado del desafío, no es capaz de Dialogue: 0,0:15:07.84,0:15:12.03,Default,,0000,0000,0000,,conocer el texto cifrado del retador. Así, lo que haremos \Nlo que haremos durante lo que queda de este módulo y, Dialogue: 0,0:15:12.03,0:15:16.28,Default,,0000,0000,0000,,de hecho, también el próximo, es construir \Nsistemas seguros CCA. Se tiene que Dialogue: 0,0:15:16.28,0:15:20.09,Default,,0000,0000,0000,,destacar que es posible y voy a \Nmostraros exactamente cómo Dialogue: 0,0:15:20.09,0:15:24.31,Default,,0000,0000,0000,,hacerlo. Y, de hecho, los sistemas \Nseguros CCA que construiremos Dialogue: 0,0:15:24.31,0:15:28.58,Default,,0000,0000,0000,,son los que se utilizan en el mundo real. \NY cada vez que se ha intentado implementar un Dialogue: 0,0:15:28.74,0:15:33.01,Default,,0000,0000,0000,,sistema de criptografía de clave pública que no ha \Nsido seguro CCA, alguien ha encontrado un Dialogue: 0,0:15:33.01,0:15:37.49,Default,,0000,0000,0000,,ataque y ha sido capaz de romperlo. Y vamos \Na ver algunos ejemplos de esos ataques Dialogue: 0,0:15:37.49,0:15:39.28,Default,,0000,0000,0000,,en unos pocos segmentos.