Menú
Está libre
registro
hogar  /  Navegantes/ ¿Qué significa la longitud de la clave de cifrado? Criptografía de clave pública

¿Qué significa la longitud de la clave de cifrado? Criptografía de clave pública

Muchos algoritmos de cifrado modernos con Llave pública se basan en la unidireccionalidad de la función de factorización de un número que es el producto de dos números primos grandes. Estos algoritmos también pueden estar sujetos a un ataque de fuerza bruta contra cifrados de claves secretas, con una diferencia: no es necesario que pruebes cada clave, solo necesitas poder factorizar un número grande.

Por supuesto, factorizar un gran número es una tarea difícil. Sin embargo, surge inmediatamente una pregunta razonable, qué tan difícil. Desafortunadamente para los criptógrafos, la complejidad de la solución se reduce. Peor aún, esta dificultad está disminuyendo a un ritmo mucho más rápido de lo esperado. Por ejemplo, a mediados de la década de 1970, se creía que factorizar una cantidad de 125 dígitos llevaría decenas de cuatrillones de años. Y solo dos décadas después, con la ayuda de computadoras conectadas a Redes de internet, fue posible factorizar un número de 129 dígitos. Este avance fue posible gracias al hecho de que durante los últimos 20 años, no solo se han propuesto métodos de factorización nuevos y más rápidos. números grandes, sino que también aumentó el rendimiento de las computadoras utilizadas.

Por lo tanto, un criptógrafo experto debe tener mucho cuidado y discreción cuando se trata de la longitud de la clave pública. Es necesario tener en cuenta qué tan valiosa es la información clasificada con su ayuda y cuánto tiempo debe permanecer en secreto para los forasteros.

¿Por qué no tomar una clave de 10,000 bits? Después de todo, desaparecerán todas las preguntas relacionadas con la solidez del algoritmo de cifrado de clave pública asimétrica, que se basa en factorizar un gran número de factores. Pero el punto es que asegurarse de que el cifrado sea lo suficientemente fuerte no es la única preocupación del criptógrafo. Existen consideraciones adicionales que afectan la elección de la longitud de la clave, y entre ellas se encuentran cuestiones relacionadas con la implementación práctica del algoritmo de cifrado para la longitud de la clave seleccionada.

Para estimar la longitud de la clave pública, mediremos la potencia computacional disponible para el criptoanalista en los llamados años pug, es decir, el número de operaciones que una computadora es capaz de operar a una velocidad de 1 millón de operaciones por segundo. realiza en un año. Supongamos que un pirata informático tiene acceso a recursos informáticos con una potencia informática total de 10.000 pug-años, una gran empresa 107 pug-años, el gobierno 109 pug-años. Estos son números bastante reales, considerando que durante la implementación del proyecto de descomposición de un número de 129 dígitos mencionado anteriormente, sus participantes utilizaron solo el 0.03 \% de la potencia de cómputo de Internet, y para lograrlo, lo hicieron. No es necesario tomar medidas extraordinarias ni ir más allá de la ley.

Suponga también que la potencia de cálculo aumenta 10 veces cada 5 años, y el método que se utiliza para factorizar números grandes le permite hacerlo con la complejidad indicada en la Tabla. 6.3.

Cuadro 6.3. La complejidad de factorizar números grandes

Las suposiciones realizadas nos permiten estimar la longitud de una clave pública fuerte dependiendo del período durante el cual es necesario mantener los datos encriptados con su ayuda en secreto (Tabla 6.4). Debe recordarse que los algoritmos criptográficos de clave pública se utilizan a menudo para proteger Información valiosa durante un período de tiempo muy largo. Por ejemplo, en sistemas de pago electrónico o durante la notarización. firma electronica... La idea de pasar varios meses factorizando un gran número puede parecer muy atractiva para alguien, si como resultado podrá pagar sus compras con su tarjeta de crédito. Además, creo que la perspectiva de ser citado 20 años después a una audiencia judicial en la que se conozca un caso de sucesiones y defendiendo la imposibilidad de falsificar la firma electrónica de su abuelo, que utilizó para redactar un testamento a su favor, hace no sonreír para nada.

Con dado en la tabla. 6.4 No todos los criptógrafos de buena reputación están de acuerdo con los datos. Algunos de ellos se niegan rotundamente a hacer predicciones a largo plazo, considerándolas inútiles. Otros, por ejemplo, los expertos de la NSA, son demasiado optimistas y recomiendan para los sistemas de firma digital una longitud de clave pública de solo 512-1024 bits, que a la luz de los datos de la tabla. 6.4 es totalmente inadecuado para proporcionar una protección adecuada a largo plazo.

La confiabilidad de un criptosistema simétrico depende de la fuerza del algoritmo criptográfico utilizado y de la longitud de la clave secreta. Supongamos que el algoritmo en sí es perfecto; solo se puede abrir probando todos posibles claves... Este tipo de ataque criptoanalítico se denomina ataque de fuerza bruta. Para aplicar este método, un criptoanalista necesitará algún texto cifrado y el texto sin formato correspondiente. Por ejemplo, en el caso de un cifrado en bloque, le basta con tener a su disposición un bloque de texto sin formato cifrado y correspondiente. Esto no es tan difícil de hacer.

