The New Alison App has just launched Download Now
We'll email you at these times to remind you to study
You can set up to 7 reminders per week
We'll email you at these times to remind you to study
Monday
Reminder set
7am
Tuesday
Reminder set
7am
Wednesday
Reminder set
7am
Thursday
Reminder set
7am
Friday
Reminder set
7am
Saturday
Reminder set
7am
Sunday
Reminder set
7am
Foundations de CryptographyProf. Dr. Ashish Choudhury (ex) Fundación Infosys Carrera de Desarrollo Career Cátedra Instituto de Tecnología – BangaloreLecture – 6Introducción a la Seguridad Computacional (Refiere Slide Time: 00 :31) Hola a todos, bienvenidos a la conferencia 6. El plan para esta conferencia es el siguiente. Vamos a discutir sobre el nacimiento de la criptografía moderna, es decir, el enfoque que utilizamos en la criptografía moderna. También discutiremos acerca de la noción de seguridad computacional y los males necesarios que están asociados con la seguridad computacional, y finalmente, vamos a definir matemáticamente qué queremos decir con algoritmos eficientes y probabilidad insignificante. (Consulte Tiempo de Slide: 00 :54) Así que, sólo para recordar en el último par de conferencias, discutimos acerca de la noción de secreto perfecto, que siempre es deseable porque esa es la noción más fuerte de secreto que podemos lograr. Debido a que el secreto se logra contra un adversario que es computacionalmente ilimitado, cuyo tiempo de funcionamiento es ilimitado, pero también discutimos que tenemos que pagar un alto precio para lograr el secreto perfecto, es decir, en cualquier proceso de encriptación perfectamente seguro, su clave necesita ser tan grande como un mensaje y cada instancia de la encriptación necesita usar una llave fresca.Así que estas 2 restricciones son algo poco práctico, porque en la práctica, nuestro objetivo es diseñar un proceso de cifrado en el que podamos utilizar una clave corta para cifrar mensajes largos y nos gustaría tener un esquema de cifrado donde se podría utilizar la misma clave corta para cifrar la secuencia de múltiples mensajes. Eso significa que, prácticamente, la encriptación perfectamente segura no es posible, eso es una especie de trampa. Así que si alguien afirma que su proceso de cifrado es práctico, así como le proporciona un secreto perfecto, entonces eso es una trampa clara. Eso nos lleva al enfoque que sigue la criptografía moderna. El principio que seguimos en la criptografía moderna es que en lugar de lograr el secreto perfecto, intentaremos acercarnos lo más posible al secreto perfecto y a cambio, logramos dos objetivos prácticos que apuntamos. A saber, logramos un proceso de encriptación donde podemos usar la misma llave corta para encriptar múltiples mensajes. Así que es el tipo de tradeoff que utilizamos en la criptografía moderna. (Consulte el tiempo de la diapositiva: 02 :35) Así que, veamos el enfoque que utilizamos en la criptografía moderna. Recuerde, en el modelo de secreto perfecto, nuestro adversario es computacionalmente ilimitado y un objetivo de secreto en el modelo de secreto perfecto es que queremos asegurar que el adversario no aprende absolutamente nada sobre el texto plano y entonces formalizamos rigurosamente esta noción: ¿qué queremos decir por el adversario no aprende absolutamente nada sobre el texto plano? También discutimos que las consecuencias de este objetivo, a saber, el objetivo de lograr que el adversario no aprenda absolutamente nada es que usted tiene que tener una clave tan grande como el texto plano y no puede permitirse el lujo de reutilizar la clave. Así que, eso fueron las consecuencias o las restricciones del secreto perfecto. (Consulte Slide Time: 03 :33) Ahora, los cambios que vamos a hacer en la criptografía moderna es el siguiente: en lugar de asumir que nuestro adversario es computacionalmente ilimitado o computacionalmente ilimitado, suponemos que nuestro adversario está computacionalmente acotado técnicas, eso significa que ya no vamos a suponer que el adversario podría ejecutar su algoritmo para romper el esquema o atacar el esquema por un período ilimitado de tiempo. Veremos cómo formular matemáticamente esta noción de adversario computacionalmente acotado. La segunda relajación que vamos a hacer en el modelo de secreto perfecto es que en lugar de exigir que el adversario no aprenda absolutamente nada sobre el texto plano, nos apuntamos a lograr el siguiente objetivo: apuntamos a lograr que el adversario aprenda información adicional sobre el texto plano con una probabilidad insignificante. Eso significa que ahora estamos dispuestos a dejar que el adversario aprenda algo sobre el texto plano, pero esa es información adicional o la probabilidad con la cual el adversario podría aprender la información adicional es tan pequeña, es tan insignificante que para casi todos los propósitos prácticos que podemos ignorar. (Consulte Slide Time: 04 :42) Tan pronto como hagamos estas dos relajaciones y el modelo de secreto perfecto, debemos esperar que debemos tener las siguientes dos implicaciones, es decir, nuestro proceso de encriptación debería estar usando la tecla corta y la misma tecla corta debería ser utilizable para encriptar una secuencia de mensajes. Resulta que de hecho si hacemos estas dos relajaciones en el modelo de secreto perfecto, podemos lograr los dos objetivos deseados, a saber, la misma llave corta puede ser usada para encriptar la secuencia de mensajes largos y eso es lo que usa el enfoque moderno de criptografía. La noción de secreto que obtenemos al hacer estas dos relajaciones es lo que nosotros llamamos secreto computacional, porque la seguridad se logra contra un adversario cuyo poder computacional es ahora limitado, en lugar de decir que la potencia de computación adversaria es ilimitada. Por lo tanto, ese es el enfoque que vamos a seguir en la criptografía moderna. (Referir Slide Time: 05:38) Así que las dos relajaciones que vamos a hacer es que ahora estamos apuntando a lograr la seguridad sólo contra adversarios eficientes, y lo que quiero decir por un adversario eficiente es informalmente esos algoritmos o aquellos algoritmos adversarios cuyo tiempo de funcionamiento es práctico o cuyo tiempo de ejecución que toma una cantidad de tiempo que es factible en la práctica. Vamos a definir matemáticamente qué es exactamente lo que queremos decir con adversarios eficientes muy pronto. La segunda relajación que vamos a hacer ahora es asumir que los adversarios permitieron romper el esquema con alguna probabilidad, pero la probabilidad con la que el adversario puede romper el esquema es tan pequeña que no nos molestamos en una probabilidad tan pequeña. Una vez más, vamos a definir muy pronto matemáticamente y rigurosamente lo que queremos decir exactamente por tan pequeña probabilidad de error. Por otra parte, como veremos durante el curso, a medida que el curso procede, que bajo cierta suposición la cantidad de tiempo que el adversario requerirá para romper el esquema con esa pequeña probabilidad será de orden de pocas vidas. Esto contrasta con lo que logramos en perfecto secreto. En perfecto secreto, incluso si le damos al adversario tiempo ilimitado, hay absolutamente cero probabilidad de que aprenda cualquier cosa acerca del texto plano subyacente. Pero en la seguridad computacional, en modelo de seguridad computacional donde nuestro objetivo es lograr una reusabilidad clave si damos una enorme cantidad de tiempo al adversario, entonces hay una posibilidad de que el adversario sea capaz de aprender algo sobre el mensaje subyacente, pero que algo va a ser tan pequeño que para propósitos más prácticos, podemos ignorarlo. Por otra parte, la cantidad de tiempo que va a requerir para el adversario aprender el mensaje, es algo que una pequeña probabilidad que será de orden de pocas vidas. Resulta que esto es aceptable para la mayoría de las aplicaciones prácticas porque en la mayoría de las aplicaciones prácticas, no requerimos seguridad eterna. Lo que quiero decir con esta última declaración es lo siguiente: imagina que quieres tener un sistema seguro para mantener el secreto de tus datos de la tarjeta de crédito. Así que si tengo un proceso de cifrado, que asegura que preservará la privacidad de sus datos de la tarjeta de crédito, con una importante cantidad de probabilidad. Eso significa que la probabilidad de que el adversario pueda aprender los detalles de su tarjeta de crédito al mirar en el cifrado de sus datos de la tarjeta de crédito con muy, muy pequeña probabilidad y la cantidad de tiempo que el adversario tomará para aprender sobre sus datos de la tarjeta de crédito es de orden de 35 años o 40 años, entonces está bien porque lo ideal, usted requerirá el secreto de sus datos de la tarjeta de crédito para ser mantenido sólo por pocos años. Usted no requiere el secreto, o la privacidad de sus datos de la tarjeta de crédito para ser mantenido para siempre duradero. Así que esto es aceptable. Como va a resultar que por encima de dos relajaciones que estamos haciendo en el modelo de secreto computacional es absolutamente necesario si nuestro objetivo final es lograr una reusabilidad clave. A saber, en el próximo par de diapositivas, vamos a discutir que de hecho si queremos diseñar el proceso de cifrado donde nuestro objetivo es asegurar que la misma clave corta se utiliza para cifrar múltiples mensajes, entonces definitivamente necesitamos hacer las dos relajaciones que estoy discutiendo aquí, a saber, la primera relajación es que deberíamos estar dispuestos a dejar que el adversario aprenda algo sobre el mensaje subyacente con una pequeña probabilidad y una segunda relajación es que debemos apuntar a la seguridad sólo contra los adversarios eficientes. (Consulte Slide Time: 09:16) Veamos la necesidad de estas dos relajaciones. A saber, la primera relajación es que ahora deberíamos apuntar a la seguridad sólo contra adversarios eficientes. Por lo tanto, para ver por qué esta relajación es necesaria, considere un proceso de cifrado arbitrario, donde va a utilizar la misma clave para cifrar la secuencia de mensajes y, a saber, la misma clave se va a utilizar para cifrar varios mensajes. E imaginemos que estamos en el modelo de ataque conocido del modelo de ataque (KPA). Sólo para recordar, en el modelo de ataque de KPA, asumimos que el adversario ve encriptaciones de varios mensajes, y significa que conoce tanto los mensajes subyacentes como sus encriptaciones bajo una clave desconocida, donde se va a retener la misma clave para cifrar los nuevos mensajes. Imagine que tengo un proceso de cifrado arbitrario, mientras que el remitente tiene mensajes m1, m2. ..., Mt y los textos de cifrado resultantes son C1, C2, ..., Ct y adversario tiene acceso a este (texto plano, texto cifrado) pares. Sabe que cada uno de los textos cifrados en cada uno de estos pares tiene el cifrado del texto plano correspondiente bajo alguna clave desconocida k, que la clave no se conoce al atacante. El adversario también conoce la descripción del proceso de cifrado y también sabe que la misma clave desconocida k va a ser retenida por el remitente para cifrar la siguiente secuencia de mensajes. Así que, bajo este escenario, el adversario siempre puede correr lo que llamamos como el ataque de la recuperación de la llave de la fuerza bruta. Idea detrás de este ataque de la llave-recuperación de la fuerza bruta es que lo que el adversario puede hacer es ya que conoce la descripción del espacio clave, puede intentar para cada candidato clave k que pertenece al espacio clave y descifrar cada uno del texto cifrado en sus pares de (??,??) y ver que existe una clave candidata k ∈? cada uno de los?? en sus pares de (??,??) ¿volver a descifrar el texto sin formato correspondiente bajo esa clave candidata k?Si pudiera, definitivamente hay alguna clave candidata k y tan pronto como golpee a esa clave candidata k, puede averiguar cuál es la clave que el remitente va a utilizar para cifrar la siguiente secuencia de mensajes. Así que puede ver que la probabilidad de éxito de este ataque clave de la fuerza bruta? recuperación es uno porque para algunos k ∈?, tal que para Deck (?? ): = ??, para cada uno (??,?? ), el tiempo de ejecución de este algoritmo de recuperación de claves de fuerza bruta es? (|? |). Si asumimos que nuestro espacio clave es significativamente grande para nosotros, por ejemplo, imaginemos que el espacio clave es el conjunto de todas las series posibles de 256 bits. Eso significa imaginar que mi espacio clave es 2256. Ahora esta fuerza bruta sobre |? | = 2256 va a tomar una enorme cantidad de tiempo, eso es algo poco práctico. Eso significa que si hago la relajación que no voy a tolerar o no me molestan los adversarios cuyo tiempo de funcionamiento es poco práctico, entonces este ataque de la recuperación de la fuerza bruta no será considerado como un ataque en mi modelo de ataque. Así que esa es la necesidad de la primera relajación si su objetivo es lograr un esquema de encriptación, donde la misma llave se va a utilizar para encriptar múltiples mensajes. Eso nos muestra la necesidad de la primera relajación. (Consultar Tiempo de Slide: 12 :54) Ahora vamos a ver la necesidad de la segunda relajación si su objetivo es lograr una reusabilidad clave. La segunda relajación es que se debe permitir que el esquema se rompa con una pequeña probabilidad. Una vez más, considere una instancia de un proceso de cifrado arbitrario donde se ha utilizado la misma clave k para cifrar varios mensajes en secuencia y decir que el adversario está en el modelo de ataque de KPA, donde tiene acceso a varios (??,??) y la llave no es conocida por el adversario. Pero el adversario conoce el texto cifrado correspondiente o las cifraciones del texto plano correspondiente en cada uno de los pares, y el adversario sabe que la misma clave desconocida k va a ser retenida por el remitente para cifrar la siguiente secuencia de mensaje. Ahora, el adversario siempre puede lanzar lo que llamamos esto como un ataque de adivinación. La idea detrás de un ataque de adivinanzas es que el adversario puede simplemente obtener un valor candidato de la clave, decir k del espacio clave y comprobar si esa clave candidata que ha adivinado es de hecho la clave correcta o no mediante la realización de la siguiente operación: adivinar al azar una k ∈?, y comprobar si Deck (?? ): = ??,, para cada uno (??,?? ), entonces él ha golpeado en la tecla correcta. Ahora, ¿cuál es la probabilidad de éxito de este ataque? La probabilidad de éxito de este ataque es 1/|? |. ¿Cuál es el tiempo de ejecución del algoritmo del ataque o del atacante? El tiempo de ejecución del algoritmo del adversario es? (| 1 |) porque ahora no está haciendo la fuerza bruta sobre el espacio de claves, se trata de adivinar el valor de la clave candidata.Así que de nuevo, si asumo que mi espacio clave es extremadamente grande, eso significa imaginar de nuevo por el momento que su espacio clave si el pedido 2256, entonces la probabilidad de éxito de este ataque es 1/2256, que es muy, muy pequeño. Eso significa que a pesar de que el adversario tiene la oportunidad de romper el esquema, es decir, para aprender la clave, la oportunidad de que él pueda aprender la clave es tan pequeña que, a saber, es 1/2256 que podemos ignorarlo para el propósito más práctico. Así, esto demuestra de nuevo que si la reutilización de claves es su objetivo final, entonces tenemos que hacer la segunda relajación en nuestro modelo, a saber, debemos estar dispuestos a dejar que el adversario rompa el esquema con una probabilidad más pequeña y que es tan pequeño que podemos ignorarlo. (Consultar Tiempo de Slide: 15:19) Así que, sólo para resumir los dos males necesarios que están asociados con nuestro objetivo final de la reutilización de claves son los siguientes. Hay dos posibles ataques, dos ataques extremos que siempre se pueden lanzar contra un esquema arbitrario donde la reusabilidad clave es el objetivo final. El primer ataque es el ataque de recuperación de llaves de fuerza bruta, cuyo tiempo de funcionamiento es muy grande, pero la probabilidad de éxito es del 100%. Hay el segundo ataque extremo contra tal esquema donde la reusabilidad clave es el objetivo, donde el tiempo de ejecución del atacante es muy menor, es constante, pero la probabilidad de éxito del atacante es muy pequeña, es tan pequeña que para propósitos más prácticos podemos ignorar. Así que ahora si ves que si hacemos las dos relajaciones de las que he estado hablando, es decir, la primera relajación en la que nos destinamos a lograr el secreto sólo contra adversarios eficientes, entonces el ataque de la fuerza bruta no sería considerado como un ataque en nuestro modelo de ataque porque como dije, la complejidad del tiempo de la recuperación de la fuerza bruta ataque será enormemente grande. Si hago la segunda relajación, a saber, donde estoy dispuesto a dejar que el adversario aprenda o rompa el esquema con una probabilidad de error muy pequeña, entonces el segundo ataque, es decir, el ataque de recuperación de la clave no sería considerado como un ataque en nuestro modelo de ataque. (Consultar Tiempo de Slide: 16 :42) Así que este es el resumen de los dos males necesarios que están asociados con cualquier proceso de encriptación, donde la reusabilidad clave es la meta. La primera relajación que debes hacer en tu modelo es en lugar de apuntar a la seguridad contra un adversario computacionalmente sin límites, debes apuntar al secreto solo contra adversarios computacionalmente eficientes. Y la segunda relajación que debes hacer en tu modelo es en lugar de exigir que no se revele absolutamente nada sobre el texto sin formato subyacente, debes estar dispuesto a dejar que el adversario aprenda algo sobre el texto plano subyacente con alguna pequeña probabilidad de error y esa probabilidad debería ser tan pequeña que para propósitos más prácticos, puedes ignorarlo. Ahora, los desafíos de cómo exactamente definimos matemáticamente a adversarios eficientes, a saber, ¿qué algoritmos, qué algoritmo contradictorio, que puedes decir es un eficiente algoritmo adversarial? El segundo desafío aquí es qué cantidades usted definirá, o usted llamará como una pequeña cantidad o una pequeña probabilidad de error. Por lo tanto, lo que vamos a hacer aquí es que vamos a definir matemáticamente estos dos términos en notación asintótica. (Consultar Tiempo de Slide: 17 :53) Así que, las personas que están familiarizadas con el concepto de algoritmos, sabrán qué es exactamente lo que entendemos por notación asintótica. Por lo tanto, cuando quiero medir el tiempo de ejecución de un algoritmo, hay dos enfoques por los que podemos medir el tiempo de ejecución del algoritmo. Uno es el enfoque concreto, donde comparamos dos algoritmos para el mismo objetivo, basados en el tiempo exacto de funcionamiento. Por lo tanto, usted ha dicho, algoritmo 1 algoritmo 2 para una tarea. Usted ejecuta el algoritmo 1 en muestras de varios tamaños, se ejecuta el algoritmo 2 en muestras de varios tamaños y luego se comparan los tiempos exactos del algoritmo 1 y el algoritmo 2, por supuesto sobre el procesador que se le da y así sucesivamente. En base a eso, se compara si el algoritmo 1 es mejor? ¿o el algoritmo 2 es mejor? Pero la caída de este enfoque es a pesar de que se obtiene la comparación concreta del algoritmo 1 frente al algoritmo 2, este enfoque no tiene en cuenta la velocidad de cálculo subyacente, el progreso en la velocidad de la computación y así sucesivamente. El segundo enfoque que seguimos en el mundo de los algoritmos para comparar 2 algoritmos es la notación asintótica, donde comparamos el tiempo de ejecución de los 2 algoritmos para resolver la misma tarea en notaciones asintóticas, es decir, en la notación grande O. Comparamos el tiempo de ejecución midiendo el número de pasos básicos del algoritmo 1 y el número de pasos básicos que el algoritmo 2 donde se calcula el número de pasos básicos como función del tamaño de entrada. Dependiendo de qué algoritmo toma menos número de pasos, definimos si el algoritmo 1 es mejor? ¿o el algoritmo 2 es mejor? Tienes varias notaciones asintóticas como la notación grande O, la notación theta, la notación omega basada en la cual puedes comparar 2 algoritmos. Por lo tanto, cuando queremos definir lo que queremos decir por eficiencia, algoritmo insignificante de probabilidad en el contexto de la criptografía, vamos a seguir este último enfoque, a saber, vamos a definir estos términos asíntoticamente. Para definir estos términos asíntoticamente, tenemos que introducir algo a lo que llamamos un parámetro de seguridad que denotamos por n. La razón por la que queremos introducir este parámetro de seguridad es que una vez que introduzcamos el parámetro de seguridad n, entonces todas las tres cuantitieses decir el tiempo de ejecución de los usuarios, el tiempo de ejecución del algoritmo de generación de claves, el tiempo de ejecución del algoritmo de cifrado, el tiempo de ejecución del algoritmo de descifrado. Del mismo modo, el tiempo de ejecución del algoritmo adversarial del atacante, y la probabilidad de éxito del atacante, todos se van a expresar como una función del parámetro de seguridad. Normalmente, en el contexto del proceso de cifrado de claves simétricas, el parámetro de seguridad es el tamaño de la clave secreta, que normalmente es para la mayoría de los propósitos prácticos es de 128, 256, y así sucesivamente. (Consulte el tiempo de la diapositiva: 20 :41) Por lo tanto, primero definamos qué queremos decir con algoritmos eficientes asíntoticamente. Informalmente, decimos que un algoritmo es eficiente si su tiempo de funcionamiento es una función polinómica del parámetro de seguridad. A Saber, Algoritmo? tiene un tiempo de ejecución polinomial, si existe un polinomio? (.), por ejemplo, para cada entrada? ∈ {0, 1} ∗, el cálculo de? (?) termina dentro de? (|? |) pasos, donde |? | indica la longitud de la serie? .Si es el caso, entonces decimos que nuestro algoritmo A tiene un tiempo de ejecución polinomial y llamaremos a nuestro algoritmo A para ser un algoritmo eficiente. Mientras que, si no podemos vincular el tiempo de ejecución de nuestro algoritmo A por alguna función polinómica en el tamaño de su entrada, entonces decimos que nuestro algoritmo no es eficiente. Esa es la definición de algoritmo eficiente. Ahora, una vez que hemos definido una noción de algoritmo eficiente, el requisito que ponemos en cualquier cifrado es el siguiente: recuerde que tenemos el requisito de corrección, tenemos el requisito de privacidad, y aparte de que tenemos ahora el tercer requisito de cualquier proceso de cifrado. El nuevo requisito es que el tiempo de ejecución del algoritmo de generación de claves, el algoritmo de cifrado y el algoritmo de descifrado deben ser una función polinómica de este parámetro de seguridad n. Si el tiempo de ejecución no es una función polinómica, entonces no consideraríamos que el algoritmo o el cifrado fuera un cifrado eficiente. (Consulte el tiempo de la diapositiva: 22 :15) Ahora, vamos a definir la noción de probabilidad insignificante como una función del parámetro de seguridad. Así que informalmente, decimos que una función del parámetro de seguridad es insignificante si llega a ser casi 0as el valor de su parámetro de seguridad n tiende al infinito o la función del parámetro de seguridad será llamada como una función insignificante si es asintóticamente más pequeña que la inversa de cada función polinómica. Es decir, si f (n) es una función, entonces diremos que f (n) es una función insignificante si por cada función polinómica p (n), existe algún valor de n, a saber, N, tal que f (n) es estrictamente menor que la inversa de la función polinómica p (n) para todos los valores de n > N. Si esto se mantiene, entonces decimos que nuestro función f (n) es una función insignificante. Otra definición equivalente de esta función insignificante es para cada constante?, existe alguna?, tal que? (?) <? (−?), para todos? >?, entonces decimos que nuestra función f (n) es una función insignificante. La razón por la que estas 2 definiciones son equivalentes es que cualquier función polinómica (n), siempre se puede escribir como alguna nc. Por lo tanto, si f (n) es estrictamente menor que la inversa de la función polinómica para cada función polinómica, entonces puedo reescribirla como? (?) <? (−?) para cada constante c.So, puede utilizar cualquiera de estas dos definiciones para probar o refutar si una función dada f (n) es una función insignificante en n o no. Así que, aquí, por ejemplo unas cuantas funciones que son todas funciones insignificantes. Cada una de las funciones es estrictamente menor que la inversa de cada función polinómica, donde el valor de N es diferente para las funciones polinómicas correspondientes. Así que, a pesar de que todas estas funciones son funciones insignificantes, a saber, si sigo haciendo que el valor de la pequeña n sea grande y como n tiende al infinito, cada una de estas funciones candidatas se convertirá en cero eventualmente. Sin embargo, la tasa a la que cada una de estas funciones se acerca a cero es diferente. Así que, por ejemplo si considero la función 2-ny si considero la segunda función, entonces definitivamente 2-n se aproximará al valor cero más rápido en comparación con el valor de la función y así sucesivamente. Por otro lado, si considero la función 1 /n10, entonces no es una función insignificante. Debido a que el requisito de una función insignificante es que la función debe ser estrictamente inferior a la inversa de cada función polinómica, pero se puede ver fácilmente que para ningún valor de n, la función, que no es posible para cada valor de n. Como resultado, viola la definición de probabilidad insignificante. (Consultar Tiempo de Slide: 25 :34) Por lo tanto, hemos definido matemáticamente qué queremos decir por algoritmo eficiente y hemos definido qué probabilidad puedes considerar como una pequeña probabilidad. Así que ahora la familia de funciones insignificantes y polinómicas satisfacen algunas buenas propiedades de cierre. Veamos las propiedades de cierre satisfechas por la clase de funciones polinómicas. Así que si consideras dos funciones polinómicas arbitrarias, digamos P1 (n) y P2 (n), así como las funciones polinómicas. ¿Cuál es la implicación de la primera propiedad de cierre? Dice que supongamos que si usted tiene dos subrutinas la manera de interpretar la primera propiedad de cierre es la siguiente: Imagine que tiene dos subrutinas, donde el tiempo de ejecución de la primera subrutina es una función polinómica en n y el tiempo de ejecución del segundo procedimiento también es una función polinómica en n, y si usted tiene una rutina más grande, que en realidad llama a este sub procedimientos en secuencia, entonces el tiempo de ejecución del algoritmo más grande también va a ser una función polinómica. algoritmo. Eso es lo que es la interpretación de la primera propiedad del cierre. Sólo para resumir, en esta conferencia, discutimos que si la reutilización de claves es nuestro objetivo final, a saber, si queremos diseñar un esquema en el que queremos conservar la misma clave para cifrar múltiples mensajes, entonces tenemos que hacer para relajarnos al modelo de secreto perfecto.La primera relajación que tenemos que hacer es que en lugar de asumir que nuestro adversario es computacionalmente ilimitado, tenemos que asumir que nuestro adversario está computacionalmente acotado y también hemos visto que lo que queremos decir con, cómo medir si el tiempo del adversario es computacionalmente acotado o no. De la misma manera, la segunda relajación que tenemos que hacer en nuestro modelo es en lugar de decir que el adversario no debe aprender absolutamente nada sobre el mensaje subyacente, debemos darle al adversario alguna oportunidad de romper su esquema. Que alguna oportunidad de romper el esquema debería ser tan pequeña que para el propósito más práctico podemos ignorarlo. Por lo tanto, también hemos visto cómo definir matemáticamente una probabilidad tan pequeña de que el adversario rompa el esquema. Hemos visto que estas dos relajaciones son una especie de males necesarios para cualquier esquema de encriptación donde el objetivo sea lograr una reusabilidad clave. Porque si usted no hace estas dos relajaciones, entonces siempre hay 2 ataques extremos que son posibles, es decir, el ataque de adivinanzas y un ataque de fuerza bruta. La probabilidad de éxito del ataque de adivinación será muy, muy pequeña, pero el tiempo de ejecución de este ataque de adivinanzas será práctico, mientras que la probabilidad de éxito del ataque de la fuerza bruta será del 100%, pero el tiempo de ejecución del ataque de la fuerza bruta será extremadamente grande. Por lo tanto, tenemos que hacer definitivamente estas dos relajaciones. Espero que hayan disfrutado de esta conferencia. Gracias.
This is the name that will appear on your Certification
Introduce tu correo electronico. Te enviaremos un email con las instrucciones para restablecer tu contraseña.