Loading
Apuntes
Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Fundaciones de la criptografía Dr. Ashish Choudhury Department of Computer Science International Institute of Information Technology-Bangalore Lecture – 51 Digital Signatures (Consultar Slide Time: 00:31) Hola a todos, bienvenidos a esta conferencia, por lo que el plan para esta conferencia es el siguiente y esta conferencia introduciremos una primitiva criptográfica muy popular en el entorno de la clave pública, a saber, las firmas digitales y veremos la motivación de las firmas digitales, veremos la comparación entre los códigos de autenticación de mensajes y las firmas digitales. Discutiremos los certificados y las infraestructuras de claves públicas; el algoritmo de hash y de signos para firmar mensajes largos y, por último, vamos a discutir a un nivel muy alto cómo podemos lograr el cifrado autenticado en el dominio de clave pública utilizando esquemas de señalización. (Consulte el tiempo de la diapositiva: 01:03)Por lo tanto, comencemos con la motivación de las firmas digitales y antes de entrar en eso, primero intentemos entender la importancia de las firmas físicas que utilizamos en el mundo real, por lo que todos sabemos que las firmas físicas tienen aplicaciones tremendas y un propósito principal es verificar la autenticidad de un documento. Por ejemplo, si tomo la copia digital de mi tarjeta Aadhar, firmada por el; es digitalmente; lo siento, si tomo desde que estoy considerando la firma física, si considero por ejemplo, un cheque firmado que le he dado, entonces si lo envía al banco, el banco puede verificar la autenticidad del cheque firmado verificando mi firma y el principal objetivo de seguridad para la firma física es que incluso si hay una persona que me ha visto firmar varios documentos, debería ser muy difícil para esa persona forjar una firma legítima en aquellos documentos que nunca había firmado en el pasado. Por lo tanto, el objetivo principal aquí es básicamente verificar la autenticidad de un documento. Ahora las firmas digitales pueden ser vistas como analógicas digitales de firmas físicas y tiene enormes aplicaciones en el contexto del escenario mundial real. Por lo tanto, por ejemplo se utilizan ampliamente para los certificados digitales y la infraestructura de clave pública de la derecha, por lo que cuando digo certificado digital se puede imaginar por ejemplo, la tarjeta de Aadhar digital. Por lo tanto, usted no necesita llevar su tarjeta Aadhar en el formato físico, ahora usted tiene la tarjeta Aadhar firmada digitalmente y si usted lo envía en algún lugar en cualquier lugar que se supone que produce su tarjeta Aadhar, la entidad correspondiente puede verificar la firma digital y aceptar o rechazar su tarjeta Aadhar firmada digitalmente, veremos qué es exactamente la infraestructura pública clave y cómo se utilizan las firmas digitales en la infraestructura de claves públicas. También utilizamos firmas digitales para actualizaciones de software, por lo que siempre que compramos un software por primera vez, la clave de verificación del proveedor que me está proporcionando el software viene junto con la compra y puedo almacenar la clave de verificación del proveedor conmigo y más adelante si el proveedor me está dando algunas actualizaciones para el mismo software puedo verificar si las actualizaciones vienen de la fuente legítima o no verificando una firma en el software actualizado que viene del proveedor, también utilizamos firmas digitales para la firma de contratos donde tenemos aplicaciones legales. (Consulte la hora de la diapositiva: 03:29) Por lo tanto, ahora entendamos la definición formal de las firmas digitales, por lo que es un triplete de algoritmo; un algoritmo de generación de claves, un algoritmo de firma o un algoritmo de firma y un algoritmo de verificación y da soporte a mensajes de algún espacio de texto sin formato conocido públicamente, por lo que el algoritmo de generación de claves genera 2 claves; ya que estamos en el valor de clave pública; una clave será la clave de verificación que estará disponible en el dominio público. Y otra clave será sk, que es la clave de firma y estará disponible sólo con el firmante. Así que la forma en que se ejecuta este algoritmo de generación de claves es la siguiente. Así que, si soy un firmante; para configurar mi clave, ejecuto el algoritmo de generación de claves y hago que mi clave de verificación esté disponible en el dominio público. Por lo que suponemos que la clave de verificación del llamado remitente, una copia autenticada del llamado remitente estará disponible en el dominio público. Cómo se garantizará exactamente que de hecho la llamada clave de verificación pertenezca al remitente previsto se garantizará a través de la infraestructura de clave pública, pero por el momento, asumir que tenemos mecanismos para garantizar que de hecho la copia legítima o auténtica del firmante previsto está disponible en el dominio público. Ahora, para firmar un mensaje lo que hace el firmante es que ejecuta el algoritmo de firma y genera una firma. Por lo tanto, el algoritmo de firma toma el mensaje y la clave de firma y no necesita ser aleatorio, por lo que si el firmante tiene el mensaje m, ejecuta un algoritmo de firma y junto con el mensaje, emite una firma. Ahora, la firma junto con el mensaje se verifica ejecutando el algoritmo de verificación que toma el (mensaje, firma) y la clave de verificación y genera 0 o 1, 0 significa rechazar el mensaje porque es una firma no válida. 1 significa que acepta el mensaje porque es una firma válida. Ahora llama a un σ de firma para que sea una firma válida en el mensaje m con respecto a la clave de verificación vk si la verificación del mensaje, la firma con respecto a la función de verificación y la clave de verificación vk me da la salida 1 y si hay una firma válida que es recibida por un receptor que se verifica con respecto a la clave de verificación vk, entonces garantiza la autenticidad e integridad de m. Porque si yo soy un receptor y si recibo un (mensaje, firma) que es una firma válida con respecto a la clave de verificación de un firmante designado, entonces me garantiza que de hecho los mensajes que vienen del signo deseado porque hasta y a menos que la falsificación sea posible, es muy difícil para un tercero actuar o tener la intención de ser el firmante y producir un mensaje firmado en nombre del firmante. Por lo tanto, ahora vamos a las propiedades del esquema de firmas que requerimos. Por lo tanto, la primera propiedad es el requisito de corrección trivial que requiere que para cada par de claves obtenidas por el algoritmo de generación de claves y para cada mensaje si el firmante ha firmado algún mensaje utilizando la clave de firma sk y más tarde la firma se verifica con el mismo mensaje m usando el algoritmo de verificación y la correspondiente clave de verificación vk, entonces la salida debe ser 1, excepto con alguna probabilidad insignificante. Idealmente, esperamos que no haya absolutamente ningún error en el algoritmo de verificación de la firma si todo ha pasado correctamente pero la razón por la que estamos dejando un alcance de error insignificante en esta definición es que en la instanciación del algoritmo de generación de claves, podría darse el caso de que la clave pública y una clave secreta no sean coherentes con cada uno y lo que quiero decir por medios consistentes, ejemplo si asumo que si estuviera ejecutando el; si estoy usando un algoritmo de generación de claves RSA y mi algoritmo de generación es básicamente para escoger primes p y q. Y establecer el módulo para ser el producto de esos 2 primos, entonces si elijo un algoritmo aleatorio para escoger mis números primos p y q, entonces puede suceder que pueda terminar recogiendo los valores compuestos de p y q sin siquiera saber que en realidad he escogido valores compuestos p y q, en ese sentido a pesar de que mi algoritmo de generación de claves me ha dado parámetros incorrectos que pueden suceder sólo con esta probabilidad insignificante, no voy a ser consciente del hecho. Y si estoy usando este tipo de compuestos p y q y luego definitivamente el algoritmo de firma no producirá una firma que será aceptada por el algoritmo de verificación y es por eso que estamos dando un alcance de error insignificante en el requisito de corrección del esquema de firma, mientras que si usted está generando sus parámetros mediante la ejecución de algoritmos deterministas, en el sentido de que usted está escogiendo el decir, el valor de los primos p y q utilizando algoritmos deterministas donde no hay absolutamente ningún error en la recogida en términos; ningún error en términos de recoger primes o compuestos, entonces el esquema de la firma resultante no tendrá ningún error en la propiedad de corrección, ahora viene la propiedad importante de los esquemas de la firma, a saber, la seguridad y en un nivel muy alto, requerimos la misma garantía; garantía de seguridad que esperamos de las firmas físicas. Por lo tanto, recuerde como he dicho antes para las firmas físicas, la garantía de seguridad que yo requiere es que incluso si he firmado varios documentos y dado a usted, debe ser muy difícil para que usted pueda producir mi firma en un mensaje que nunca he firmado antes. Esperamos que lo mismo se mantenga en el contexto de las firmas digitales, a saber, una entidad que sólo conoce la clave de verificación, pero que no conoce mi clave de firma, pero me ha visto firmar; firmar varios mensajes en el pasado usando la clave de firma, para tal entidad debería ser computacionalmente difícil de forjar mi firma en un documento que nunca había firmado. (Consulte el tiempo de la diapositiva: 09:26) Por lo tanto, ahora formalizemos el requisito informal que habíamos discutido en la última diapositiva para las firmas por este experimento que llamamos como Sig – forge (jugado entre un adversario computacionalmente acotado y un retador y en el muy alto nivel, el juego es algo similar que habíamos utilizado para modelar el requisito de seguridad del requisito de falsificación contra el código de autenticación de mensajes. Entonces, tenemos una fase de entrenamiento y tenemos una fase de salida; en la fase de entrenamiento para modelar el hecho de que el adversario del mundo real habría visto a un firmante firmando varios mensajes en el pasado, permitimos al adversario la oportunidad de enviar varios mensajes de su elección y ver la firma en esos mensajes. Para responder a esos mensajes de fase de entrenamiento, el retador ejecuta el algoritmo de generación de claves y firma todos esos mensajes utilizando la clave de firma desconocida no conocida por el adversario. Pero la correspondiente clave de verificación se le da al adversario y ahora en la fase de salida, el adversario envía un mensaje y una falsificación y la definición del experimento es que decimos que el adversario ha ganado el juego denotado como diciendo que la salida del experimento es 1, si y sólo si el mensaje forjado m * es diferente a los mensajes por los que el adversario tiene firma en el pasado. Y las firmas σ * son de hecho una firma válida en el mensaje m * bajo la clave de verificación vk y decimos que un esquema de firma es infalsificable o simplemente seguro, si por cada adversario de poli tiempo que participa en este experimento, la probabilidad de que pueda llegar con una falsificación exitosa es superior limitada por una función insignificante en el parámetro de seguridad. (Consulte el tiempo de la diapositiva: 11:09) Por lo tanto, ahora comparamos el código de autenticación de mensajes primitivos de 2 y la firma digital porque en un nivel muy alto tanto el objetivo; los objetivos de la primitiva es el mismo: para evitar la falsificación o la autenticidad y la integridad, por lo que sintácticamente un esquema de firma consta de un algoritmo de generación de claves, un algoritmo de firma y un algoritmo de verificación, por lo que es un código de autenticación de mensajes. La diferencia es que para la firma, las claves de salida de algoritmo de generación de claves 2, mientras que para el código de autenticación de mensajes, el algoritmo de generación de claves genera una sola clave. Para el código de autenticación de mensajes se utiliza la misma clave k tanto para generar la etiqueta como para verificar la etiqueta, mientras que para la firma se utilizan diferentes claves para producir la firma y para hacer la verificación, por lo que es una diferencia en el nivel de sintáctico. Por lo tanto, debido a esto, tenemos varios pros y contras para ambos esto con respecto a ambas primitivas, por lo que si consideramos que los esquemas de firma de acuerdo clave no es en absoluto una tarea difícil, en el sentido firmante puede ejecutar el algoritmo de generación de claves y puede hacer que su clave de verificación esté disponible en un dominio público de una manera auténtica y cualquier El verificador podría utilizar esa clave de verificación para verificar las firmas generadas por el firmante. Por otro lado, para el código de autenticación de mensajes ya que es un primitivo de clave simétrica, el acuerdo clave es una tarea muy, muy desafiante. Si Sita quiere hacer una comunicación auténtica con 2 receptores dicen Ram y Hanuman, entonces necesita tener un par de clave simétrica o clave de mac para Ram y otra llave de mac independiente para Hanuman. Pero cuando llegamos a la firma está bien, si solo tiene una clave de firma y una clave de verificación que resolverá el propósito para todo verificador potencial. Como consecuencia, cuando se trata de esquemas de firma que se verifican públicamente, el firmante firma el mensaje, cualquier verificador puede simplemente recoger la clave de verificación del firmante y verificar si la firma es válida o no, mientras que para el código de autenticación de mensajes, no se verifica públicamente. Sólo el receptor que tiene la misma clave k, con la que el remitente ha generado la etiqueta puede verificar la autenticidad del mensaje, etiqueta. Como consecuencia de ello, obtenemos etiqueta, ya que las firmas digitales son verificadas públicamente que son transferibles, eso significa que si Ram ha obtenido documentos firmados legítimamente de Sita, entonces puede repasarla y transferirla a Hanuman, alegando que de hecho el documento se originó de Sita. Y Hanuman también puede verificar si efectivamente ese es el caso o no pero eso no es posible en el caso del código de autenticación de mensajes porque su remitente Sita ha computado una etiqueta de autenticación de mensajes para un mensaje entonces que puede ser verificado sólo por Ram y hasta y a menos que Ram transfiera la kSR clave a Hanuman, la autenticidad de la etiqueta no puede ser verificada por Hanuman, en ese sentido los códigos de autenticación de mensajes no son transferibles. Y debido a esas propiedades transferibles, las firmas digitales proporcionan el no repudio que es muy útil en las aplicaciones legales, a saber, si Ram obtiene un contrato firmado de Sita y laterif si hay alguna violación por Sita con respecto a los términos mencionados en el contrato, entonces el Ram puede ir a cualquier experto legal decir, Hanuman y demostrar que de hecho ha recibido un contrato firmado de Sita. Pero ahora, Sita no está siguiendo los términos y condiciones que se mencionan en el documento y Hanuman puede verificar las reclamaciones de Ram pero que no necesitan ser el caso en el código de autenticación de mensajes, hasta y a menos que Ram pueda transferir la llave mac a Hanuman o a cualquier tercero. Por lo tanto, podría parecer que las firmas digitales tienen todas las buenas características y los códigos de autenticación de mensajes tienen todas las características malas. Pero ese no es el caso porque si se considera el aspecto computacional para códigos de autenticación de mensajes y firmas digitales resulta que la cantidad de cálculos que se requieren para las firmas digitales, son de orden de varias magnitudes en comparación con la cantidad de cálculos requeridos para los códigos de autenticación de mensajes; específicamente, los esquemas de firma que vamos a ver basados en la función RSA y el problema de Diffie Hellman, donde vamos a realizar la exponenciación modular, módulo un módulo muy grande, mientras que como ya habíamos visto, los códigos de autenticación de mensajes pueden ser diseñado muy eficientemente usando ciphers de bloques. Esto es una compensación entre el código de autenticación de mensajes y las firmas digitales dependiendo de si prefiere la eficiencia frente a la verificabilidad pública, el no repudio, la transferibilidad, puede utilizar el código de autenticación de mensajes o las firmas digitales. (Consulte la hora de la diapositiva: 16:18)Por lo tanto, ahora vamos a debatir una aplicación muy práctica de la firma digital, a saber, la de la infraestructura de clave pública y los certificados digitales. Así que, hasta ahora estaba constantemente diciendo que si hay una entidad decir, Sita, derecha, que ha ejecutado el algoritmo de generación de claves de un esquema de cifrado de claves públicas y ha obtenido la clave pública y clave secreta, estábamos asumiendo que la clave pública de Sita está disponible en el dominio público de una manera auténtica. Eso significa, cualquiera, cualquier receptor o cualquier entidad, Ram que quiera hacer una comunicación segura con Sita puede buscar la clave pública de la llamada Sita y estábamos asumiendo que hay un mecanismo para que Ram verifique que si la llamada clave pública de hecho pertenece al pretendido Sita o no, estábamos suponiendo que una copia auténtica de la clave pública pk de la Sita pretendida está disponible en el dominio público. Pero ahora, nos gustaría responder a esta pregunta que cómo en primer lugar, Ram puede verificar si de hecho la clave pública pk, que está disponible en el dominio público es la clave pública de la llamada Sita o no, a la derecha. Así, nos gustaría ahora resolver este problema y resolver este problema, asumimos que tenemos o todas las partes en el sistema tienen acceso a una autoridad de confianza y llamamos autoridad certificadora de CA, que denotan por M considerando, es el maestro. Y este maestro tendrá su propia clave de firma y clave de verificación para algún esquema de firma segura y suponemos que de alguna manera la clave de verificación de este maestro está disponible para cualquier entidad Ram que quiera verificar la autenticidad de la clave pública de Sita, derecha, por lo que es un supuesto de confianza que estamos haciendo en toda esta solución, justo. Ahora, para convencer a Ram de que de hecho la clave pública pk pertenece a Sita, lo que Sita puede hacer es; puede, en la línea off puede ir al maestro y puede solicitar al maestro o la autoridad certificadora que por favor, certifique mi pk clave pública. Y para hacer la certificación, lo que la autoridad puede hacer es, puede realizar la verificación a saber, puede verificar las credenciales de la llamada Sita, puede verificar si efectivamente es la Sita derecha o no, qué son exactamente sus credenciales y así sucesivamente y si las credenciales se verifican con éxito, la autoridad maestra o la autoridad certificadora puede emitir un certificado digital que básicamente, es la firma del maestro en un certificado que indica que de hecho la clave pública o la clave de cifrado de la entidad Sita es pk, a la derecha. Así que, así es como el certificado digital o básicamente un documento firmado digitalmente producido por la autoridad certificadora y entregado a Sita, todo esto está sucediendo en la derecha off-line, nada como de ahora, no ha pasado ninguna comunicación entre Sita y Ram, todo lo que Sita está realizando en la off-line. Ahora, una vez obtenido este certificado por Sita, lo que Sita puede hacer es; si ahora quiere convencer a Ram de que de hecho la clave pública pk le pertenece, lo que puede hacer es; puede transferir la clave pública pk a Ram y junto con eso puede enviar un certificado emitido por la autoridad certificadora y ahora, usted ve que Ram puede verificar si de hecho la llamada clave pública que se obtiene de Sita de hecho pertenece a Sita o no porque lo que tiene que hacer es; tiene que sólo verificar si el certificado firmado digitalmente o la firma es de hecho la firma correcta para el mensaje de que la clave pública del remitente o Sita ’ s La clave pública es pk, bajo la clave de verificación de la autoridad certificadora que estamos asumiendo que está disponible para la entidad Ram. Si la verificación del certificado es exitosa, Ram está convencido de que de hecho la clave pública pk pertenece a la entidad llamada Sita y toda esta configuración aquí que habíamos discutido aquí es lo que llamamos como configuración de infraestructura pública clave o configuración de PKI, donde la suposición mínima de confianza que estamos haciendo aquí es que tenemos la autoridad de certificación disponible y su clave de verificación para un esquema de firma está disponible con cada entidad en el sistema. Cualquier remitente o cualquier entidad Sita, que quiere obtener su copia auténtica de la clave pública puede en la línea fuera de línea ir a la autoridad de certificación y obtener un certificado digital por probar sus credenciales y obtener un certificado digital que indica que de hecho su clave pública es pk y ahora si Sita quiere enviar o configurar su clave pública, lo que puede hacer es; puede poner un pk de clave pública en el dominio público junto con este certificado digital. O si quiere, puede enviar una clave pública a cualquier entidad Ram que quiera hacer una comunicación segura con Sita junto con el certificado digital y la autenticidad de la clave pública se puede verificar verificando el certificado y la llamada clave pública, por lo que "soluciona todo nuestro problema de configurar copias auténticas de la clave pública para las entidades, solo tenemos que asumir que tenemos una autoridad de confianza llamada autoridad certificadora disponible en nuestro sistema cuya clave de verificación está disponible con todo el mundo". Y todo este conjunto se llama configuración de PKI, en este ejemplo acabo de utilizar una CA ’ s, por lo que es posible que se esté preguntando que si hay millones de Sitas que quieren obtener una clave pública verificada por el maestro entonces que pondrá demasiada carga en una sola autoridad certificadora o si la clave de firma de la autoridad certificadora está comprometida, entonces cualquiera puede forjar documentos firmados digitalmente, cualquier Sita corrupto puede forjar este certificado de autoridad maestra ’ s certificado en cualquier clave pública no válida y que va a crear problema en los sistemas completos. Por lo tanto, lo que podemos hacer es en lugar de tener una única autoridad certificadora que podamos imaginar que tenemos una jerarquía de autoridad certificadora y así sucesivamente, pero la idea de alto nivel es que solo haciendo una pequeña suposición de confianza es decir, la presencia de una autoridad certificadora de confianza, todo este problema de configurar copias auténticas de la clave pública puede ser resuelto. (Consulte el tiempo de la diapositiva: 23:05)Siguiente, discutimos un paradigma interesante, que llamamos paradigma de hash y signo, que se puede utilizar para firmar mensajes largos arbitrarios y esto es similar a los paradigmas de hash y Mac que habíamos utilizado en el valor de la clave simétrica. Por lo tanto, el escenario es el siguiente; tenemos un esquema de firma que es seguro pero que puede soportar firmas en mensajes de longitud l bits y se nos da una función hash resistente a la colisión que correlaciona series de bits de longitud arbitraria con una salida de cadenas de bits l . Y nuestro objetivo es ahora llegar al esquema de firma segura combinando estos 2 primitivos que pueden firmar mensajes de cualquier longitud, no sólo cadenas de bits de longitud l bits. Pero el tamaño de la firma es de tamaño fijo, a saber, el espacio de la firma de este nuevo algoritmo de firma debería ser el mismo que para el esquema de firma segura que se nos da, eso significa, si mi esquema de firma subyacente que he dado produce la firma de decir, longitud l bits, entonces no importa cuál es el tamaño del mensaje; utilizando el esquema de firma compuesto, el nuevo esquema de firma, no importa cuál es la longitud del mensaje, mi tamaño de la firma será de n bits, su tamaño será independiente del tamaño del mensaje que voy a firmar y la forma en que vamos a combinar estos 2 primitivos es el siguiente: para firmar un mensaje, m, que podría ser de cualquier longitud, lo que hacemos primero es que hash el mensaje y una vez que hash el mensaje, obtenemos un mensaje de resumen del mensaje que es de longitud l bits y ahora, se calcula la firma en el hash del mensaje y que se considera como la firma general para mi mensaje l, para verificar la firma que hacemos las operaciones correspondientes, si se le da un (mensaje, firma) par, lo que hacemos es el primer hash el mensaje y luego verificamos si el componente de la firma que hemos recibido es de hecho una firma válida en el hash del mensaje que tenemos obtenido. Si el algoritmo de verificación es 0, entonces la salida global del nuevo algoritmo de verificación es 0 que significa, rechazamos el par (mensaje, firma), por otro lado si la salida del algoritmo de verificación del esquema de firma subyacente es 1, entonces aceptamos el mensaje dado, el par de firmas en el algoritmo de verificación de nivel superior. (Consulte el tiempo de la diapositiva: 25:40) Ahora, podemos probar que si el esquema de firma dado para mensajes de longitud fija es seguro que es su infalsificable y si mi función hash es función hash resistente a la colisión, entonces el esquema de firma para firmar mensajes arbitrariamente largos que hemos obtenido es seguro, y una prueba de seguridad para esto es de nuevo más o menos lo mismo que hemos usado para probar la seguridad del paradigma de hash y Mac, déjenme simplemente darle una visión general de la prueba de seguridad aquí. Por lo tanto, imagine que consideramos a un adversario que participa en el algoritmo de falsificación de firmas contra este nuevo esquema de firma y dice que ha pedido las firmas de mensajes en el set Q que consta de q número de mensajes y según la regla del esquema de firma que hemos construido cada firma no es más que una firma en el hash del mensaje que el adversario ha consultado. Y ahora, imagine que con muy alta probabilidad en este experimento de forjar firma, el adversario A después de obtener las firmas en los mensajes en el set Q podría producir una falsificación en el mensaje m * que no pertenece al conjunto de mensajes para los que ha visto las firmas y si ese es el caso, entonces podría haber 2 posibilidades. La posibilidad 1 es que exista al menos 1 mensaje en el conjunto de mensajes para los que el adversario tiene firma decir mi tal que el hash del mensaje mi y el hash del mensaje forjado m * son los mismos. Si ese es el caso, entonces resulta que tanto el mensaje mi como el mensaje m * producirán la misma signatura σ * y puesto que el adversario ya ha visto el hash del mensaje mi, es σ *, simplemente puede enviar la firma del mensaje, el nuevo mensaje m * es también σ * y es una falsificación válida pero si este es el caso, entonces significa que el adversario sabe cómo encontrar un par de colisión para la función hash subyacente en la cantidad polinómica de tiempo. Pero eso va en contra de la suposición de que mi función hash subyacente es una función hash resistente a la colisión. Por otro lado la segunda posibilidad podría ser que el mensaje forjado m * es tal que su valor hash es diferente del valor hash de todos los mensajes para los cuales el adversario ha visto la firma, si ese es el caso entonces la única manera en que el mensaje forjado m * y σ * es una falsificación válida es que el adversario ha calculado la firma en el mensaje de longitud fija a saber H (m *), desde cero sin saber realmente la clave de firma. Pero si ese es el caso, entonces significa que existe una serie de bits de longitud l bits para los cuales el adversario podría calcular la firma con alta probabilidad incluso sin conocer la clave de firma sk, pero eso va en contra de la suposición de que mi esquema de firma de longitud fija es seguro. Así que, estas son las 2 posibilidades con las que cualquier adversario podría llegar con una falsificación exitosa con alta probabilidad contra el nuevo esquema de firma que hemos construido. Y como hemos argumentado que ambas posibilidades pueden ocurrir sólo con la probabilidad insignificante. Podemos formalizar esta intuición rigurosamente de la misma manera que hemos utilizado para probar la seguridad de nuestro paradigma de hash y mac, pero no voy a entrar en los detalles formales. (Consulte la hora de la diapositiva: 29:21)Ahora, déjenme terminar esta conferencia haciendo la pregunta que es posible combinar firmas y cifrado en el valor de la clave pública para obtener una noción equivalente de cifrado autenticado. Por lo tanto, recuerde en el mundo de la clave simétrica hemos visto que si hay un remitente y un receptor sin información previa compartida y conectados por un canal inseguro públicamente abierto. A continuación, utilizando un esquema de cifrado autenticado que podemos obtener mediante la combinación genérica de un cifrado simétrico seguro de CPA y un MAC seguro, obtenemos el efecto de un canal seguro virtual entre el remitente y el receptor, que satisface 3 propiedades, a saber, la privacidad, la autenticidad y la integridad. Una pregunta natural será que si ahora vamos al mundo de la clave pública, sabemos cómo lograr la privacidad utilizando el cifrado. Y hemos discutido hasta ahora que cómo podemos lograr la integridad y la autenticidad en el dominio de la clave pública utilizando esquemas de firma, por lo que ahora es posible combinar estas 2 primitivas decir utilizando el cifrado, luego autenticar el enfoque y obtener un esquema de cifrado autenticado, a saber, el efecto de un canal seguro virtual entre el remitente y un receptor que satisface la privacidad, la autenticidad y la integridad. (Consulte el tiempo de la diapositiva: 30:40)Resulta que sí, podemos obtener el efecto de un esquema de cifrado autenticado incluso en el valor de la clave pública por una primitiva a la que llamamos signature, sign porque vamos a utilizar un esquema de firma y cifrado porque vamos a utilizar un esquema de cifrado pero resulta que la forma ingenua de combinar un esquema de firma y un esquema de cifrado no le va a dar un esquema de cifrado autenticado. De hecho, resulta que las ideas del mundo de la clave simétrica pueden fallar por completo en el mundo de la clave asimétrica y lo que vamos a mostrar aquí es si usted ve el enfoque de encriptar entonces la autenticación que sabemos siempre rinde el esquema de cifrado autenticado en el mundo de la clave simétrica puede fallar por completo, si se ejecuta na ï con valor en el mundo de la clave pública. Así que, para dejar claro mi punto, imaginemos que se nos da una instanciación segura de CCA del esquema de encriptación de claves públicas. Y por el momento asumir que se nos da un esquema de firma segura. Hasta ahora, todavía no hemos visto un esquema de firma de candidatos, pero por el momento asumimos, se nos da un esquema de firma de candidatos. Ahora, lo que voy a demostrar es que si combino estos 2 primitivos usando el cifrado entonces autenticar el enfoque, entonces no obtendremos lo que exactamente estamos pidiendo. Así que, para dejar mi punto claro imagine, tenemos 3 entidades en el sistema; Alice, Bob y Charlie, se puede imaginar que el Bob es un profesor de matemáticas para la clase y Alice y Charlie son 2 de los estudiantes e imaginamos que cada entidad en el sistema tiene su propio par de clave de cifrado y clave de descifrado y su propio par de clave de firma y verificación clave, por lo que por ejemplo asumimos que Alice tiene su par de clave de cifrado y clave de descifrado.