Un criptoanalista puede conocer de antemano el contenido de un mensaje y luego interceptarlo cuando se transmite en forma cifrada. Según algunas señales, también puede adivinar que el mensaje enviado no es más que Archivo de texto preparado con un editor común, una imagen de computadora en un formato estándar, un directorio del subsistema de archivos o una base de datos. Es importante para el criptoanalista que en cada uno de estos casos se conozcan varios bytes en el texto llano del mensaje cifrado interceptado, lo que le bastará para lanzar un ataque con conocimiento del texto llano.

Calcular la complejidad de un ataque de fuerza bruta es bastante sencillo. Si una clave tiene 64 bits de longitud, una supercomputadora que pueda probar 1 millón de claves en 1 segundo pasará más de 5 mil años comprobando todas las claves posibles. Si la longitud de la clave se incrementa a 12cS bits, la misma supercomputadora necesitará entre 10 y 25 años para iterar sobre todas las claves. El Universo ha existido desde hace sólo 10 "° años, por lo que podemos decir que 10- es un margen de seguridad suficientemente grande para quienes usan las teclas 128-5.

Sin embargo, antes de apresurarse a inventar apresuradamente un criptosistema con una longitud de clave de 4 KB, uno debe recordar la suposición anterior, a saber: el algoritmo de cifrado utilizado es ideal en el sentido de que solo se puede abrir mediante la fuerza bruta. Asegurarse de esto en la práctica no es tan fácil como podría parecer a primera vista. La criptografía requiere sofisticación y paciencia. Los nuevos criptosistemas supercomplejos, en un examen más detenido, a menudo resultan muy inestables. Y realizar incluso pequeños cambios en un algoritmo criptográfico sólido puede reducir significativamente su fuerza. Por lo tanto, es necesario utilizar solo cifrados probados, que se conocen desde hace muchos años, y no tener miedo de sospechar morbosamente de los últimos algoritmos de cifrado, independientemente de las declaraciones de sus autores sobre la absoluta confiabilidad de estos algoritmos.

También es importante no olvidarse de la regla de Kerkhoff: la fuerza del algoritmo de cifrado debe estar determinada por la clave y no por los detalles del algoritmo en sí. Para estar seguro de la fuerza del cifrado utilizado, no es suficiente analizarlo, siempre que el adversario esté completamente familiarizado con el algoritmo de cifrado. También es necesario considerar un ataque a este algoritmo, en el que el enemigo puede recibir cualquier cantidad de texto plano cifrado y correspondiente. Además, para mejorar la confiabilidad, se debe suponer que el criptoanalista tiene la capacidad de organizar un ataque con un texto sin formato elegido de longitud arbitraria.

Afortunadamente, en la vida real, la mayoría de las personas interesadas en el contenido de sus archivos cifrados no tienen la experiencia y los recursos informáticos de alto nivel que los gobiernos de las superpotencias del mundo tienen a su disposición. Es poco probable que estos últimos pierdan tiempo y dinero para leer su apasionado mensaje puramente personal. Sin embargo, si planeas derrocar "Antinacional gobierno ”, debe pensar seriamente en la solidez del algoritmo de cifrado utilizado.

La complejidad y el costo de un ataque de fuerza bruta

Un ataque de fuerza bruta suele ser un tipo de ataque de texto sin formato. Suponiendo que un ataque de fuerza bruta es el más eficaz de los posibles ataques contra el algoritmo de cifrado simétrico que está utilizando. entonces la clave debe ser lo suficientemente larga para repeler con éxito este ataque. ¿Cuánto tiempo?

Entre los parámetros que se deben tener en cuenta a la hora de considerar un ataque de fuerza bruta, en primer lugar, es necesario mencionar

El número total de claves que se verificarán y el tiempo que el adversario invirtió en verificar una clave. El número de claves para un algoritmo en particular suele ser fijo. Por ejemplo, el algoritmo DES utiliza una clave de 56 bits. Esto significa que su espacio de claves contiene 2 56 claves.

La velocidad de la verificación de claves es menos importante que el número de claves. Para simplificar la presentación, podemos suponer que independientemente del algoritmo de cifrado, el tiempo que lleva verificar una clave es el mismo. En la práctica, esta suposición es incorrecta y, para diferentes algoritmos criptográficos, este tiempo puede diferir decenas de veces. Dado que nuestro objetivo es encontrar una longitud de clave en la que la fuerza del algoritmo de cifrado contra un ataque de fuerza bruta sea millones de veces mayor que el límite que hace que este ataque sea inviable en la práctica, nuestra suposición está bastante justificada.

Al decidir sobre una longitud de clave suficiente, el algoritmo DES se considera más a menudo como un algoritmo de cifrado. En 1977, los criptólogos estadounidenses W. Diffie (W.Diffie) y M. Hellman (METRO Hellman) afirmó que en el nivel actual de desarrollo tecnologia computacional es posible construir una supercomputadora especializada para descifrar claves DES mediante el método de fuerza bruta. Con 1 millón de microcircuitos, cada uno de los cuales es capaz de verificar 1 millón de claves por segundo, esta supercomputadora pasaría por las 2,56 claves en 20 horas.

