En criptografía , los números de nada en la manga son cualquier número que, por su construcción, está por encima de la sospecha de propiedades ocultas. Se utilizan para crear funciones criptográficas como hashes y cifrados . Estos algoritmos a menudo necesitan constantes aleatorias para fines de mezcla o inicialización. El criptógrafo puede desear elegir estos valores de una manera que demuestre que las constantes no fueron seleccionadas con un propósito nefasto, por ejemplo, para crear una puerta trasera al algoritmo. [1] Estos temores se pueden disipar mediante el uso de números creados de una manera que deje poco espacio para el ajuste. Un ejemplo sería el uso de dígitos iniciales del número πcomo las constantes. [2] Usar dígitos de π millones de lugares después del punto decimal no se consideraría confiable porque el diseñador del algoritmo podría haber seleccionado ese punto de partida porque creó una debilidad secreta que el diseñador podría explotar más tarde.
Se cree que los dígitos en las representaciones posicionales de números reales como π , e y raíces irracionales aparecen con la misma frecuencia (ver número normal ). Estos números pueden verse como el extremo opuesto de los números aleatorios de Chaitin-Kolmogorov en el sentido de que parecen aleatorios pero tienen una entropía de información muy baja . Su uso está motivado por la controversia inicial sobre el Estándar de cifrado de datos de 1975 del gobierno de los EE. UU . , Que fue objeto de críticas porque no se proporcionó una explicación para las constantes utilizadas en su caja S (aunque más tarde se descubrió que habían sido cuidadosamente seleccionadas para proteger contra el entonces -Técnica clasificada de criptoanálisis diferencial ). [3] Por lo tanto, se sintió la necesidad de una forma más transparente de generar constantes utilizadas en criptografía.
"Nada bajo la manga" es una frase asociada con los magos , que a veces introducen un truco de magia al abrir la manga para mostrar que no tienen objetos escondidos en su interior.
Ejemplos de
- Ron Rivest usó la función seno trigonométrica para generar constantes para el hash MD5 ampliamente utilizado . [4]
- La Agencia de Seguridad Nacional de Estados Unidos usó las raíces cuadradas de números enteros pequeños para producir las constantes usadas en su "Algoritmo Hash Seguro" SHA-1 . Las funciones SHA-2 usan raíces cuadradas y raíces cúbicas de números primos pequeños . [5] SHA-1 también usa 0123456789ABCDEFFEDCBA9876543210F0E1D2C3 como su valor hash inicial.
- El algoritmo de cifrado Blowfish utiliza la representación binaria de π (sin los 3 iniciales) para inicializar su programación de claves . [2]
- RFC 3526 describe números primos para el intercambio de claves de Internet que también se generan a partir de π .
- La caja S del cifrado NewDES se deriva de la Declaración de Independencia de los Estados Unidos . [6]
- El candidato AES DFC deriva todas sus constantes arbitrarias, incluidas todas las entradas de la caja S, de la expansión binaria de e . [7]
- El programa de claves ARIA utiliza la expansión binaria de 1 / π . [8]
- El programa de claves del cifrado RC5 utiliza dígitos binarios tanto de e como de la proporción áurea . [9]
- La función hash BLAKE , finalista del concurso SHA-3 , utiliza una tabla de 16 palabras constantes que son los primeros 512 o 1024 bits de la parte fraccionaria de π .
- La programación de claves del cifrado KASUMI usa 0x123456789ABCDEFFEDCBA9876543210 para derivar la clave modificada.
- La familia de cifrados Salsa20 utiliza la cadena ASCII "expand 32-byte k" como constantes en su proceso de inicialización de bloques.
Contraejemplos
- Se afirmó que la caja S de la función hash de Streebog se generaba aleatoriamente, pero se realizó ingeniería inversa y se demostró que se generaba algorítmicamente con algunas debilidades "desconcertantes". [10]
- El Estándar de cifrado de datos (DES) tiene constantes que fueron entregadas por la NSA. Resultaron estar lejos de ser aleatorios, pero en lugar de ser una puerta trasera , hicieron que el algoritmo fuera resistente al criptoanálisis diferencial , un método que no se conocía públicamente en ese momento. [3]
- Dual_EC_DRBG , un generador de bits pseudoaleatorios criptográficos recomendado por NIST , fue criticado en 2007 porque las constantes recomendadas para su uso en el algoritmo podrían haber sido seleccionadas de una manera que permitiría a su autor predecir salidas futuras dada una muestra de valores generados en el pasado. [1] En septiembre de 2013, The New York Times escribió que "los memorandos internos filtrados por un antiguo contratista de la NSA, Edward Snowden , sugieren que la NSA generó uno de los generadores de números aleatorios utilizados en un estándar NIST de 2006, llamado estándar Dual EC DRBG. que contiene una puerta trasera para la NSA ". [11]
- Las curvas P están estandarizadas por NIST para la criptografía de curva elíptica . Los coeficientes en estas curvas se generan mediante el hash de semillas aleatorias inexplicables , como:
- P-224:
bd713447 99d5c7fc dc45b59f a3b9ab8f 6a948bc5
. - P-256:
c49d3608 86e70493 6a6678e1 139d26b7 819f7e90
. - P-384:
a335926a a319a27a 1d00896a 6773a482 7acdac73
.
- P-224:
Aunque no está directamente relacionado, después de que se expuso la puerta trasera en Dual_EC_DRBG, los aspectos sospechosos de las constantes de la curva P del NIST [12] llevaron a preocupaciones [13] de que la NSA había elegido valores que les daban una ventaja para encontrar [14] claves privadas. [15] Desde entonces, muchos protocolos y programas comenzaron a utilizar Curve25519 como alternativa a la curva NIST P-256.
Ya no confío en las constantes. Creo que la NSA los ha manipulado a través de sus relaciones con la industria.
- Bruce Schneier , La NSA está rompiendo la mayoría del cifrado en Internet (2013) [16]
Limitaciones
Bernstein y sus coautores demuestran que el uso de números de nada en la manga como punto de partida en un procedimiento complejo para generar objetos criptográficos, como curvas elípticas, puede no ser suficiente para evitar la inserción de puertas traseras. Si hay suficientes elementos ajustables en el procedimiento de selección de objetos, el universo de posibles elecciones de diseño y de constantes aparentemente simples puede ser lo suficientemente grande como para que una búsqueda de las posibilidades permita la construcción de un objeto con las propiedades de puerta trasera deseadas. [17]
Notas al pie
- ↑ a b Bruce Schneier (15 de noviembre de 2007). "¿La NSA puso una puerta trasera secreta en un nuevo estándar de cifrado?" . Noticias por cable .
- ^ a b Papel de pez globo
- ^ a b Bruce Schneier . Criptografía aplicada , segunda edición, John Wiley and Sons, 1996, p. 278.
- ^ RFC 1321 Sec. 3.4
- ^ FIPS 180-2: Secure Hash Standard (SHS) ( PDF , 236 kB): versión actual del Secure Hash Standard (SHA-1, SHA-224, SHA-256, SHA-384 y SHA-512), 1 Agosto de 2002, modificado el 25 de febrero de 2004
- ^ Revisión de NEWDES, Robert Scott, 1996
- ^ Henri Gilbert; M. Girault; P. Hoogvorst; F. Noilhan; T. Pornin; G. Poupard; J. Stern; S. Vaudenay (19 de mayo de 1998). "Cifrado rápido no relacionado: un candidato AES" (PDF / PostScript ) .
- ^ A. Biryukov ; C. De Cannière; J. Lano; B. Preneel ; SB Örs (7 de enero de 2004). Análisis de seguridad y rendimiento de ARIA ( PostScript ) (Informe). Versión 1.2 — Informe final. Katholieke Universiteit Leuven .
- ^ Rivest, RL (1994). "El algoritmo de cifrado RC5" (PDF) . Actas del segundo taller internacional sobre cifrado rápido de software (FSE) 1994e . págs. 86–96.
- ^ Biryukov, Alex; Perrin, Léo; Udovenko, Aleksei (2016). "Ingeniería inversa de la caja S de Streebog, Kuznyechik y STRIBOBr1 (versión completa)" . IACR-EUROCRYPT-2016 .
- ^ Perlroth, Nicole (10 de septiembre de 2013). "Gobierno anuncia pasos para restaurar la confianza en los estándares de cifrado" . The New York Times . Consultado el 11 de septiembre de 2013 .
- ^ https://safecurves.cr.yp.to/
- ^ Maxwell, Gregory (8 de septiembre de 2013). "[Tor-talk] ¿Criptografía aprobada por el NIST en Tor?" . Consultado el 20 de mayo de 2015 .
- ^ "SafeCurves: rigidez" . safecurves.cr.yp.to . Consultado el 20 de mayo de 2015 .
- ^ "La NSA está rompiendo la mayoría del cifrado en Internet - Schneier sobre seguridad" . www.schneier.com . Consultado el 20 de mayo de 2015 .
- ^ " " Ya no confío en las constantes ". La NSA está rompiendo la mayoría del cifrado en Internet - Schneier sobre seguridad" . www.schneier.com . Consultado el 10 de abril de 2021 .
- ^ Cómo manipular los estándares de la curva: un libro blanco para el sombrero negro Daniel J. Bernstein, Tung Chou, Chitchanok Chuengsatiansup, Andreas Hu ̈lsing, Eran Lambooij, Tanja Lange , Ruben Niederhagen y Christine van Vredendaal, 27 de septiembre de 2015, consultado en junio 4, 2016
Referencias
- Bruce Schneier . Criptografía aplicada , segunda edición. John Wiley e hijos, 1996.
- Eli Biham , Adi Shamir , (1990). Criptoanálisis diferencial de criptosistemas similares a DES. Avances en criptología - CRYPTO '90. Springer-Verlag. 2-21.