El nivel de fortaleza criptográfica (nivel de seguridad en inglés) es un indicador de la fortaleza criptográfica de un algoritmo criptográfico , asociado a la complejidad computacional de realizar un ataque exitoso a un criptosistema con el algoritmo más rápido conocido [1] [2] . Normalmente se mide en bits . El nivel de N bits de fuerza criptográfica de un criptosistema significa que se necesitarán 2 N operaciones computacionales para descifrarlo. Por ejemplo, si un criptosistema simétrico se rompe no más rápido que la búsqueda exhaustiva de los valores de la clave de N bits, entonces decimos que el nivel de fuerza criptográfica es N. Un aumento de x veces el número de operaciones requeridas para la piratería aumenta el nivel de fortaleza criptográfica [3] .
Hay otros métodos que modelan con mayor precisión el número requerido de operaciones para romper, lo que facilita la comparación de algoritmos criptográficos y sus híbridos . [4] Por ejemplo, AES - 128 (tamaño de clave de 128 bits) está diseñado para proporcionar un nivel de seguridad de 128 bits, que se considera aproximadamente equivalente a RSA de 3072 bits .
Para los algoritmos simétricos, el nivel de fuerza criptográfica suele estar estrictamente definido, pero cambiará si aparece un criptoataque más exitoso. Para cifrados simétricos , generalmente es igual al tamaño de la clave de cifrado , lo que equivale a una enumeración completa de valores clave. [5] [6] Para funciones hash criptográficas con valores de longitud n bits , el ataque "cumpleaños" permite encontrar colisiones en promedio sobre el cálculo de la función hash. Por lo tanto, el nivel de fuerza criptográfica al encontrar colisiones es n/2 y al encontrar la preimagen - n . [7] Por ejemplo, SHA-256 proporciona protección contra colisiones de 128 bits y protección de preimagen de 256 bits.
También hay excepciones. Por ejemplo, Phelix y Helix son cifrados de 256 bits que proporcionan un nivel de seguridad de 128 bits. [5] Las versiones SHAKE de SHA-3 también son diferentes: para un tamaño de retorno de 256 bits, SHAKE-128 proporciona un nivel de seguridad de 128 bits para la detección de colisiones y preimagen. [ocho]
La criptografía asimétrica, como los criptosistemas de clave pública , utiliza funciones unidireccionales , es decir, funciones que se calculan fácilmente a partir del argumento pero con una alta complejidad computacional para encontrar el argumento a partir del valor de la función; sin embargo, los ataques a los sistemas de clave pública existentes suelen ser más rápidos que los brutos . forzar espacios clave. El nivel de fortaleza criptográfica de dichos sistemas se desconoce en el momento del desarrollo, pero se asume del ataque criptográfico más famoso en este momento. [6]
Hay varias recomendaciones para evaluar el nivel de fortaleza criptográfica de los algoritmos asimétricos, que difieren debido a las diferentes metodologías. Por ejemplo, para el criptosistema RSA en el nivel de seguridad de 128 bits, NIST y ENISA recomiendan usar claves de 3072 bits [9] [10] e IETF 3253. [11] [12] La criptografía elíptica permite el uso de claves más cortas, por lo que Se recomiendan 256-383 bits ( NIST ), 256 bits ( ENISA ) y 242 bits ( IETF ).
Dos criptosistemas proporcionan el mismo nivel de fuerza criptográfica si el esfuerzo esperado requerido para romper ambos sistemas es equivalente. [6] Dado que el concepto de esfuerzo se puede interpretar de varias maneras, hay dos formas de comparar: [13]
La tabla muestra estimaciones de los niveles máximos de fuerza criptográfica que pueden proporcionar los algoritmos criptográficos simétricos y asimétricos, dadas claves de cierta longitud, según las recomendaciones del NIST . [9]
Nivel de seguridad | Criptosistemas simétricos | FFC | IFC | ECC |
---|---|---|---|---|
≤ | 2TDEA | = 1024, = 160 | = 1024 | = 160-223 |
3TDEA | = 2048, = 224 | = 2048 | = 224-255 | |
AES-128 | = 3072, = 256 | = 3072 | = 256-383 | |
AES-192 | = 7680, = 384 | = 7680 | = 384-511 | |
AES-256 | = 15360, = 512 | = 15360 | = 512+ |
Donde es la longitud de la clave pública , es la longitud de la clave privada , es el tamaño del módulo n , es el tamaño del orden del punto .