Un ataque de fuerza bruta es ideal para la implementación en una supercomputadora paralela con muchos procesadores. Los procesadores individuales que buscan una clave no necesitan establecer comunicación con otros procesadores de la supercomputadora durante su parte de la búsqueda. En consecuencia, todos los procesadores de una supercomputadora especializada diseñada para la búsqueda paralela de claves no están necesariamente ubicados ni siquiera en la misma ciudad, y mucho menos en una habitación.

En 1993, el criptólogo estadounidense M. Wiener (METRO.Wiener) diseñó una supercomputadora para un ataque de fuerza bruta en el algoritmo DES. El razonamiento de Wiener es cierto no solo para el algoritmo DES, sino también para casi cualquier otro algoritmo de cifrado. La supercomputadora, desarrollada por Wiener, consta de microcircuitos, placas y racks especializados. Según Wiener, para garantizar la apertura de una clave de 56 bits en 7 horas, la fabricación de dicha supercomputadora no requerirá más de $ 1 millón. Según la Ley de Moore, la potencia informática de las computadoras se captura cada 18 meses. Por lo tanto, para 2001, el costo de la supercomputadora inventada por Wiener disminuirá 10 veces y ascenderá a solo 100 mil dólares. Esto significa que ya ahora las grandes empresas y "Frio»Las estructuras criminales pueden descifrar claves de 56 bits. Las claves de 64 bits están disponibles para los criptoanalistas militares en la mayoría de los países industrializados.

En 1996, Diffie, Wiener y otros criptólogos estadounidenses autorizados publicaron los resultados de su trabajo de investigación para determinar la longitud de la clave necesaria para proteger adecuadamente la información de los ataques de fuerza bruta. (pestaña. 6.1).

Cuadro 6.1. El costo y la complejidad computacional de un ataque de fuerza bruta

Quien ataca

Complejidad del ataque

Clave fuerte

Pequeños negocios

10 mil dolares

Gran compañía

USD 10 millones

Agencia Federal

$ 300 millones

A los dados en tabla. 6.1 números deben tratarse con precaución. Cálculo teórico de los costes de los ataques de fuerza bruta sobre claves criptográficas diferentes longitudes es siempre significativamente diferente de lo que los criptoanalistas encuentran en la práctica cuando compran o desarrollan supercomputadoras para llevar a cabo este tipo de ataque. Esto se explica por el hecho de que algunos de los supuestos realizados están muy lejos de la realidad, mientras que otros factores simplemente no se tienen en cuenta. En este caso, Diffie, Wiener y otros calcularon que se utilizarían microcircuitos hechos a medida con un precio de no más de $ 10 para crear una supercomputadora especializada para un ataque de fuerza bruta. Según estimaciones de la NSA, tales microcircuitos suelen ser 100 veces más caro. La NSA planteó dudas y la suposición de que, independientemente del algoritmo de cifrado, solo la longitud de la clave determina la complejidad de un ataque criptoanalítico. Además, en la tabla no se incluyeron los costos de I + D, que por lo general ascienden a al menos $ 10 millones para una primera supercomputadora. Tampoco se tomaron en cuenta los costos de adquisición de memoria de computadora.

Se puede sacar una conclusión muy importante de lo dicho. Si alguien realmente quiere saber la clave que usó, solo necesita gastar una cantidad suficiente de dinero. Por tanto, el factor decisivo es el coste de la información cifrada. Si su precio en un día de mercado es de alrededor de $ 2, casi nadie se atrevería a gastar $ 1 millón para conseguirlo. Pero si el beneficio de leer su cifrado es de $ 100 millones, ¡tenga cuidado! El único consuelo es el hecho de que, con el tiempo, cualquier información se vuelve obsoleta y pierde su valor muy rápidamente.

Ataque de software

Sin hardware informático especializado para buscar claves en paralelo, es mucho menos probable que un ataque de fuerza bruta tenga éxito. Sin embargo, si no ha ahorrado un millón de dólares extra para gastar en la fabricación de dicho equipo, existe otra forma más barata de intentar descifrar la clave que le interesa.

El mundo tiene gran cantidad ordenadores (sobre según los expertos, en 1996 su número alcanzó los 200 millones), que, para no estar inactivos, pudieron probar las claves. Un experimento realizado a principios de 1997 demostró que de esta forma se puede abrir una clave de 48 bits en dos semanas. Y aunque esta clave fue encontrada por fuerza bruta luego de verificar algo más de la mitad de todas las claves posibles, el resultado es impresionante, ya que no se utilizaron más de 5 mil computadoras de los 200 millones existentes durante el ataque, y en total, solo 7 miles de computadoras estuvieron involucradas en el ataque ...

El principal obstáculo para utilizar los millones de dispositivos informáticos repartidos por todo el mundo es la imposibilidad de lograr que sus propietarios participen en el ataque. Por supuesto, puede pedirle amablemente un favor a cada uno de ellos, pero, en primer lugar, llevará mucho tiempo y, en segundo lugar, la respuesta en la mayoría de los casos probablemente será una respuesta firme. "No". Puede intentar colarse en las computadoras de otras personas a través de la red, pero esto llevará aún más tiempo y, además, puede ser arrestado.

