WEBVTT 00:00:00.000 --> 00:00:02.951 Antes de comenzar con el material técnico , quiero darles un rápido 00:00:02.951 --> 00:00:06.487 resumen de que es la Criptografía y las diferentes áreas de la misma. De esta forma 00:00:06.487 --> 00:00:10.487 el centro de la criptografía es por supuesto la comunicación segura que esencialmente 00:00:10.487 --> 00:00:14.539 consiste de dos partes. La primera es el establecimiento de una clave segura y luego cómo 00:00:14.539 --> 00:00:18.697 nos comunicamos de forma segura una vez que tenemos una clave compartida. Ya dijimos que 00:00:18.697 --> 00:00:22.854 el establecimiento de una clave segura importa mucho a Alice y Bob para que se envien mensajes el uno al otro 00:00:22.854 --> 00:00:26.906 de tal forma que en el extremo de este protocolo, hay una clave compartida 00:00:26.906 --> 00:00:30.906 que ambos han aceptado, la clave compartida K, y mas alla de eso, es solo eso una clave compartida, de hecho 00:00:30.906 --> 00:00:35.274 Alice podria saber que ella esta hablando con Bob y Bob podria saber que el esta hablando 00:00:35.274 --> 00:00:39.964 con Alice. Pero un atacante primerizo que escuche esta conversación no tiene idea de cual 00:00:39.964 --> 00:00:44.011 es la clave compartida. Y veremos mas adelante en este curso como hacerlo. Ahora una vez que ellos 00:00:44.011 --> 00:00:47.657 tienen una clave compartida, ellos van a querer intercambiar mensajes de forma segura usando esta clave, y 00:00:47.657 --> 00:00:51.698 hablaremos de esquemas de encriptacion que nos permitiran hacerlo de tal forma que 00:00:51.698 --> 00:00:55.491 un atacante no se podria imaginar que mensajes se estan enviando de un lado para otro. Y 00:00:55.491 --> 00:00:59.630 es más un asaltante incluso no puede manipular indebidamente este tráfico sin ser detectado. 00:00:59.630 --> 00:01:03.227 En otras palabras, estos esquemas de código proveen tanto confidencialidad e 00:01:03.227 --> 00:01:06.774 integridad. Pero la criptografía hace mucho más, mucho mas que sólo esas dos 00:01:06.774 --> 00:01:10.519 cosas. Y quiero darles unos cuantos ejemplos de eso. Así el primer ejemplo que 00:01:10.519 --> 00:01:14.468 quiero darles es lo que se llama una firma digital. Así una firma digital , 00:01:14.468 --> 00:01:18.892 básicamente, es el análogo de una firma en el mundo físico. En el mundo 00:01:18.892 --> 00:01:23.372 físico, recuerden cuando firman un documento, esencialmente, ustedes escriben su firma en 00:01:23.372 --> 00:01:27.740 ese documento y su firma es siempre la misma. Ustedes siempre escriben la misma 00:01:27.740 --> 00:01:32.164 firma en todos los documentos que ustedes quieran firmar. En el mundo digital, esto no puede 00:01:32.164 --> 00:01:36.812 trabajar probablemente porque si el atacante obtiene un documento firmado por mí, él 00:01:36.812 --> 00:01:41.180 puede cortar y pegar mi firma sobre otro documento que yo no podría haber 00:01:41.180 --> 00:01:45.247 querido firmar.Y bien , no es simplemente posible en un mundo digital que mi 00:01:45.247 --> 00:01:49.590 firma sea la misma para todos los documentos que quiera firmar. Nosotros hablaremos 00:01:49.590 --> 00:01:53.830 de cómo construir firmas digitales en la segunda parte de este curso. Es 00:01:53.830 --> 00:01:58.123 realmente una primitiva muy interesante y veremos exactamente cómo hacerlo. Sólamante para 00:01:58.123 --> 00:02:02.098 darles un indicio, la forma en que la firma digital trabaja es básicamente haciendo la 00:02:02.098 --> 00:02:06.232 firma digital via una función del contenido que será firmado. Así un atacante que 00:02:06.232 --> 00:02:10.313 intente copiar mi firma desde un documento a otro no tendrá exito 00:02:10.313 --> 00:02:14.541 debido a la firma. En el nuevo documento no va a estar la función correcta en base a los 00:02:14.541 --> 00:02:18.526 datos en el nuevo documento, y como resultado, la firma no podrá verificarse. Y como dije 00:02:18.526 --> 00:02:22.608 veremos exactamente como construir firmas digitales mas adelante y sobre eso 00:02:22.608 --> 00:02:27.193 probaremos que esas construcciones son seguras. Otra aplicación de la criptografía que 00:02:27.193 --> 00:02:31.096 quiero mencionar, es la comunicación anónima. Así imagina a la usuaria 00:02:31.096 --> 00:02:35.828 Alice que quiere hablar de algo a traves de una servidor de chat con Bob. Y, si quizás quiere hablar acerca de 00:02:35.828 --> 00:02:40.382 una condición médica, y por eso quiere hacerlo anónimamente, de modo que el 00:02:40.382 --> 00:02:45.113 servidor de chat no sabe quien es ella en ese momento. Bien, hay un método estándard, llamado NOTE Paragraph 00:02:45.113 --> 00:02:49.946 Mixnet, que permite a Alice comunicarse sobre el internet público con Bob. A traves de 00:02:49.946 --> 00:02:54.856 una secuencia de proxies de tal forma que al otro lado de la comunicación Bob no tiene idea de quien 00:02:54.856 --> 00:02:59.537 quiere hablarle. La forma de hacer este trabajo es que a medida que Alice envía sus mensajes 00:02:59.537 --> 00:03:03.818 a Bob a través de una secuencia de proxies, esos mensajes son encriptados. Y ellos 00:03:03.818 --> 00:03:08.271 son desencriptados apropiadamente de tal manera que Bob no tiene idea de con quíen esta hablando y 00:03:08.271 --> 00:03:12.724 los mismos proxies no saben que Alice esta hablando con Bob, o realmente 00:03:12.724 --> 00:03:16.750 quien esta hablando a quien de forma general. Una cosa interesante acerca de este 00:03:16.750 --> 00:03:20.498 canal de comunicación anónima es, que este es bi-direccional. En otras palabras, 00:03:20.498 --> 00:03:24.743 aún cuando Bob no tenga idea de con quien esta hablando, él aún así puede responder a Alice y 00:03:24.743 --> 00:03:29.153 Alice recibirá esos mensajes. Una vez que tenemos comunicación anónima, podemos construir 00:03:29.153 --> 00:03:33.784 otros mecanismos de privacidad. Y quiero darles un ejemplo de lo que es llamado 00:03:33.784 --> 00:03:37.643 dinero digital. Recuerden que en el mundo físico si yo tengo un 00:03:37.643 --> 00:03:42.108 dólar físico, puedo ir a la librería y comprar un libro y el comerciante puede no tener 00:03:42.108 --> 00:03:46.876 idea de quien soy. la pregunta es si podemos hacer lo mismo en el mundo digital 00:03:46.876 --> 00:03:50.963 en el mundo digital, basicamente, Alicia podria tener un dolar digital, 00:03:50.963 --> 00:03:55.984 una moneda de un dolar digital. Y ella podria querer gastar ese dolar en algo en un comercio 00:03:55.984 --> 00:04:00.760 en linea, quizas alguna librería en linea. Ahora, lo que nos gustaría hacer es que así sea 00:04:00.760 --> 00:04:05.539 cuando Alice gaste su moneda en la libreria, la libreria no tiene 00:04:05.539 --> 00:04:10.629 idea de quien es Alice. Nosotros brindamos el mismo anonimato que cuando usamos dinero fisico 00:04:10.629 --> 00:04:15.470 Ahora el problema es que en el mundo digital, Alice puede tomar la moneda que 00:04:15.470 --> 00:04:20.250 tuvo, esta moneda de un dolar, y antes de gastarlo, puede hacer copias de esta. 00:04:20.250 --> 00:04:24.086 y de repente en vez de tener solo una moneda ahora 00:04:24.093 --> 00:04:27.936 de repente tendra tres monedas de un dolar y todas ellas seran iguales por supuesto, y 00:04:27.936 --> 00:04:31.828 no hay nada que le impida tomar las replicas de las monedas y 00:04:31.828 --> 00:04:35.819 gastar con ellas otras mercaderias. La pregunta es como dar 00:04:35.819 --> 00:04:39.849 dinero digital anónimo? Pero al mismo tiempo, también prevenir el doble gasto de monedas 00:04:39.849 --> 00:04:43.760 de un dolar en diferentes comercios. En algún sentido existe una paradoja aquí donde 00:04:43.760 --> 00:04:47.879 el anonimato esta en conflicto con la seguridad porque si tenemos dinero anónimo no hay 00:04:47.879 --> 00:04:51.999 nada para impedir que Alice gaste el doble de monedas porque la moneda es 00:04:51.999 --> 00:04:56.244 anónima, no hay manera de saber si se cometio este fraude. Así que la pregunta 00:04:56.244 --> 00:05:00.394 es como resolver este conflicto. Y resulta que es totalmente factible. Y 00:05:00.394 --> 00:05:04.757 hablaremos de dinero digital anónimo más adelante. Sólo para darle una pista, voy a 00:05:04.757 --> 00:05:09.173 decir que la forma en que lo haremos, básicamente es asegurándose de que si Alicia gasta la moneda 00:05:09.173 --> 00:05:13.764 una vez, entonces nadie sabe quién es, pero si se pasa la moneda más de una vez. 00:05:13.764 --> 00:05:17.878 de repente, su identidad está totalmente expuesta y entonces podría ser objeto de 00:05:17.878 --> 00:05:22.096 todo tipo de problemas legales. Y así es como el dinero digital anónimo se 00:05:22.096 --> 00:05:26.158 trabaja en un alto nivel y vamos a ver cómo ponerlo en práctica más tarde en el curso. 00:05:26.158 --> 00:05:30.219 otras aplicaciones de criptografía usan protocolos más abstractos, pero. 00:05:30.219 --> 00:05:34.333 antes de hablar de resultados generales, deseo dar dos ejemplos. Así el 00:05:34.333 --> 00:05:38.343 primer ejemplo tiene que ver con los sistemas electorales. Aquí esta el problema de las elecciones 00:05:38.343 --> 00:05:42.656 Supongamos ... tenemos dos partidos, el partido cero y el partido uno. Y los electores votan por estos 00:05:42.656 --> 00:05:47.101 partidos. Por ejemplo, este elector pudo votar por el partido cero y otro elector por el 00:05:47.101 --> 00:05:52.313 partido uno. Y asi sucesivamente. En esta elección, el partido cero obtuvo tres votos y el partido dos 00:05:52.313 --> 00:05:56.590 obtuvo 2 votos. Entonces el ganador de esta elección, por supuesto es el partido cero. Pero 00:05:56.590 --> 00:06:01.579 pero generalmente, el ganador de la elección es el partido que recibe la mayoria de 00:06:01.579 --> 00:06:06.453 votos. Ahora, el problema de las elecciones es el siguiente. Los electores les gustaría de alguna manera 00:06:06.453 --> 00:06:11.720 computar la mayoria de los votos, pero hacerlo de una manera tal que nada 00:06:11.720 --> 00:06:16.797 es revelado acerca de los votos individuales. Ok? Así que la pregunta es como hacer eso? 00:06:16.797 --> 00:06:21.493 Y para ello, vamos a introducir un centro de eleccion que nos va a ayudar a 00:06:21.493 --> 00:06:26.633 calcular la mayoría, pero manteniendo los votos del contrario secretos. Y lo que las partidos 00:06:26.633 --> 00:06:32.027 van a hacer es que cada uno envíe sus votos cifrados al centro 00:06:32.027 --> 00:06:36.949 de elección de tal manera que al final de la elección, el centro de las elecciones es capaz de 00:06:36.949 --> 00:06:41.615 calcular y sacar un ganador de la elección. Sin embargo, aparte del ganador 00:06:41.615 --> 00:06:46.580 de la elección, nada es revelado de los votos individuales. Los votos 00:06:46.580 --> 00:06:51.366 individuales del contrario permanecerán completamente privados. Por supuesto, el centro de elecciones también 00:06:51.366 --> 00:06:56.331 va a verificar que este elector, por ejemplo, se le permita votar y que el votante 00:06:56.331 --> 00:07:00.818 sólo votara una vez. Pero aparte de esa información de las elecciones en el centro de elecciones en el 00:07:00.818 --> 00:07:05.484 resto del mundo supieran nada mas acerca del otro voto que el 00:07:05.484 --> 00:07:10.104 resultado de la eleccion. Así que esto es un ejemplo de un protocolo que implica seis 00:07:10.104 --> 00:07:14.430 partidos. En este caso, hay cinco votantes en un centro de elecciones. Estos 00:07:14.430 --> 00:07:19.417 partidos calculan entre ellos mismos. Y al final del cálculo, el resultado de 00:07:19.417 --> 00:07:24.404 la elección es conocido pero no es otra cosa que revelar las entradas individuales. Ahora 00:07:24.404 --> 00:07:29.156 un problema similar surge en el contexto de las subastas privadas. Así que en una subasta 00:07:29.156 --> 00:07:34.160 privada cada postor tiene su propia oferta. Y ahora supongamos que el 00:07:34.160 --> 00:07:39.356 mecanismo de subasta que está siendo utilizado es llamado subasta Vickrey donde la 00:07:39.356 --> 00:07:45.287 definición de una subasta Vickrey es que el ganador es el mejor postor. Pero la 00:07:45.287 --> 00:07:50.099 cantidades que el ganador paga es en realidad la segunda mejor oferta. Así que paga la 00:07:50.099 --> 00:07:54.850 segunda oferta más alta. ? OKay, por lo que este es un mecanismo de subasta estándar llamada 00:07:54.850 --> 00:08:00.028 subasta Vickrey. Y ahora lo que nos gustaría hacer es, básicamente permitir a los participantes 00:08:00.028 --> 00:08:04.779 calcular, averiguar quién es elmás alto postor y cuanto se supone que hay que 00:08:04.779 --> 00:08:09.165 pagar, pero aparte de eso, toda la otra información sobre las ofertas individuales 00:08:09.165 --> 00:08:14.160 deben permanecer en secreto. Así, por ejemplo, la cantidad real de que el mejor postor oferta 00:08:14.160 --> 00:08:19.225 debe permanecer en secreto. Lo único que debe convertirse en público es la segunda más alta 00:08:19.225 --> 00:08:23.526 oferta y la identidad del mejor postor. Así que de nuevo ahora, la forma en que vamos a hacerlo 00:08:23.526 --> 00:08:28.172 es vamos a introducir una centro de subasta en una forma similar. En esencia, todo el mundo 00:08:28.172 --> 00:08:32.588 enviarán sus ofertas encriptadas al centro de subasta . El centro de subasta 00:08:32.588 --> 00:08:37.119 calculara la identidad del ganador y de hecho el también calculara la segunda 00:08:37.119 --> 00:08:41.822 mejor oferta pero aparte de estos dos valores, nada más es revelado las 00:08:41.822 --> 00:08:46.126 ofertas individuales. Ahora bien, esto es en realidad un ejemplo de un problema mucho más general 00:08:46.126 --> 00:08:50.264 llamado secure multi-party computation. Permítanme explicarle de que trata secure multi-party 00:08:50.264 --> 00:08:54.618 computation. Así que aquí, básicamente de manera abstracta, los participantes tienen un secreto 00:08:54.618 --> 00:08:58.649 entradas a sí mismos. Así, en el caso de una elección, las entradas deberian ser los 00:08:58.649 --> 00:09:02.787 votos. En el caso de una subasta, la entradas serían las ofertas secretas. Y entonces 00:09:02.787 --> 00:09:06.959 lo que les gustaría hacer es calcular algún tipo de una función. De sus entradas 00:09:06.959 --> 00:09:10.840 De nuevo, en el caso de una elección, la función es una mayoría. En el caso de 00:09:10.840 --> 00:09:15.088 subasta, la función pasa a ser el el segundo más alto, mayor número entre los x 1 00:09:15.088 --> 00:09:19.179 a x 4. Y la pregunta es, ¿cómo puede hacer eso, de tal manera que el valor de la 00:09:19.179 --> 00:09:23.375 la función es revelada, pero no es otra cosa que revelar acerca de los votos individuales? Así que 00:09:23.375 --> 00:09:27.675 permítanme enseñarles una especie de una muda, insegura forma de hacerlo. Lo que hacemos es introducir un 00:09:27.675 --> 00:09:31.774 partido de confianza. Y luego, autoridad de confianza básicamente recoge entradas 00:09:31.774 --> 00:09:36.223 individuales. Y un poco se compromete en mantener en secreto las entradas individuales, por lo que sólo 00:09:36.223 --> 00:09:40.510 sabría lo que son. Y entonces, se publica el valor de la función, al 00:09:40.510 --> 00:09:44.742 mundo. Por lo tanto, la idea ahora es que el valor de la función se hizo público, pero 00:09:44.742 --> 00:09:48.812 nada más se revela las entradas individuales. Pero, por supuesto, tienes 00:09:48.812 --> 00:09:52.990 la autoridad de confianza que se tiene que confiar, y si por alguna razón no es 00:09:52.990 --> 00:09:57.168 digno de confianza, entonces usted tiene un problema. Y así que, hay un teorema muy central en la 00:09:57.168 --> 00:10:01.001 [Inaudible] y en realidad es un hecho poco sorprendente . Que dice que cualquier 00:10:01.001 --> 00:10:05.204 cálculo que le gustaría hacer, cualquier función F que le gustaría calcular, que pueda 00:10:05.204 --> 00:10:09.302 calcular con una autoridad de confianza, también puedo hacerlo sin una autoridad de confianza. 00:10:09.302 --> 00:10:13.559 [Inaudible] de alto nivel a explicar lo que esto significa. Básicamente, lo que vamos a hacer, es 00:10:13.559 --> 00:10:17.816 vamos a deshacernos de la autoridad. Así que los partidos son en realidad no van a enviar 00:10:17.816 --> 00:10:21.807 sus entradas a la autoridad. Y, en hecho, no va a ser una 00:10:21.807 --> 00:10:26.011 autoridad en el sistema. En su lugar, lo que los partidos van a hacer, es que van a 00:10:26.011 --> 00:10:30.567 hablar entre sí usando algún protocolo. Tal que al final del protocolo 00:10:30.567 --> 00:10:34.890 de repente el valor de la función se da a conocer a todos. Y sin embargo, 00:10:34.890 --> 00:10:39.390 nada que no sea el valor de la función se ha revelado. En otras palabras, 00:10:39.390 --> 00:10:43.639 las entradas individuales se mantiene en secreto. Pero de nuevo no hay autoridad, hay 00:10:43.639 --> 00:10:47.867 sólo una forma para ellos de hablar el uno al otro de tal manera que la salida final se revela. Así 00:10:47.867 --> 00:10:51.846 este es un resultado bastante general, es una especie de un factor sorprendente, esto es en absoluto 00:10:51.846 --> 00:10:56.024 factible. Y, de hecho, que es y hacia el final de la clase que en realidad va a ver cómo 00:10:56.024 --> 00:11:00.577 hacer que esto suceda. Ahora, hay algunos aplicaciones de la criptografía que no puedo 00:11:00.577 --> 00:11:05.560 clasificar cualquier otra forma que decir que son puramente mágico. Permítanme dar a 00:11:05.560 --> 00:11:10.240 ustedes dos ejemplos de ello. Así, el primero es lo que se llama outsourcing privado. 00:11:10.240 --> 00:11:15.224 computation. Así que les voy a dar un ejemplo de una búsqueda de Google sólo para ilustrar el 00:11:15.224 --> 00:11:20.329 punto. Así que imagínate Alice tiene una consulta de búsqueda. Resulta que que quiere emitir. Resulta que 00:11:20.329 --> 00:11:25.434 existen esquemas de encriptación muy especiales de tal manera que Alice puede enviar un cifrado de 00:11:25.434 --> 00:11:30.368 su consulta a Google. Y entonces, debido a la propiedad del esquema de encriptación 00:11:30.368 --> 00:11:35.304 Google realmente puede calcular en los valores encriptados sin saber lo que los 00:11:35.304 --> 00:11:40.368 textos claramente son. Así que Google realmente puede ejecuta su algoritmo de búsqueda masiva en la 00:11:40.368 --> 00:11:44.903 consulta cifrada y recuperar en resultados cifrados. Muy bien. Google enviará los 00:11:44.903 --> 00:11:49.242 resultados cifrados de nuevo a Alice. Alice descifrará y luego recibirá los 00:11:49.242 --> 00:11:53.689 resultados. Pero la magia aquí es todo lo que Google vio sólo cifrados de las investigaciones de Alice 00:11:53.689 --> 00:11:57.493 y nada más. Y así, Google como resultado no tiene idea de lo que Alice acabo de 00:11:57.493 --> 00:12:01.672 buscar y Alice, sin embargo realmente aprendío, aprendío exactamente lo que ella 00:12:01.672 --> 00:12:05.812 quería aprender. Bueno por lo que, se trata de un tipo de magia de los esquemas de encriptación. Son 00:12:05.812 --> 00:12:09.985 bastante reciente, esto es sólo un nuevo desarrollo de aproximadamente dos o tres años 00:12:09.985 --> 00:12:14.436 atrás, que nos permite calcular en datos encriptados, a pesar de que en realidad no saben 00:12:14.436 --> 00:12:18.667 lo que hay dentro de la encriptación. Ahora, antes de salir corriendo y pensar acerca de esta implementación 00:12:18.667 --> 00:12:22.470 debos advertirle que esto en este momento es realmente sólo teoria, en 00:12:22.470 --> 00:12:26.422 el sentido de la ejecución de una búsqueda en Google el cifrado de datos es probable que tome unos 00:12:26.422 --> 00:12:30.521 mil millones de años. Pero, sin embargo, sólo el hecho de que esto es factible es realmente 00:12:30.521 --> 00:12:34.473 sorprendente, y es bastante útil para los cálculos relativamente simples. Así, 00:12:34.473 --> 00:12:38.671 de hecho, vamos a ver algunas aplicaciones de este mas adelante. La otra aplicación mágica que 00:12:38.671 --> 00:12:42.474 quiero enseñarles es lo que se llama zero knowledge. Y en particular, se los diré 00:12:42.474 --> 00:12:46.080 acerca de algo que se llama the zero knowledge proof of knowledge. Así que aquí. 00:12:46.080 --> 00:12:50.177 Bueno, lo que pasa es que hay un cierto número N, el que Alice lo sabe. Y la forma 00:12:50.177 --> 00:12:54.169 el número N se construyó como un producto de dos números primos grandes. Así que imagina 00:12:54.169 --> 00:12:58.835 aquí tenemos dos números primos, P y Q. Cada uno de ellos se puede pensar como 1000 dígitos. 00:12:58.835 --> 00:13:03.892 Y usted probablemente sabe que están multiplicandose con 2000 números de dos dígitos es bastante fácil. Pero si 00:13:03.892 --> 00:13:08.235 Les acabo de dar sus productos. Averiguar su factorización en números primos es 00:13:08.235 --> 00:13:12.427 en realidad muy difícil. Y, de hecho, vamos a utilizar el hecho de que factorizar es 00:13:12.427 --> 00:13:16.566 difícil para construir sistemas [inaudible] públicos en la segunda mitad del curso. 00:13:16.566 --> 00:13:20.968 Muy bien, así que Alice pasa a tener este número N, y ella también conoce la factorización de 00:13:20.968 --> 00:13:24.898 N. Ahora Bob sólo tiene el número N.en realidad no sabe la factorización. 00:13:24.898 --> 00:13:28.723 Ahora bien, el hecho mágico enthe zero knowledge proof of knowledge, es que 00:13:28.723 --> 00:13:33.144 Alice puede probar a Bob que ella sabe la factorización de N. Sí, en realidad puedes 00:13:33.144 --> 00:13:37.457 darle esta prueba a Bob, que Bob puede comprobar y convencerse de que Alice 00:13:37.457 --> 00:13:42.386 conoce la factorización de N, sin embargo Bob no aprende nada en absoluto. Acerca de los factores de P 00:13:42.386 --> 00:13:47.034 y Q, y esto es demostrable. Bob absolutamente no aprende nada en absoluto sobre los 00:13:47.034 --> 00:13:50.997 factores P y Q. Y la declaración en realidad es muy, muy general. Es 00:13:50.997 --> 00:13:55.275 no sólo de probar la factorización de N. De hecho, casi cualquier rompecabezas que 00:13:55.275 --> 00:13:59.606 quieran demostrar que sabes la respuesta , se puede demostrar que es su conocimiento. Así que si 00:13:59.606 --> 00:14:03.831 usted tiene un crucigrama que ha resuelto. Bueno, tal vez los crucigramas no es el 00:14:03.831 --> 00:14:07.845 mejor ejemplo. Pero si usted tiene un rompecabezas de Sudoku, por ejemplo, que desea 00:14:07.845 --> 00:14:12.282 demostrar que lo has resuelto, puede probar a Bob en una forma que, Bob quiere aprender 00:14:12.282 --> 00:14:16.718 nada en absoluto sobre la solución, y sin embargo Bob se convenció de que realmente 00:14:16.718 --> 00:14:20.930 tiene una solución a este rompecabezas. Muy bien. Esos son los tipos de aplicaciones mágicas. 00:14:20.930 --> 00:14:25.000 Y así, la última cosa que quiero decir es que la criptografía moderna es una 00:14:25.000 --> 00:14:29.015 ciencia muy rigurosa. Y de hecho, todos los concepto que vamos a describir va a 00:14:29.015 --> 00:14:33.129 seguir tres pasos muy rigurosos,de acuerdo, y vamos a ver a estos tres pasos 00:14:33.129 --> 00:14:37.338 una y otra vez y otra vez así que quiero explicar lo que son. Así que lo primero 00:14:37.338 --> 00:14:41.493 que vamos a hacer cuando se introduce una nueva primitiva como lo es una firma digital 00:14:41.493 --> 00:14:45.540 vamos a especificar con precisión lo que es el modelo de amenazas. Es decir, qué puede hacer un 00:14:45.540 --> 00:14:49.534 atacante para atacar a una firma digital y cuál es su objetivo en la forzar las 00:14:49.534 --> 00:14:53.851 firmas?.Bueno, por lo que vamos a definir exactamente que significa para una firma 00:14:53.851 --> 00:14:57.760 por ejemplo, para ser infalsificable.Infalsificable. Muy bien y me estoy dando firmas 00:14:57.760 --> 00:15:01.998 digitales solo como un ejemplo. Por cada primitiva que describimos vamos a 00:15:01.998 --> 00:15:06.464 definir con precisión lo que el modelo de amenazas es. A continuación, vamos a proponer una construcción 00:15:06.464 --> 00:15:10.931 y luego vamos a dar una prueba de que cualquier atacante que es capaz de atacar a la 00:15:10.931 --> 00:15:15.955 construcción bajo este modelo de amenaza. Que atacante también puede utilizarlos para resolver algunos 00:15:15.955 --> 00:15:20.150 que subyace problemas difíciles. Y como resultado, si el problema realmente es difícil, que en 00:15:20.150 --> 00:15:24.350 realidad demuestra que ningún atacante puede romper la construcción bajo el modelo de amenaza. 00:15:24.350 --> 00:15:27.843 Muy bien. Pero estos tres pasos son en realidad bastante importante. En el caso de 00:15:27.843 --> 00:15:31.928 firmas, vamos a definir lo que significa para una firma ser falsificable, entonces vamos a 00:15:31.928 --> 00:15:35.914 dar una construcción y, a luego por ejemplo vamos a decir que cualquiera que pueda romper nuestra 00:15:35.914 --> 00:15:39.801 construcción puede luego ser utilizada para decir factores enteros , que se cree que es un 00:15:39.801 --> 00:15:43.541 problema difícil. Bueno, por lo que vamos a seguir estos tres pasos en todo, y 00:15:43.541 --> 00:15:47.331 entonces usted verá cómo esto se ve aproximadamente. Bien, así que este es el final del 00:15:47.331 --> 00:15:51.218 segmento. Y a continuación, en el siguiente segmento vamos a hablar un poco sobre la historia 00:15:51.218 --> 00:15:52.006 de la criptografía.