Loading
Apuntes
Study Reminders
Support
Text Version

Criptosistema criptográfico de clave pública híbrida

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 Internacional de Tecnología de la Información – Conferencia de Bangalore – 47 Hybrid Public Key Cryptosystem Bienvenido a esta conferencia. El plan para esta conferencia es el siguiente. (Consultar tiempo de la diapositiva: 00:36) En esta conferencia, introduciremos el esquema de cifrado de clave pública híbrida e introduciremos el paradigma KEM/DEM, y veremos una instanciación del KEM basado en CDH en el modelo Random oracle y la instanciación basada en DDH de KEM en el modelo estándar. (Consulte el apartado Hora de la diapositiva: 00 :49) Así que, deje que se inicie con la motivación de los cifrados de clave pública híbrida y antes de hacerlo, comparemos el esquema de cifrado de clave pública con un esquema de cifrado de claves secretas. Imagine, se nos da un esquema de cifrado de clave pública, Π pub, y se nos da un esquema de cifrado simétrico, Π priv, entonces si tenemos en cuenta el esquema de cifrado de clave pública, el acuerdo clave no es para nada un desafío. Eso es lo que toda la motivación para el nacimiento el proceso de cifrado público. Si soy un receptor, es suficiente para mí sólo para anunciar mi clave pública en el dominio público. Cualquiera que quiera cifrar un mensaje y enviarlo a mí, puede escoger mi clave pública, cifrar el mensaje y enviarlo a mí. Por otro lado, habíamos visto que el acuerdo clave es el mayor desafío en el dominio de clave simétrica. Hasta y a menos que se establezca la clave común entre el remitente y el receptor, no podemos utilizar ninguna de las primitivas de clave simétrica. Si consideramos el esquema de cifrado de clave pública, el inconveniente que hay es el espacio de mensajes tiene que ser un grupo finito o una estructura algebraica finita, que la mayoría de los casos es el grupo, que es una especie de restricción porque, en la práctica, el espacio del mensaje debe ser un conjunto de serie de bits. Por otro lado, el espacio de mensajes en la palabra clave simétrica son series binarias. No requerimos ninguna estructura algebraica sofisticada del espacio de mensajes subyacente para la seguridad general de mis esquemas de cifrado de claves simétricas. Si consideramos los esquemas de cifrado de clave pública, son computacionalmente muy pesados porque tenemos que realizar exponencias modulares por ejemplo en función RSA y en el esquema de cifrado de El Gamal. La realización de exponencias modulares es muy computacionalmente costosa y pesada en comparación con el proceso de cifrado, proceso de descifrado que utilizamos en el esquema de cifrado de claves simétricas, que son superrápidas y realiza operaciones que son de operaciones XOR. De la misma manera, el esquema de cifrado de clave pública, la expansión de texto de cifrado es enorme, por ejemplo, si se ve el esquema de cifrado de El Gamal, el texto plano que se desea puede cifrar es un solo elemento de grupo, pero el texto de cifrado consta de dos elementos de grupos y acolchado RSA, la cantidad de mensaje, que se termina cifrando es muy corto en comparación con la cantidad de aleatoriedad que realmente se está acolchando. Por otro lado, en el mundo de claves simétricas, la expansión del texto de cifrado puede ser lo más mínima posible usando cualquiera de los llamados modos seguros de operación de los cifrados de bloques. Así que, ahora podemos ver tanto pros como contras del esquema de cifrado de clave pública, esquemas de cifrado simétricos, y lo que podemos hacer es, podemos pensar en combinar de alguna manera estos dos procesos de forma genérica y obtener un tipo de proceso de cifrado híbrido donde en el proceso de cifrado híbrido, al que llamamos como EncHyb. El remitente elige una clave aleatoria para el esquema de cifrado de claves simétricas y lo cifra utilizando el proceso de cifrado de clave pública, a saber, encripta la clave aleatoria k, que ha seleccionado y lo cifra utilizando la clave pública del receptor y una vez que el texto plano está disponible con el remitente, el cifrado real del texto sin formato sucede utilizando un proceso de cifrado de claves simétricas utilizando la clave aleatoria, que ha sido recogida por el remitente. Si hacemos esto, lo que está sucediendo aquí es básicamente toda la eficiencia del proceso de cifrado híbrido se convierte casi en el del proceso de cifrado de claves simétricas porque el mensaje real que estamos encriptando se encripta utilizando un proceso de cifrado de claves simétricas. La carga de pago adicional que estamos pagando aquí es para cifrar la clave simétrica que se utiliza para cifrar el texto sin formato real utilizando un proceso de cifrado de claves públicas. Sin embargo, en principio sintácticamente todo este proceso híbrido todavía se considerará como una instanciación del proceso de cifrado de clave pública porque la clave para el cifrado de claves simétricas que el remitente está utilizando se está encriptando mediante un proceso de cifrado de claves públicas. Así que, eso es lo que es la motivación general para diseñar Ciphers híbridos de clave pública. (Consulte el tiempo de la diapositiva: 5:01) Para dejar mi punto más claro, consideremos una instanciación de la clave pública híbrida El Gamal Cipher. Por lo tanto, permítanme recordar la sintaxis del cifrado de clave pública híbrida El Gamal, por ejemplo, Seetha quiere decir que se ha configurado para su parámetro público, su clave pública y clave secreta, por lo que la descripción pública, que está disponible para todos es la descripción del grupo cíclico, el generador y el tamaño del grupo. Para hacer la configuración clave, lo que hace Seetha es, usted puede imaginar que ella hace su parte de Diffie Hellman protocolo de intercambio de una vez por todas para cada potencial Ram. Para cada remitente potencial que quiere cifrar un mensaje y enviar a Seetha. Por lo tanto, ella escoge su &alfa; al azar del set Zq a saber 0 a q-1, y esa es una clave secreta y una clave pública, que es g &alfa;, que está disponible en el dominio público, y esto si se puede imaginar como la contribución de Seetha ’ s para la clave general de Diffie-Hellman, que ella quiere establecer con todos los remitentes potenciales en este mundo. Ahora imagine que hay un remitente, que tiene un texto plano m, que quiere cifrar y ahora este texto plano es una cadena de bits, no necesita ser un elemento de grupo. Por lo tanto, a diferencia del proceso de cifrado de El Gamal donde el texto sin formato real, que el remitente podría cifrar y enviar a Seetha debe ser un elemento del grupo, ahora el texto plano es una cadena de bits. Ahora, para cifrar este texto plano m, lo que hace el remitente es, escoge un elemento aleatorio del grupo que son notados por y encripta este mensaje usando el proceso de encriptación de El Gamal. Por lo tanto, calcula el texto de cifrado c1, c2 donde c1 se puede interpretar como la contribución del emisor ’ s para el protocolo de intercambio de claves Diffie-Hellman, a saber, g β, donde β es un seleccionado de forma aleatoria, y c2 es el cifrado real de este aleatorio utilizando la clave común Diffie-Hellman g α β. Ahora, ese no es el cifrado del mensaje, por lo que hasta ahora lo que el remitente ha hecho básicamente el c1, c2, que el remitente ha enviado a Seetha es un cifrado del azar, pero el objetivo del remitente es cifrar el texto plano m, por lo que lo que hacemos aquí es suponemos que aparte de la descripción del grupo cíclico, generador, orden de grupo y así sucesivamente, asumimos que tenemos una descripción de una función de derivación de clave H públicamente disponible y asumir que la función de derivación de claves correlaciona los elementos del grupo g con el espacio clave del esquema de cifrado de claves simétricas, que el remitente va a utilizar ahora. Así que ahora, lo que el remitente va a hacer es, el remitente sabe que enviando c1, c2, a Seetha. El remitente sabe que Seetha también terminará obteniendo la clave común g α β y suponiendo que el supuesto DDH sea verdadero en el grupo subyacente, esta clave g α β va a ser un elemento aleatorio del grupo desde el punto de vista de un adversario con límites computacionales. Así que lo que el remitente ahora puede hacer es, puede derivar una clave de cadena de bits para el proceso de cifrado simétrico aplicando una función de derivación de claves a este elemento aleatorio y esa clave se utiliza para cifrar ahora el texto plano m, que es una cadena de bits y que es un cifrado real del texto plano m, que el remitente quiere cifrar. El descifrado en el extremo de Seetha es el siguiente. Así que para el descifrado, Seetha también necesita recuperar el mismo, que el remitente ha utilizado para derivar la clave simétrica k y se puede obtener mediante el descifrado c1, c2 según la sintaxis del esquema de cifrado de El Gamal y una vez es recuperado por Seetha, lo que Seetha puede hacer, también puede aplicar la misma función de derivación de claves disponibles públicamente en y una vez se recupera, ella puede descifrar el componente c del texto de cifrado según el algoritmo de descifrado del proceso de cifrado de claves simétricas y recuperar m. Por lo tanto, es así como se puede interpretar una versión híbrida del cifrado de clave pública de El Gamal. Tan pictorialmente lo que está sucediendo es aquí que como dije antes c1, c2 es el cifrado de la clave pública de la clave simétrica, mientras que el componente c aquí es el cifrado de la clave privada real del texto plano. Sin embargo, si se hace una pausa aquí por un momento, la idea anterior de cifrar el elemento de grupo aleatorio por remitente y derivar una clave de ello es un exceso de vida. Por lo tanto, lo que está sucediendo aquí es que el remitente está usando un elemento de grupo aleatorio, que lo encripta como un todo usando el proceso de encriptación de El Gamal, y luego derivando que una clave simétrica. Así que eso es un exagerado aquí. Una observación cercana le dice que es suficiente para que el remitente sólo envíe g β. No es necesario tener que enviar c2. Es suficiente para que el remitente sólo envíe g β. Porque el remitente sabe que si envía g β, que se puede revisar como si el remitente envía su parte del mensaje de protocolo de intercambio de claves Diffie-Hellman, entonces sabe que al enviar g β, tanto Seetha como Ram terminarán aceptando g α β y suponiendo que la suposición de DDH sea verdadera en el grupo subyacente, sabemos que g &alp; β será aleatorio en el punto de vista del adversario.Por lo tanto, la clave k se puede derivar de la g α β en lugar de derivar la clave del elemento aleatorio, porque si lo hacemos en lugar de utilizar el enfoque que hemos visto hasta ahora, hacemos un ahorro aquí. No necesitamos tener que elegir el elemento aleatorio y no necesitamos cifrar, por lo tanto no necesitamos enviar c2, y el tamaño total del texto de cifrado se reducirá significativamente y eso también llevará a ahorrar en el ancho de banda también, porque si no necesitamos enviar el c2 que significa que no necesitamos enviar un elemento de grupo extra para cifrar el mensaje. (Consultar Tiempo de Slide: 11:22) A pesar de que hemos visto una instanciación del cifrado híbrido de El Gamal aquí, resulta que este enfoque es un exagerado. Así que lo que vamos a hacer ahora, ya que ahora estamos motivados por la discusión aquí que, basta para que el remitente aquí sólo envíe g β y derive una clave de g β, lo que vamos a hacer es que ahora vamos a derivar una nueva primitiva, a la que llamamos mecanismo de Encapsulación Clave o KEM y luego veremos cómo podemos obtener un cifrado híbrido más eficiente usando este KEM. Por lo tanto, para dejar claro mi punto la forma de na ï de cifrado híbrido que hemos visto ahora es justo en el contexto de Hybrid El Gamal es el siguiente. Por lo tanto, en el extremo de cifrado lo que estábamos haciendo es que el remitente estaba escogiendo una clave aleatoria para la clave simétrica y se estaba encriptando por la clave pública del receptor para derivar el texto de cifrado c, que puede ser considerado como un cifrado de la clave simétrica. Y el cifrado real del mensaje se hizo utilizando la clave k y esto fue una especie de enfoque de dos etapas, donde primero estábamos eligiendo nuestra clave simétrica aleatoria y luego usándola para el proceso de cifrado de claves públicas. Un enfoque más eficiente se hará utilizando una primitiva, que vamos a definir pronto a la que llamamos como mecanismo de encapsulación clave donde ambas cosas se hacen en un solo disparo en una sola etapa. Y la ventaja aquí es que no solo es conceptualmente más sencillo, sino que en muchos casos es más eficiente y para entender que cómo exactamente KEM va a ser eficiente en comparación con este enfoque de dos etapas, se puede ver lo que hemos visto justo ahora en el contexto de Hybrid El Gamal. El método na ï ve de implementar El Gamal el remitente estaba escogiendo un azar derivando la llave y estaba totalmente encriptado usando el proceso de encriptación de El Gamal. Pero más tarde argumentamos que el remitente no necesita tener que hacer eso. Puede llevar a cabo Cifrado Híbrido incluso con sólo enviar g β al receptor. Ahora, basta con que la función de derivación de claves subyacente sea un tipo especial de función, que distribuye el elemento de grupo de forma casi uniforme entre los elementos del espacio de claves del proceso de cifrado de claves simétricas. Lo que quiero decir con esto es, si considero si este es mi grupo g, y si este es mi set K, y el número de elementos, que se correlacionan con un elemento candidato de este espacio clave, el número de elementos de grupo que se correlacionan con este elemento candidato de este espacio clave debería ser casi el mismo. No debe haber ningún sesgo en la distribución o en la correlación por la que esta función H está correlacionando los elementos del grupo con los elementos del espacio clave de mi proceso de cifrado de claves simétricas. Si asumo que mi función de derivación de clave subyacente tiene ese tipo de efecto de suavizado, entonces es suficiente para mí simplemente permanecer en el modelo estándar y reclamar la seguridad de este mecanismo de encapsulación clave, sólo basado en el supuesto DDH. Ahora, se puede ver la importancia de los supuestos que estamos haciendo a lo largo de este curso. La misma construcción aquí puede ser probada segura en con supuestos de dureza más débiles, es decir, la asunción de CDH. Pero con unas propiedades más potentes de la función hash subyacente, es decir, suponiendo que está actuando como un oráculo Random-oracle, mientras que si usted no quiere modelar su función hash subyacente como un Random-oracle, usted quiere modela como un tipo especial de función de distribución suave, entonces usted necesita tener una suposición de dureza más potente en su grupo subyacente, a saber, usted necesita para tener el problema DDH difícil de ser resuelto en su grupo subyacente. Así que, eso me lleva al final de esta conferencia. Sólo para resumir en esta conferencia, hemos introducido el proceso de cifrado híbrido y hemos discutido el CPA-seguridad del proceso de cifrado híbrido. También hemos visto una construcción genérica de cómo combinar un mecanismo de encapsulación de claves de seguridad CPA o un mecanismo de encapsulación seguro COA junto con cualquier clave simétrica segura de COA