Parece más razonable crear Virus de computadora que en lugar de borrar archivos con disco duro y mostrar mensajes estúpidos en la pantalla, desapercibidos para el propietario de la computadora, resolverá posibles claves. Los estudios han demostrado que un virus tendrá entre el 70 y el 90% del tiempo de CPU de una computadora infectada. Después de abrir la llave, el virus puede generar nuevo virus que contenga información sobre la clave encontrada y envíelo a deambular Red de computadoras hasta que llegue a su amo.

Con un enfoque más sutil, el virus que detecta la clave mostrará información del formulario en la pantalla de la computadora:

¡SE HA DETECTADO UN ERROR GRAVE EN SU COMPUTADORA!

POR FAVOR LLAME POR TELÉFONO (095 )123-45-67

Y LEA EL SIGUIENTE NÚMERO DE 48 BITS AL OPERADOR:

XXXXXXXX XXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXX

EL PRIMERO EN INFORMAR ESTE ERROR ESTÁ GARANTIZADO

RECOMPENSA EN TAMAÑO DE 100 (STA) DÓLARES.

Si el virus logra infectar 10 millones de computadoras, cada una de las cuales verifica al menos 1,000 claves por segundo, entonces se encontrará una clave de 56 bits en menos de 3 meses. Además, tendrá que desembolsar para sobornar a los fabricantes software antivirus Sin embargo, este problema no tiene nada que ver con la criptografía informática de la que estamos hablando ahora.

Lotería china

Supongamos que para un ataque de fuerza bruta, se incorpora un microcircuito especial en cada radio y televisor chino, sin excepción, que verifica 1 millón de claves por segundo. Cada uno de ellos itera automáticamente sobre su propio subconjunto de claves después de recibir desde el aire fragmentos del texto sin formato cifrado y correspondiente. Tan pronto como el gobierno chino desee abrir cualquier llave, aprueba un decreto que obliga a todos los propietarios de televisores y radios a encender sus dispositivos en tiempo específico para que puedan aceptar un par de fragmentos de texto y comenzar a iterar sobre las claves.

Se otorga un premio significativo por la clave encontrada. Gracias a esto, las radios y televisores con microcircuitos incorporados se agotan bien y las llaves abiertas se notifican al gobierno chino de manera oportuna. Si tenemos en cuenta que cada uno de los diez chinos tiene radio o televisión, resulta que el gobierno chino tardará como máximo 43 horas en abrir una clave de 64 bits. Mesa 6.2 muestra la complejidad de romper una clave de 64 bits usando "Chino lotería "cuando se lleva a cabo en China, así como en los Estados Unidos, Irak e Israel.

Cuadro 6.2. La complejidad de romper una clave de 64 bits usando "Chino lotería "

Claves criptográficas

Se sabe que todos los algoritmos de cifrado, sin excepción, utilizan claves criptográficas. Es por ello que una de las tareas de la criptografía es la gestión de claves, es decir, su generación, acumulación y distribución. Si n usuarios están registrados en una red informática y todos pueden contactar con todos, entonces para ello es necesario tener n * (n-1) / 2 claves diferentes. En este caso, cada uno de los n usuarios debe recibir una clave (n-1), ya que la confiabilidad de la protección de la información confidencial depende en gran medida de su elección. La elección de la clave para el criptosistema es de particular importancia.

Además, dado que casi cualquier clave criptográfica pueden ser revelados por un intruso, entonces es necesario utilizar ciertas reglas para seleccionarlos, generarlos, almacenarlos y actualizarlos durante las sesiones de intercambio de mensajes secretos, así como su entrega de una manera segura a los destinatarios. También se sabe que los criptosistemas de clave única requieren un canal de comunicación seguro para la gestión de claves. Para los criptosistemas de dos teclas, no hay necesidad de un canal de comunicación de este tipo.

El proceso de generación de claves debe ser aleatorio. Para hacer esto, puede usar generadores de números aleatorios, así como su combinación con algún factor impredecible, por ejemplo, la elección de bits de las lecturas del temporizador. Al acumular, las claves no se pueden escribir explícitamente en los medios. Para aumentar la seguridad, la clave debe estar encriptada con una clave diferente, otra con una tercera y así sucesivamente. La ultima llave no es necesario cifrarlo en esta jerarquía, pero debe colocarse en una pieza segura de hardware. Esta clave se llama clave maestra.

Las claves seleccionadas deben distribuirse de tal manera que no haya un patrón en el cambio de claves de un usuario a otro. Además, es necesario prever un cambio frecuente de claves, y la frecuencia de su cambio está determinada por dos factores: el tiempo de vigencia y la cantidad de información cerrada con su uso.

Las claves criptográficas varían en longitud y, por lo tanto, en fuerza: cuanto más larga es la clave, mayor es el número de combinaciones posibles. Digamos que si el programa de cifrado usa claves de 128 bits, entonces su clave específica será una de las 2128 combinaciones posibles de ceros y unos. Es más probable que un atacante gane la lotería que que rompa este nivel de cifrado utilizando el " fuerza bruta(Es decir, revisar sistemáticamente las claves hasta encontrar la correcta). A modo de comparación, un especialista en cifrado tardará unas 6 horas en encontrar una clave simétrica de 40 bits en una computadora estándar. Incluso los cifrados con clave de 128 bits son vulnerables hasta cierto punto, ya que los profesionales cuentan con técnicas sofisticadas que permiten descifrar incluso los códigos más complejos.



