Loading
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

    +

Fundamentos de la Criptografía Dr. Ashish Choudhury Departamento de Informática Instituto Indio de Ciencia – Conferencia de Bangalore – 48 CCA Secure Public Key Ciphers (Referir Slide Time: 00:34) Hola a todos, bienvenidos a esta conferencia. Sólo para recapitular, en la última conferencia hemos discutido rigurosamente la noción de seguridad de la CPA en el contexto de los esquemas de encriptación pública. Así que el plan para esta conferencia es el siguiente. Introduciremos la noción de seguridad de CCA para criptosistemas de claves públicas. Discutiremos la motivación para estudiar la seguridad del CCA, considerando los escenarios del mundo real. Veremos la definición formal de seguridad de CCA Entonces veremos las definiciones de seguridad de CCA para mecanismo de encapsulación de claves y luego veremos una construcción genérica de cifrado de clave pública segura de CCA, desde cualquier mecanismo de encapsulación de claves seguras de CCA y cualquier cifrado de clave simétrica segura de CCA. (Consultar Tiempo de Slide: 01 :13) Así que empecemos nuestra discusión con la diferencia entre el modelo de adversario pasivo y un modelo de adversario activo, en el contexto del ajuste de clave pública. Así que si consideramos el adversario pasivo, entonces el escenario es el siguiente. Así que imagine que tenemos un receptor aquí que ha hecho la generación de claves y ha establecido su clave pública, la puso a disposición en el dominio público. Y suponemos que una copia autenticada de la clave pública del receptor está disponible en el dominio público. Y usarlo, decir que un remitente cifra una secuencia de mensajes de 1 a l, y el texto de cifrado resultante se comunica a través del canal. Entonces en el modelo pasivo asumimos que el adversario tiene la capacidad de sólo leer los textos de cifrado, no puede cambiar el contenido del texto cifrado, no puede cambiar su orden, no puede introducir el nuevo texto cifrado y así sucesivamente. Mientras que si vamos en el modelo adversarial activo entonces el adversario es más poderoso en el sentido de que no sólo puede leer los textos cifrados, sino que puede cambiar el contenido de texto de cifrado, puede insertar nuevo texto cifrado en su nombre o fingiendo que como si vienen del remitente, puede borrar los textos cifrados comunicados por el remitente, puede reordenar las ciphertextos y puede hacer cualquier otro tipo de ataque que usted pueda pensar. Por lo que es un modelo adversarial más potente en comparación con el modelo adversarial pasivo. Y sólo para recordar, hemos visto la diferencia entre el modelo de adversario pasivo y el modelo de adversario activo en el contexto de la configuración de clave simétrica. Así que ahora mismo estamos haciendo la misma discusión en el contexto de la clave pública. Y resulta que en comparación con el entorno de clave privada, los adversarios maliciosos o activos son más una preocupación en el entorno de la clave pública. Y esto se debe al hecho de que en el ámbito de la clave pública, cualquiera puede computar o comunicarse con un receptor solo accediendo a la clave pública de los receptores, porque en el valor de la clave pública el cifrado ocurre utilizando la clave pública del receptor y ya que va a estar disponible en el dominio público, si soy adversario y quiero calcular el texto cifrado y enviarlo al receptor, puedo hacerlo. Esto es en contraste con el valor de la clave privada, donde si soy un adversario y no tengo la clave simétrica que está disponible entre el remitente y el receptor, entonces es muy poco probable que yo presente un texto de cifrado válido y lo envíe al receptor en nombre del remitente, si estoy usando un esquema de cifrado autenticado. Así que eso significa que los adversarios maliciosos son realmente más una preocupación en el entorno de la clave pública en comparación con el valor de la clave privada. (Consultar el tiempo de la diapositiva: 03:56) Así que eso nos motiva a estudiar los ataques del CCA en el contexto del mundo de la clave pública. Así que lo que vamos a hacer a continuación es, vamos a ver algunos escenarios del mundo real donde de hecho se pueden lanzar ataques de CCA. Por lo tanto, considere este ejemplo en el que se comparte una contraseña entre un usuario y la clave pública del banco y su clave secreta es. Y su clave pública está disponible en el dominio público. Y el protocolo habitual entre un usuario legítimo y un banco es el siguiente. Así que si un usuario quiere iniciar una sesión con el banco entonces lo primero que hace el usuario es encriptar su contraseña usando la clave pública del banco usando algún proceso de encriptación de clave pública. Y el texto de cifrado resultante se comunica por el canal. Y al recibir la contraseña cifrada, el banco descifra la contraseña cifrada y la compara con la contraseña que ha almacenado consigo misma. Y da un mensaje de error, a saber, una contraseña incorrecta, si encuentra que en el descifrado esa contraseña recuperada, a saber, no es la misma que la contraseña, que se almacena en el sitio del banco. (Consulte la hora de la diapositiva: 05:15) Así que este es un protocolo estándar. Así que ahora vamos a ver qué pasa si se toma este simple protocolo en el modelo adversarial malicioso. Así que imagínense que se nos da un adversario, que es un adversario activo y que tiene eavesdrop sobre la contraseña cifrada. Conoce la clave pública del banco porque está disponible en el dominio público, pero el adversario no es consciente de la contraseña que está encriptada en el texto de cifrado. Y su objetivo es averiguar qué es exactamente la contraseña. Ahora lo que el adversario puede hacer es tomar el texto cifrado que ha sido comunicado por un usuario legítimo al banco e interrumpe la comunicación. Y lo que hace, modifica ciertos bits del texto de cifrado y llega con un nuevo texto cifrado, al cifrar algún mensaje en sí utilizando la clave pública del banco. Así que lo que está haciendo es simplemente detener la comunicación entre el usuario legítimo y el banco. Y en su lugar se trata de un nuevo texto cifrado, digamos y es un cifrado de algún texto plano conocido, que se conoce ya al adversario. Y tal vez podamos imaginar que en este ejemplo particular, el adversario puede incluso hacer cosas desagradables. De hecho, puede suceder que el adversario no lo sepa y sólo modifique ciertos bits del texto de cifrado, y se le ocurra. Y podría ser el caso que es un cifrado de, que también es una posibilidad.Así que cualquiera que sea el caso el adversario reenvía el texto cifrado al banco y espera la respuesta del banco. Ahora si ve que en la respuesta a, al descifrar el banco lanza el mensaje de error contraseña incorrecta, entonces básicamente el adversario aquí está llegando a saber que no es la contraseña correcta, que fue encriptada en. Porque si de hecho hubiera sido la contraseña correcta, que está cifrada en el texto cifrado entonces en descifrar texto cifrado, el banco no habrá lanzado el mensaje de error contraseña incorrecta. Pero dado que el banco está lanzando el mensaje una contraseña incorrecta, de alguna manera el adversario aquí está llegando a aprender que la contraseña que se comparte entre el usuario legítimo y el banco no es, es algo diferente de. Y ahora el adversario puede intentar repetir el mismo ataque otra vez. Eso significa que lo que puede hacer es simplemente llegar con otro texto cifrado, digamos, que podría ser un cifrado de texto plano, digamos, y esperar que de hecho sea la contraseña correcta y reenvíe el texto de cifrado al banco y espere a ver la respuesta del banco. Y de nuevo si llega el mensaje de error, entonces el adversario aprende aquí que la contraseña no está y así sucesivamente. Así que lo que está sucediendo aquí, básicamente en este ejemplo, el adversario está de alguna manera obteniendo un servicio de oráculo de descifrado del banco sin realmente dejar que el banco sepa que es el adversario quien realmente está persuadiendo al banco para descifrar los textos cifrados de la elección del adversario. (Consulte el apartado Hora de la diapositiva: 08:42) Ahora vamos a considerar otra aplicación aquí. Y aquí en esta aplicación, digamos que tenemos un receptor Bob, que ha configurado su clave pública y clave secreta y la clave pública está disponible en dominio público. Y decir que Alice tiene un correo electrónico, digamos, que quiere comunicar secretamente a Bob. Así que lo que hace es que ejecuta el algoritmo de cifrado de claves públicas utilizando la clave pública de Bob y el correo cifrado resultante se comunica a Bob. Ahora supongamos que Charlie está interesado en averiguar lo que está sucediendo, ¿qué es exactamente el contenido del correo electrónico? Así que lo que Charlie puede hacer es, puede espiar el correo electrónico encriptado y lo que puede hacer, puede modificar ciertos bits de para producir un nuevo correo cifrado decir y enviarlo a Bob y pretender como si ese es un correo encriptado que a Charlie le gustaría enviar a Bob. Ahora Bob lo que va a hacer es, cuando recibe el texto cifrado, pensará como si Charlie quiere enviar un correo electrónico encriptado a Bob. Y en el descifrado, lo que Bob puede hacer es, supongamos en descifrar que recupera el contenido del correo electrónico. Y podría ser posible que a Bob le gustaría responder a Charlie. Y al responder de nuevo, es posible que desee citar el mensaje o el correo electrónico que Bob ha obtenido después de descifrar el correo electrónico cifrado. Eso significa que la respuesta del email que ahora Bob está enviando podría ser concatenada con, dependiendo de la aplicación subyacente. Ahora cuando esta respuesta de Bob junto con el correo electrónico descifrado vuelve a Charlie, lo que básicamente Charlies conseguir aquí es, es conseguir un servicio de oráculo de descifrado. A saber, se aprende que el texto cifrado modificado en realidad cifra el contenido del correo electrónico. Y en este caso, en realidad si realmente mi proceso de cifrado hubiera sido seguro CCA seguro, entonces esto no debería ser posible. Pero como mi proceso de cifrado no es CCA seguro aquí, Bob aquí en recibir un texto cifrado modificado su completamente despistado que el email modificado ha sido reenviado por un adversario aquí. Y es simplemente descifrar ese texto cifrado modificado y responder de nuevo al adversario, pensando que el correo electrónico se originó de esa persona. (Consultar Tiempo de Slide: 11 :15) Ahora vamos a ver el ejemplo final aquí. Y esto se puede imaginar un protocolo de licitación aquí y el escenario es el siguiente. Tenemos un subastador que tiene su clave pública puesta a disposición en el dominio público. Y decir que tenemos 2 oferentes que están pujando por un objeto valioso y dicen que el postor Bob va primero. Tiene una oferta privada, que cifra utilizando la clave pública del subastador, con el subastador en este caso es Alice. Y ahora asumir que Charlie es un postor malicioso que quiere ganar la puja, pero no sabe el valor porque eso está encriptado usando la clave pública de la Alice. Así que lo que Charlie puede hacer aquí es que puede espiar la oferta cifrada de Bob. Y después de hacerlo, puede modificar la oferta cifrada a otra puja cifrada. Y suponga que mi proceso de cifrado es tal que la puja cifrada modificada es un cifrado de la oferta 2 veces la oferta de bob, y reenvía la puja cifrada modificada a Alice. Y Charlie finge como si fuera la oferta que a Charlie le gustaría hacer aquí. Así que esta propiedad aquí, donde es posible para un adversario, a saber, Charlie malicioso, para espiar un texto cifrado de un mensaje desconocido y de ese texto cifrado produce otro texto cifrado relacionado que es un cifrado de algún mensaje relacionado, es decir, 2 veces el mensaje, que fue cifrado en el texto cifrado, se llama como la propiedad de maleabilidad del texto cifrado. Así que recordemos cuando estábamos discutiendo el proceso de encriptación simétrica, también, discutimos la noción de maleabilidad y maleabilidad podría ser posible incluso en el contexto del proceso de encriptación pública. Así que ahora en este ejemplo si de hecho es posible para Charlie convertir a, tal que es un cifrado de clave pública del mensaje 2 veces, entonces lo que Alice podría hacer es, cuando ella descifra y, ella encontrará que es la oferta ganadora. Porque corresponde al valor 2 veces. Y ahora puede anunciar públicamente que Charlie ha ganado la oferta al ofertar por el valor de la oferta 2 veces. Y en este caso después de aprender el resultado, Charlie termina consiguiendo un servicio de descifrado oracle de Alice y termina ganando la subasta que debería haber sido evitado si de hecho mi proceso de cifrado hubiera sido CCA seguro. (Consultar Tiempo de Slide: 13:55) Así que ahora hemos visto varios escenarios del mundo real donde se pueden lanzar ataques de CCA donde el adversario puede obtener el servicio de oráculo de descifrado. Así pues, ahora tenemos que estudiar formalmente la noción de seguridad de CCA en el contexto del sistema criptográfico de clave pública. Así que definamos formalmente eso. Así que en un nivel muy alto, el objetivo de la seguridad de CCA es lograr encriptaciones indistinguibles, incluso en la presencia de oráculo de descifrado y el conocimiento de la clave pública estando disponible con el adversario. Y esto está modelado por un juego de respuesta de desafío. Las reglas del juego son las siguientes. El retador ejecuta el algoritmo de la generación de claves, da la clave pública a ese adversario que está computativamente acotado. Por lo tanto, dado que la clave pública se da explícitamente al adversario, puede obtener el servicio de oráculo de cifrado por su cuenta al cifrar cualquier texto sin formato de su elección. Ahora lo que puede hacer en este experimento aquí es, puede pedir el descifrado oracleservice enviando varios textos de cifrado del espacio de texto de cifrado. Y en respuesta, el retador tiene que descifrar todas esas ciphertextos, usando la llave secreta, que no es conocida por el adversario. Ahora la fase de desafío comienza donde el adversario somete un par de textos simples, con la única restricción de que sus lenzos deben ser los mismos. Y para preparar el texto de la ciphertext, nuestro retador escoge al azar uno de esos mensajes y lo cifra usando la clave pública. Y ahora le damos al adversario acceso al servicio de descifrado post-desafío, donde de nuevo puede pedir el servicio de descifrado oráculo o descifrado para un gran número de ciphertextos de su elección, con la única restricción de que, ese post desafío descifrado servicio de oráculo es restringido, ya que el adversario está restringido a pedir el descifrado de la ciphertext. Porque si no ponemos esta restricción, entonces no podemos lograr ninguna noción significativa de secreto. Y si se ven los 3 ejemplos motivadores que he dado antes, en todos esos 3 ejemplos el objetivo del Charlie o el malo era conseguir un servicio de descifrado oráculo de un texto cifrado modificado, pero no para el texto cifrado que le interesa crack. Ahora, una vez que el adversario obtiene un servicio de oráculo de descifrado para las consultas de oracle post-challenge, el objetivo del adversario es identificar si el cifrado es un cifrado de 0 o 1. Por lo tanto, la envía la respuesta o la salida del ’. Y la regla del experimento es, decimos que el adversario ha ganado el experimento, que equivale a decir que la salida del experimento es 1, si y sólo si ′ =. Eso significa que el adversario ha identificado correctamente lo que está encriptado en el desafío cifrado. Y nuestra definición de seguridad es, decimos que nuestros procesos de cifrado es un único mensaje CCA seguro, si por cada adversario de tiempo de poli, la probabilidad de éxito de adversario ganar el juego es superior limitada por la mitad más función insignificante en el parámetro de seguridad. O equivalentemente, la ventaja distintiva del adversario está limitada por una función insignificante. Es decir, no importa, ya sea que el azar sea un cifrado de 0 o 1, con casi la misma probabilidad la respuesta del adversario debe ser la misma. La razón por la que estamos llamando a este experimento un solo mensaje CCA seguro, porque el adversario acaba de presentar un par de textos sin formato de desafío y está viendo un cifrado de uno de ellos. (Ver Diapositiva: 17 :13) Podemos ampliar esta definición en una versión directa o en la forma natural, para incorporar la seguridad del CCA de múltiples mensajes. Las reglas del juego serán casi las mismas que para el mensaje único CCA seguridad, donde retador lanza la llave pública al adversario, el adversario consigue el servicio de oráculo de descifrado y ahora en la fase de desafío, se permite enviar un par de vector de mensajes. Pero la única restricción es que los mensajes en el vector 0vector y el mensaje en el vector 1 deben ser de la misma longitud. Para preparar el texto de cifrado de reto, el retador elige uno de estos 2 vectores con igual probabilidad de cifrado y, a continuación, cifra todos los textos sin formato en el vector seleccionado y el vector de texto cifrado de reto se le da al adversario. Ahora se permite al adversario tener acceso al servicio de descifrado post-desafío, con la única restricción de que no puede pedir el descifrado de cualquier texto cifrado que esté presente en el vector de texto del reto. Ahora, una vez que nuestro adversario está suficientemente capacitado, tiene que identificar si el vector de texto cifrado que ha visto corresponde a un cifrado del 0vector o el primer vector. Y decimos que el adversario ha ganado el experimento o la salida del experimento es 1, si y sólo si ha identificado correctamente si es el vector 0 o si es el vector 1, que está cifrado en el desafío ciphertext vector. Y nuestra definición de seguridad es, decimos que nuestros procesos de cifrado es multi message CCA seguro si para cualquier adversario de tiempo de poli que participa en este experimento, la probabilidad de que puede ganar el experimento es superior limitado por la mitad más una función insignificante en el parámetro de seguridad. O equivalentemente, la ventaja distintiva del adversario está limitada por una función insignificante en el parámetro de seguridad. Y como se espera, podemos demostrar que la seguridad del CCA y la seguridad del CCA multimedia son equivalentes, incluso en el contexto de los esquemas de encriptación de claves públicas. Así que no estoy dando la prueba completa aquí usted, puede referirse al libro de Katz-Lindell para la prueba completa. (Consulte el tiempo de la diapositiva: 19:25) Así que ahora vamos a definir la noción de seguridad de CCA en el contexto de los cifrados de claves públicas híbridas. Así que recuerde en la última conferencia, hemos discutido que cómo utilizar un mecanismo de encapsulación clave y un esquema de cifrado simétrico, podemos llegar con una combinación de ambos para llegar a un proceso de cifrado híbrido más eficiente. Cuando el algoritmo de generación de claves del proceso de cifrado híbrido ejecutará el algoritmo de generación de claves del KEM y dará salida a la clave pública y la clave secreta, donde la clave secreta estará disponible con el receptor y la clave pública estará disponible en el dominio público. El proceso de cifrado del esquema híbrido será el siguiente, ejecuta primero un algoritmo de encapsulación de claves y obtiene una clave simétrica y una encapsulación de la clave, denotada por. Y luego la clave se utiliza para cifrar el texto sin formato, de acuerdo con el algoritmo de cifrado de claves simétricas para producir el texto de cifrado. Y el texto cifrado general es la encapsulación de la clave simétrica y el cifrado del texto sin formato. De manera analogica, el descifrado ocurre en el extremo receptor; el receptor primero descapsula la encapsulacion y obtiene la clave simetrica. Y una vez que obtiene la clave simétrica, descapitaliza el componente de texto cifrado, para recuperar el texto sin formato, utilizando el algoritmo de descifrado del proceso de cifrado simétrico. Y también para recordar, en la última conferencia, hemos demostrado que si mi KEM está protegido por CPA y mi proceso de cifrado simétrico es COA seguro, entonces el esquema general es CPA seguro. Pero desde ahora estamos considerando la seguridad de CCA, tenemos que identificar cuáles deben ser las propiedades de seguridad de mis bloques de construcción subyacentes. Resulta que si quiero lograr la seguridad de CCA, entonces definitivamente mi proceso de cifrado simétrico subyacente en el esquema de cifrado híbrido debe ser CCA seguro. No basta con tener seguridad COA o seguridad CPA para el proceso de cifrado simétrico subyacente. Para demostrar mi punto, vamos a instanciar el bloque de clave simétrica subyacente aquí en este proceso de cifrado híbrido por modo de contador de operación, que sabemos que es CPA seguro pero no CCA seguro. Así que imagina que un remitente ha cifrado un mensaje que consta de 2 bloques de todos los 0s, utilizando el esquema de cifrado híbrido según el proceso de cifrado híbrido anterior. Y el texto cifrado resultante es (. Y según los detalles del proceso de cifrado de este esquema de cifrado híbrido, el camino (se habría producido es el siguiente. Primero se habría ejecutado un algoritmo de encapsulación para obtener una clave simétrica y el encapsulamiento de esa clave. Y luego usando la clave, al invocar la modalidad de contador de operación, el bloque de mensajes todos los 0s, seguido de todos los 0s, se habría cifrado. Por lo tanto, el cifrado del mensaje utilizando la clave según la modalidad de contador de operación será el siguiente. Se seleccionará un contador aleatorio, que estará disponible como parte del componente de texto de cifrado. Y el cifrado real de los bloques del mensaje será de 1 ′ y 2 ′ según la modalidad de contador de operación. Ahora lo que vamos a ver aquí en el ejemplo es que imaginen que hay un adversario que ha espiado el texto cifrado (e imagina que el adversario es un adversario activo. A continuación, observando (, es muy fácil para el adversario producir un texto de cifrado modificado (, de tal manera que cuando este texto de cifrado modificado se reenvía al receptor y se descifra según este proceso de cifrado híbrido, lleva al texto sin formato todos los 1s, seguido de todos los 0s. Y la forma en que el adversario puede hacer esto es explotando la maleabilidad de la modalidad de contador de operación. Básicamente tiene que producir, donde el valor del contador es 0 ′ se retiene tal cual y el componente 2 ′ del texto cifrado también se retiene tal cual. La modificación sólo está en el componente de texto cifrado 1 ′. 1 ′ ahora se ha cambiado a 1 ′ ′ como 1 ′ ′ = 1 ′ 0llid 1l. Y si 1 ′ se cambia a 1 ′ ′, el efecto de todos los 0s y todos los 0s se cancela. Y básicamente 1 ′ ′ ahora corresponde a una modalidad de contador de cifrado para el bloque de mensajes todos los 1 ’ s. Y ahora esto ya que este proceso general es maleable, podemos demostrar fácilmente que esto no va a ser seguro CCA. Así que eso significa que si en absoluto queremos que el proceso de cifrado híbrido en general sea CCA seguro, definitivamente mi esquema de cifrado simétrico subyacente que estoy usando debe ser CCA seguro. (Consulte el tiempo de la diapositiva: 24:20) Pero resulta que sólo mediante la creación de una instancia del cifrado simétrico subyacente por un cifrado simétrico seguro de CCA, no es suficiente para darnos un proceso de cifrado híbrido seguro de CCA. Y la razón de esto es, si juegas el CCA GAME contra este proceso de cifrado híbrido entonces recuerda que en el juego de CCA, al adversario se le da acceso al servicio de oráculos de descifrado. A saber, el adversario ahora puede hacer el servicio de oráculo de descifrado para cualquier tipo de texto de cifrado modificado, donde la primera parte del texto cifrado puede ser cualquier tipo de encapsulación, a saber, cualquier encapsulación, seguido de cualquier cosa. Y para responder a las consultas de oráculo de descifrado modificadas, el retador tiene que descifrar básicamente los textos de cifrado modificados utilizando la clave secreta. Ahora si usted ve el algoritmo de descifrado de este esquema de cifrado híbrido, cualquier consulta de oráculo de descifrado de la forma de ajuste seguido por cualquier cosa, cuando se descifra por el retador en el juego de CCA, básicamente proporciona implícitamente el adversario oracle acceso al servicio de oráculo de la decapitación, bajo la clave secreta desconocida. Porque al descifrar el texto cifrado modificado, el adversario vendrá a aprender lo que es exactamente la decapitación de la palabra, bajo la clave secreta desconocida. Eso significa que ahora necesitamos una instanciación segura de CCA del mecanismo de encapsulación de claves también, para esperar que el proceso de cifrado híbrido en general resulte en un proceso de cifrado público seguro de CCA. (Consulte el tiempo de la diapositiva: 26:01) Así que primero definamos la noción de seguridad de CCA para el mecanismo de encapsulación de claves. Y en un nivel muy alto, el objetivo de un mecanismo de encapsulación de claves seguras de CCA debería ser asegurar lo siguiente. Así que imagina que tenemos un receptor que ejecuta el algoritmo de generación de claves de un mecanismo de encapsulación seguro de CCA y configura la clave pública. Y decir que nuestro remitente está ahí que ejecuta el algoritmo de encapsulación clave de ese esquema, obtiene una clave secreta, y un encapsulamiento de la clave. Y la encapsulación se envía al receptor. Y decir que hay un adversario malicioso, que ha espiado el encapsulamiento. Y ahora imagine que mi adversario obtiene el servicio de oráculo de la decapitación para cualquier encapsulación, diferente de. Ahora al obtener el número polinomial del servicio de oráculo de descabezamiento, requerimos que desde el punto de vista mi adversario, el encapsulamiento, que ha visto antes, debe ser todavía independiente de la llave, que está encapsulado en. Así que la ventaja aquí que mi adversario está recibiendo ahora es un servicio de oráculo de decapsulación explícito, que ahora tenemos que modelar en nuestro experimento. Así que para modelar por encima de los requisitos, el experimento es el siguiente. Nuestro retador ejecuta el algoritmo de generación de claves y usando la clave pública ejecuta el algoritmo de encapsulación para obtener un par (. Y ahora prepara el desafío para el adversario de la siguiente manera. Lanza una moneda de feria, si la moneda es 0, entonces escoge un elemento aleatorio del espacio clave. Mientras que si el lanzamiento de moneda es 1, entonces el elemento es la clave, que en realidad está encapsulado en el encapsulamiento. Y el desafío para el adversario es el siguiente. La clave pública se da, se da el encapsulamiento y se da la luz. Y el objetivo del adversario es identificar si es un elemento aleatorio del espacio clave, es decir, si es un elemento aleatorio. O si la clave es la misma clave que se encapsula, a saber. Pero ahora modemos ese servicio de oráculo de descapitalización al permitir al adversario pedir la decapitación de cualquier encapsulamiento de su elección, con la única restricción de que este servicio de oráculo de decapitación no debería ser para el encapsulamiento. Deberían ser diferentes de ellos. Y a nuestro adversario se le permite someter de manera adaptable su consulta y en respuesta a las consultas de oráculo de decapitación, el retador responde descabezando todas esas consultas bajo la llave secreta desconocida, que no se conoce al adversario. Y después de hacer un número polinomio de consultas, el adversario tiene ahora que identificar y resolver su desafío. A saber, tiene que identificar si ha visto un desafío según el método 0 o según el método. Y la definición del experimento es, decimos que el adversario ha ganado el experimento, que denotamos diciendo que la salida del experimento es 1, si y sólo si el adversario ha asegurado ′ =. Y decimos que nuestro mecanismo de encapsulamiento clave es CCA seguro, si por cada adversario de tiempo de poli, existe alguna función insignificante, de tal manera que la probabilidad de que el adversario gane el experimento es superior limitada por la mitad más la función insignificante. O equivalentemente, la ventaja distintiva de ese adversario está limitada por una función insignificante en el parámetro de seguridad. (Consultar Tiempo de Slide: 29:42) Así que ahora vamos a ver que, si se nos da un KEM seguro de CCA y un cifrado de clave simétrica segura de CCA, entonces si los combinamos, obtenemos un cifrado de claves asimétricas seguras de CCA. Así que imagínense que nos dan un KEM seguro KEM y el proceso de cifrado de claves simétricas seguras de CCA. Entonces podemos combinarlo de la misma manera que hemos hecho para obtener un cifrado de claves asimétricas seguras de la CPA en la última conferencia. Así que mi algoritmo de generación de claves del proceso de cifrado híbrido será simplemente el algoritmo de generación de claves del mecanismo de encapsulación de claves. Para cifrar un texto sin formato utilizando la clave pública, lo que el remitente va a hacer es que ejecutará el algoritmo de encapsulación y obtendrá una clave y su encapsulación. Y utilizando la clave, invocará el algoritmo de cifrado del proceso de cifrado simétrico subyacente para cifrar el texto sin formato y obtener su cifrado. Y el texto de cifrado general será (. Por otro lado, el receptor que posee la clave secreta, en la recepción del texto cifrado (′), primero descabezará la parte del texto cifrado para recuperar la clave encapsulada. Y entonces esa clave se utiliza para descifrar el componente del texto de cifrado, según el algoritmo de descifrado del proceso de cifrado simétrico, para recuperar el texto sin formato real. Y podemos probar que si mi mecanismo de encapsulación clave es CCA seguro según la definición que acabamos de dar. Y si mis procesos de cifrado simétrico subyacente es CCA seguro, entonces esta forma genérica de combinar estos 2 primitivos nos va a dar un proceso de cifrado de clave pública que es CCA seguro. Y la prueba de nuevo será algo similar a la prueba de estilo de argumento híbrido, que habíamos dado en la última conferencia, para probar la seguridad de CPA de la construcción genérica del esquema híbrido que habíamos discutido en esa conferencia. Así que voy a dejar los detalles formales completos de la prueba a usted como un ejercicio. Así que eso me lleva al final de esta conferencia. Sólo para resumir, en esta conferencia presentamos la noción de seguridad de CCA en el contexto del esquema de encriptación pública. Hemos visto la maleabilidad, qué significa exactamente la maleabilidad de los esquemas de encriptación pública y hemos visto la definición de seguridad de CCA para el mecanismo de encapsulación clave y hemos discutido que si se nos da un CCA seguro