La confiabilidad de un criptosistema simétrico depende de la fuerza del algoritmo criptográfico utilizado y de la longitud de la clave secreta. Supongamos que el algoritmo en sí es perfecto: solo se puede romper probando todas las claves posibles.

cuyo. Este tipo de ataque criptoanalítico se denomina ataque de fuerza bruta. Aplicar este método, el criptoanalista necesitará algún texto cifrado y el correspondiente texto sin formato. Por ejemplo, en el caso de un cifrado de bloques, le basta con tener a su disposición un bloque de texto sin formato cifrado y correspondiente. Esto no es tan difícil de hacer.

Un criptoanalista puede conocer de antemano el contenido de un mensaje y luego interceptarlo cuando se transmite en forma cifrada. Según algunos indicios, también puede adivinar que el mensaje enviado no es más que un archivo de texto elaborado con un editor común, una imagen de computadora en formato estándar, un directorio del subsistema de archivos o una base de datos. Es importante para el criptoanalista que en cada uno de estos casos se conozcan varios bytes en el texto plano del mensaje cifrado interceptado, lo que le bastará para lanzar un ataque.

Calcular la complejidad de un ataque de fuerza bruta es bastante sencillo. Si una clave tiene 64 bits de longitud, una supercomputadora que pueda probar 1 millón de claves en 1 segundo pasará más de 5000 años comprobando todas las claves posibles. Si la longitud de la clave se incrementa a 128 bits, la misma supercomputadora necesitará 1025 años para iterar sobre todas las claves. Podemos decir que 1025 es un margen de seguridad bastante grande para quienes usan claves de 128 bits.

Sin embargo, antes de apresurarse a inventar apresuradamente un criptosistema con una longitud de clave de, por ejemplo, 4000 bytes, uno debe recordar la suposición anterior: el algoritmo de cifrado utilizado es ideal en el sentido de que solo puede romperse mediante la fuerza bruta. Asegurarse de esto en la práctica no es tan fácil como podría parecer a primera vista.

La criptografía requiere sofisticación y paciencia. Los nuevos criptosistemas supercomplejos, en una inspección más cercana, a menudo resultan muy inestables. Y realizar incluso pequeños cambios en un algoritmo criptográfico sólido puede reducir significativamente su fuerza. Por lo tanto, es necesario utilizar solo cifrados probados, que se conocen desde hace muchos años, y no tener miedo de sospechar morbosamente de los últimos algoritmos de cifrado, independientemente de las declaraciones de sus autores sobre la absoluta confiabilidad de estos algoritmos.

También es importante no olvidar que la fuerza del algoritmo de cifrado debe estar determinada por la clave y no por los detalles del algoritmo en sí. Para estar seguro de la fuerza del cifrado utilizado, no es suficiente analizarlo, siempre que el adversario esté completamente familiarizado con el algoritmo de cifrado. También es necesario considerar un ataque a este algoritmo, en el que el enemigo puede recibir cualquier cantidad de texto plano cifrado y correspondiente. Además, se debe suponer que el criptoanalista tiene la capacidad de organizar un ataque con un texto plano elegido de longitud arbitraria.

Afortunadamente, en la vida real, la mayoría de las personas interesadas en el contenido de sus archivos cifrados no tienen las calificaciones de los especialistas de clase alta y los recursos informáticos necesarios que los gobiernos de las superpotencias del mundo tienen a su disposición. Es poco probable que estos últimos pierdan tiempo y dinero para leer su Yosil ardiente y puramente personal. Sin embargo, si planeas

Si está tratando de derrocar al "gobierno antipopular", debe pensar seriamente en la fuerza del algoritmo de cifrado utilizado.

Muchos algoritmos modernos de cifrado de clave pública se basan en la factorización unidireccional de un número que es el producto de dos números primos grandes. Estos algoritmos también pueden estar sujetos a un ataque de fuerza bruta contra cifrados de claves secretas, con una diferencia: no es necesario que pruebes cada clave, solo necesitas poder factorizar un número grande.

Por supuesto, factorizar un gran número es una tarea difícil. Sin embargo, surge inmediatamente una pregunta razonable, qué tan difícil. Desafortunadamente para los criptógrafos, la solución se está simplificando, y lo que es peor, a un ritmo significativamente más rápido de lo esperado. Por ejemplo, a mediados de la década de 1970, se creía que factorizar una cantidad de 125 dígitos llevaría decenas de cuatrillones de años. Y solo dos décadas después, con la ayuda de computadoras conectadas a Internet, fue posible factorizar rápidamente un número que consta de 129 dígitos. Este avance fue posible debido al hecho de que durante los últimos 20 años, no solo se han propuesto métodos nuevos y más rápidos para factorizar grandes números, sino que también ha aumentado el rendimiento de las computadoras utilizadas.

Por lo tanto, un criptógrafo calificado debe ser muy cuidadoso y discreto cuando trabaje con una clave pública larga. Es necesario tener en cuenta qué tan valiosa es la información clasificada con su ayuda y cuánto tiempo debe permanecer en secreto para los forasteros.

¿Por qué no tomar una clave de 10,000 bits? Después de todo, todas las preguntas relacionadas con la solidez de un algoritmo de cifrado de clave pública asimétrico basado en factorizar un gran número desaparecerán. Pero el punto es que proporcionar suficiente fuerza del cifrado no es la única preocupación del criptógrafo. Existen consideraciones adicionales que afectan la elección de la longitud de la clave, y entre ellas se encuentran cuestiones relacionadas con la implementación práctica del algoritmo de cifrado para la longitud de la clave seleccionada.

Para estimar la longitud de la clave pública, mediremos la potencia computacional disponible para los criptoanalistas en los llamados años pug, es decir, el número de operaciones que realiza una computadora capaz de operar a una velocidad de 1 millón de operaciones por segundo. en un año. Digamos que un atacante tiene acceso a los recursos informáticos de un poder computacional 1000 años pug, gran corporación 107 años pug, gobierno 109 años pug. Estos son números bastante reales, considerando que durante la implementación del proyecto de descomposición de un número de 129 dígitos mencionado anteriormente, sus participantes utilizaron solo el 0.03% de la potencia de cómputo de Internet, y para lograrlo, no lo hicieron. necesidad de tomar medidas extraordinarias o ir más allá de la ley ... De la mesa. 4.6 puede ver cuánto tiempo lleva descomponer números de diferentes longitudes.

Las suposiciones realizadas nos permiten estimar la longitud de una clave pública fuerte dependiendo del período durante el cual es necesario mantener los datos encriptados con su ayuda en secreto (Tabla 4.7). Debe recordarse que los algoritmos criptográficos de clave pública se utilizan a menudo para proteger información muy valiosa durante un período de tiempo muy largo. Por ejemplo, en sistemas de electrónica

Cuadro 4.6. Relación entre la longitud de los números y el tiempo necesario para factorizarlos

o al notarizar una firma electrónica. La idea de pasar varios meses factorizando una gran cantidad de factores puede parecer muy atractiva para alguien si, como resultado, podrá pagar sus compras con la tarjeta de crédito de otra persona.

Con dado en la tabla. 4.7 No todos los criptógrafos están de acuerdo con los datos. Algunos de ellos se niegan rotundamente a hacer predicciones a largo plazo, considerándolo inútil, mientras que otros son demasiado optimistas y recomiendan para los sistemas de firma digital una longitud de clave pública de solo 512-1024 bits, que es completamente insuficiente para garantizar una protección adecuada a largo plazo. .

Un ataque criptoanalítico contra un algoritmo de cifrado suele dirigirse al punto más vulnerable del algoritmo de cifrado. Para organizar la comunicación cifrada, a menudo se utilizan algoritmos criptográficos con claves públicas y secretas. Tal criptosistema se llama híbrido. La fuerza de cada uno de los algoritmos incluidos en el criptosistema híbrido debe ser suficiente para resistir con éxito un ataque. Por ejemplo, es una tontería utilizar un algoritmo simétrico con una longitud de clave de 128 bits junto con un algoritmo asimétrico en el que la longitud de la clave es de solo 386 bits. Por el contrario, no tiene sentido utilizar el algoritmo de clave simétrica de 56 bits junto con el algoritmo asimétrico con la clave de 1024 bits.

Cuadro 4.8. Longitudes de clave para algoritmos simétricos y asimétricos

cifrado con la misma fuerza

Mesa 4.8 enumera los pares de longitudes de clave para un algoritmo criptográfico simétrico y asimétrico, para el cual la fuerza de ambos algoritmos contra un ataque criptoanalítico de fuerza bruta es aproximadamente la misma. De estos datos, se deduce que si se usa un algoritmo simétrico con una clave de 112 bits, entonces se debe usar un algoritmo asimétrico con una clave de 1792 bits. Sin embargo, en la práctica, la clave para un algoritmo de cifrado asimétrico suele elegirse más segura que para uno simétrico, ya que con la ayuda del primero se protegen cantidades mucho mayores de información y durante un período más largo.

clave pública, señaló que este requisito niega toda la esencia de la criptografía, es decir, la capacidad de mantener el secreto general en las comunicaciones.

La segunda tarea es la necesidad de crear este tipo de mecanismos, en cuyo caso sería imposible sustituir a alguno de los participantes, es decir. necesitar firma digital... Cuando se utilizan comunicaciones para una amplia gama de fines, como con fines comerciales y privados, los correos electrónicos y los documentos deben tener el equivalente a la firma contenida en los documentos en papel. Es necesario crear un método mediante el cual todos los participantes estén convencidos de que mensaje electronico fue enviado por un participante específico. Este es un requisito más estricto que la autenticación.

Diffie y Hellman han logrado resultados significativos al ofrecer una forma de resolver ambos problemas que es radicalmente diferente de todos los enfoques anteriores del cifrado.

Veamos primero las características comunes. algoritmos de cifrado con una clave pública y los requisitos para estos algoritmos. Definamos los requisitos que debe cumplir un algoritmo que utiliza una clave para el cifrado y otra clave para el descifrado, y es computacionalmente imposible determinar la clave de descifrado conociendo solo el algoritmo de cifrado y la clave de cifrado.

Además, algunos algoritmos, como RSA, tienen la siguiente característica: cada una de las dos claves se puede utilizar tanto para el cifrado como para el descifrado.

Primero, consideraremos los algoritmos que tienen ambas características y luego pasaremos a los algoritmos de clave pública que no tienen la segunda propiedad.

Al describir cifrado simétrico y cifrado de clave pública utilizaremos la siguiente terminología. La clave utilizada en cifrado simétrico, llamaremos llave secreta... Las dos claves utilizadas en el cifrado de clave pública se llamarán Llave pública y llave privada... La clave privada se mantiene en secreto, pero la llamaremos clave privada, no secreta, para evitar confusiones con la clave utilizada en cifrado simétrico... La clave privada se denominará KR, la clave pública será KU.

Asumiremos que todos los participantes tienen acceso a las claves públicas de los demás y que las claves privadas las genera localmente cada participante y, por lo tanto, no deben distribuirse.

En cualquier momento, el participante puede cambiar su llave privada y publicar la clave pública de composición, reemplazando la clave pública anterior por ella.

Diffie y Hellman describen los requisitos que deben cumplirse algoritmo de cifrado con una clave pública.

  1. Es computacionalmente fácil crear un par (clave pública KU, clave privada KR).
  2. Es computacionalmente fácil, dada la clave pública y el mensaje M sin cifrar, crear el mensaje cifrado correspondiente:
  3. Es computacionalmente fácil descifrar un mensaje usando la clave privada:

    M = D KR [C] = D KR]

  4. Es computacionalmente imposible, conociendo la clave pública KU, determinar la clave privada KR.
  5. Es computacionalmente imposible, conociendo la clave pública KU y el mensaje cifrado C, recuperar el mensaje original M.

    Se puede agregar un sexto requisito, aunque no se aplica a todos los algoritmos de clave pública:

  6. Las funciones de cifrado y descifrado se pueden utilizar en cualquier orden:

    M = E KU]

Estos son requisitos bastante estrictos que introducen el concepto. Función unidireccional se llama una función en la que cada argumento tiene un único valor inverso, mientras que calcular la función en sí es fácil, pero calcular la función inversa es difícil.

Por lo general, "fácil" significa que el problema se puede resolver en tiempo polinomial a partir de la longitud de la entrada. Por tanto, si la longitud de entrada tiene n bits, entonces el tiempo de cálculo de la función es proporcional an a, donde a es una constante fija. Por tanto, se dice que el algoritmo pertenece a la clase de algoritmos polinomiales P. El término "difícil" significa un concepto más complejo. En el caso general, asumiremos que el problema no se puede resolver si los esfuerzos para resolverlo son más largos que el tiempo polinomial del valor de entrada. Por ejemplo, si la longitud de entrada es n bits y el tiempo de cálculo de la función es proporcional a 2 n, entonces esto se considera una tarea computacionalmente imposible. Desafortunadamente, es difícil determinar si un algoritmo en particular presenta esta complejidad. Además, la comprensión tradicional de la complejidad computacional se centra en el peor de los casos o el caso medio de la complejidad de un algoritmo. Esto es inaceptable para la criptografía, donde se requiere no poder invertir la función para todos o casi todos los valores de entrada.

Volvamos a la definición función unidireccional con techo corredizo que, como función unidireccional, es fácil calcular en una dirección y es difícil calcular en la dirección opuesta hasta que algunos información adicional... Con esta información adicional, la inversión se puede calcular en tiempo polinomial. Por lo tanto, función unidireccional con una trampilla pertenece a la familia funciones unidireccionales joder tal que

Vemos que el desarrollo de un algoritmo de clave pública particular depende del descubrimiento de la correspondiente función unidireccional con techo corredizo.

Criptoanálisis de algoritmos de clave pública

Como en el caso cifrado simétrico, algoritmo de cifrado con una clave pública es vulnerable a un ataque frontal. La contramedida es estándar: use teclas grandes.

Un criptosistema de clave pública emplea ciertas funciones matemáticas... La complejidad computacional de tales funciones no es lineal en el número de bits de la clave, pero aumenta más rápido que la clave. Por lo tanto, el tamaño de la clave debe ser lo suficientemente grande para que un ataque frontal sea impráctico y lo suficientemente pequeño como para permitir un cifrado práctico. En la práctica, el tamaño de la clave está hecho para que un ataque frontal no sea práctico, pero el resultado es que la velocidad de cifrado es lo suficientemente lenta para el uso general del algoritmo. Por lo tanto, el cifrado de clave pública se limita actualmente principalmente a la gestión de claves y las aplicaciones de firma que requieren el cifrado de un pequeño bloque de datos.

Otra forma de ataque es encontrar una forma de calcular la clave privada conociendo la clave pública. Es imposible probar matemáticamente que forma dada Los ataques están descartados para un algoritmo de clave pública específico. Por lo tanto, cualquier algoritmo, incluido el algoritmo RSA ampliamente utilizado, es sospechoso.

Por último, existe una forma de ataque específica a la forma en que se utilizan los sistemas de clave pública. Este es un probable ataque de mensaje. Supongamos, por ejemplo, que el mensaje que se envía consta únicamente de una clave de sesión de 56 bits para un algoritmo de cifrado simétrico. El adversario puede cifrar todas las claves posibles utilizando la clave pública y puede descifrar cualquier mensaje que coincida con el texto cifrado que se transmite. Por lo tanto, independientemente del tamaño de la clave del esquema de clave pública, el ataque se reduce a un ataque frontal en el sistema de 56 bits. clave simétrica... La defensa contra tal ataque consiste en agregar una cierta cantidad de bits aleatorios a mensajes simples.

Las principales formas de utilizar algoritmos de clave pública

Los principales usos de los algoritmos de claves públicas son el cifrado / descifrado, la generación y verificación de firmas y el intercambio de claves.

Cifrado con una clave pública consta de los siguientes pasos:


Arroz. 7.1.

  1. El usuario B crea un par de claves KU by KR b que se utilizan para cifrar y descifrar los mensajes transmitidos.
  2. El usuario B pone a disposición su clave de cifrado de alguna manera confiable, es decir, clave pública KU b. La clave privada KR b que forma el par se mantiene en secreto.
  3. Si A quiere enviar un mensaje a B, cifra el mensaje usando la clave pública de B, KU b.
  4. Cuando B recibe un mensaje, lo descifra usando su clave privada KR b. Nadie más podrá descifrar el mensaje, ya que solo B conoce esta clave privada.

Si el usuario (sistema final) almacena de forma segura su clave privada, nadie podrá espiar los mensajes que se transmiten.

La creación y verificación de firmas consta de los siguientes pasos:


Arroz. 7.2.
  1. El usuario A crea un par de claves KR A y KU A que se utilizan para crear y verificar la firma de los mensajes transmitidos.
  2. El usuario A pone a disposición su clave de verificación de alguna manera confiable, p. Ej.

El objetivo principal del uso de certificados SSL es cifrar los datos transmitidos al servidor desde el cliente y al cliente desde el servidor. Para garantizar la seguridad de dicha conexión, los navegadores modernos utilizan el algoritmo TLS basado en certificados X.509. Este algoritmo aplica cifrado asimétrico para crear una clave de sesión para cifrado simétrico. Este último se utiliza directamente para transferir datos después de establecer una conexión segura.

¿Qué es una clave en criptografía?

Una clave en criptografía es una información secreta que se utiliza en criptografía para cifrar y decodificar mensajes, colocar una firma digital y verificarla, calcular códigos de autenticación de mensajes, etc. La fiabilidad de una clave está determinada por la denominada longitud de la clave, que se mide en bits. La longitud de la clave estándar para los certificados SSL es de 128 o 256 bits. La longitud de la clave del certificado raíz no debe ser inferior a 4096 bits. Todas las autoridades de certificación con las que cooperamos proporcionan certificados SSL con una clave que cumple totalmente con los estándares modernos:

Clave pública y privada en cifrado asimétrico

Usos de cifrado asimétrico par de llaves: public (clave pública) y cerrado, también llamado secreto (Llave privada). Las claves pública y privada en este caso permiten que el algoritmo criptográfico cifre y descifre el mensaje. Sin embargo, los mensajes cifrados con una clave pública solo se pueden descifrar utilizando una clave privada. La clave pública se publica en el certificado del propietario y está disponible para el cliente que se conecta, mientras que el propietario del certificado conserva la clave privada. Las claves pública y privada están interconectadas por dependencias matemáticas, por lo que es imposible encontrar una clave pública o privada en poco tiempo (período de validez del certificado). Es por eso que el período de validez máximo para los certificados SSL de un nivel de seguridad superior es siempre menor. Por lo tanto, puede realizar pedidos por un máximo de 2 años. Al mismo tiempo, al solicitar un nuevo certificado SSL o renovar uno antiguo, es importante generar una nueva solicitud de CSR, ya que su clave privada está vinculada a ella y es mejor renovarla cuando se emite un nuevo certificado SSL. La interacción entre el cliente y el servidor es la siguiente:
  1. el navegador cifra la solicitud basándose en la clave pública y la envía al servidor;
  2. el servidor, utilizando la clave privada, descifra el mensaje recibido;
  3. el servidor cifra su identificador digital con una clave privada y lo transmite al cliente;
  4. el cliente verifica el identificador del servidor y transmite el suyo propio;
  5. después de la autenticación mutua, el cliente cifra la clave de la sesión futura con la clave pública y la transmite al servidor;
  6. todos los mensajes posteriores que se transmiten entre el cliente y el servidor se firman con la clave de sesión y se cifran con las claves pública y privada.
Así, se proporcionan varios puntos de seguridad:
  • se excluye la posibilidad de fuga de información: si se intercepta, no será posible descifrarla;
  • el servidor confirma su dirección e identificador, se corta la posibilidad de redirigir a otro sitio (phishing);
  • al cliente se le asigna una sesión individual, lo que permite distinguirlo de otros clientes de manera más confiable;
  • una vez que se ha establecido una sesión segura, todos los mensajes se cifran utilizando el identificador de cliente y no pueden ser interceptados o modificados sin ser detectados.

En general, el cifrado de claves públicas y privadas puede verse como un caso en el que se utilizan dos claves: una solo se puede cerrar y la otra se puede abrir. Si la caja se cerró con la primera llave, solo la segunda puede abrirla; si se cerró con la segunda, para abrirla se requiere la primera. Esto se puede ver claramente en el diagrama de arriba.