
Los algoritmos de clave simétrica [ a ] son algoritmos de criptografía que utilizan las mismas claves criptográficas tanto para el cifrado del texto plano como para el descifrado del texto cifrado . Las claves pueden ser idénticas o puede existir una simple transformación entre ellas. [ 1 ] En la práctica, las claves representan un secreto compartido entre dos o más partes que puede utilizarse para mantener un enlace de información privada. [ 2 ] El requisito de que ambas partes tengan acceso a la clave secreta es uno de los principales inconvenientes del cifrado de clave simétrica , en comparación con el cifrado de clave asimétrica (también conocido como cifrado de clave pública). [ 3 ] [ 4 ] Sin embargo, los algoritmos de cifrado de clave simétrica suelen ser mejores para el cifrado masivo. Con la excepción de la libreta de un solo uso, tienen un tamaño de clave menor, lo que significa menos espacio de almacenamiento y una transmisión más rápida. Debido a esto, el cifrado de clave asimétrica se utiliza a menudo para intercambiar la clave secreta por el cifrado de clave simétrica. [ 5 ] [ 6 ] [ 7 ]
Tipos
El cifrado de clave simétrica puede utilizar cifrados de flujo o cifrados de bloques . [ 8 ]
Los cifrados de flujo encriptan los dígitos (normalmente bytes ) o las letras (en los cifrados de sustitución) de un mensaje uno a uno. Un ejemplo es ChaCha20 . Los cifrados de sustitución son cifrados muy conocidos, pero se pueden descifrar fácilmente utilizando una tabla de frecuencias . [ 9 ]
Los cifrados por bloques toman una cantidad de bits y los encriptan en una sola unidad, rellenando el texto plano para lograr un múltiplo del tamaño del bloque. El algoritmo del Estándar de Cifrado Avanzado (AES), aprobado por el NIST en diciembre de 2001, utiliza bloques de 128 bits.
Implementaciones
Algunos ejemplos de algoritmos populares de clave simétrica incluyen Twofish , Serpent , AES (Rijndael), Camellia , Salsa20 , ChaCha20 , Blowfish , CAST5 , Kuznyechik , RC4 , DES , 3DES , Skipjack , Safer e IDEA . [ 10 ]
Utilizar como primitiva criptográfica
Los cifrados simétricos se utilizan habitualmente para lograr otras primitivas criptográficas además del cifrado.
El cifrado de un mensaje no garantiza que permanezca inalterado durante el proceso. Por ello, a menudo se añade un código de autenticación al texto cifrado para asegurar que el receptor detecte cualquier cambio. Los códigos de autenticación pueden generarse mediante un cifrado AEAD (por ejemplo, AES-GCM ).
Sin embargo, los cifrados simétricos no pueden utilizarse para fines de no repudio excepto mediante la participación de partes adicionales. [ 11 ] Véase la norma ISO/IEC 13888-2 .
Otra aplicación consiste en construir funciones hash a partir de cifrados por bloques. Consulte la función de compresión unidireccional para obtener descripciones de varios métodos de este tipo.
Construcción de cifrados simétricos
Muchos cifradores de bloques modernos se basan en una construcción propuesta por Horst Feistel . La construcción de Feistel permite crear funciones invertibles a partir de otras funciones que, a su vez, no son invertibles.
Seguridad de los cifrados simétricos
Históricamente, los cifrados simétricos han sido susceptibles a ataques de texto plano conocido , ataques de texto plano elegido , criptoanálisis diferencial y criptoanálisis lineal . Una construcción cuidadosa de las funciones para cada ronda puede reducir considerablemente las probabilidades de un ataque exitoso. También es posible aumentar la longitud de la clave o el número de rondas en el proceso de cifrado para una mayor protección contra ataques. Sin embargo, esto tiende a incrementar la potencia de procesamiento y disminuir la velocidad de ejecución del proceso debido a la cantidad de operaciones que el sistema debe realizar. [ 12 ]
La mayoría de los algoritmos modernos de clave simétrica parecen ser resistentes a la amenaza de la criptografía postcuántica . [ 13 ] Las computadoras cuánticas aumentarían exponencialmente la velocidad a la que se pueden descifrar estos cifrados; en particular, el algoritmo de Grover tomaría la raíz cuadrada del tiempo tradicionalmente requerido para un ataque de fuerza bruta , aunque estas vulnerabilidades pueden compensarse duplicando la longitud de la clave. [ 14 ] Por ejemplo, un cifrado AES de 128 bits no sería seguro contra tal ataque, ya que reduciría el tiempo necesario para probar todas las iteraciones posibles de más de 10 quintillones de años a unos seis meses. Por el contrario, una computadora cuántica tomaría la misma cantidad de tiempo para descifrar un cifrado AES de 256 bits que una computadora convencional para descifrar un cifrado AES de 128 bits. [ 15 ] Por esta razón, se cree que AES-256 es "resistente a la computación cuántica". [ 16 ] [ 17 ]
Gestión clave
Establecimiento clave
Los algoritmos de clave simétrica requieren que tanto el remitente como el destinatario de un mensaje posean la misma clave secreta. Todos los primeros sistemas criptográficos exigían que, de alguna manera, el remitente o el destinatario recibieran una copia de esa clave secreta a través de un canal físicamente seguro.
Casi todos los sistemas criptográficos modernos siguen utilizando algoritmos de clave simétrica internamente para cifrar la mayor parte de los mensajes, pero eliminan la necesidad de un canal físicamente seguro mediante el intercambio de claves Diffie-Hellman o algún otro protocolo de clave pública para llegar a un acuerdo seguro sobre una nueva clave secreta para cada sesión/conversación (secreto directo).
Generación de claves
Cuando se utilizan con cifrados asimétricos para la transferencia de claves, casi siempre se emplean generadores de claves pseudoaleatorias para generar las claves de sesión del cifrado simétrico. Sin embargo, la falta de aleatoriedad en dichos generadores o en sus vectores de inicialización resulta desastrosa y ha provocado fallos criptoanalíticos en el pasado. Por lo tanto, es fundamental que una implementación utilice una fuente de alta entropía para su inicialización. [ 18 ] [ 19 ] [ 20 ]
Cifrado recíproco
Un cifrado recíproco es aquel en el que, del mismo modo que se introduce el texto plano en el sistema criptográfico para obtener el texto cifrado , se puede introducir el texto cifrado en el mismo lugar del sistema para obtener el texto plano. Un cifrado recíproco también se conoce a veces como cifrado autorrecíproco . [ 21 ] [ 22 ]
Prácticamente todas las máquinas de cifrado mecánico implementan un cifrado recíproco, una involución matemática sobre cada letra tecleada. En lugar de diseñar dos tipos de máquinas, una para cifrar y otra para descifrar, todas las máquinas pueden ser idénticas y configurarse (con clave) de la misma manera. [ 23 ]
Algunos ejemplos de cifrados recíprocos son:
- Atbash
- Cifrado de Beaufort [ 24 ]
- Máquina Enigma [ 25 ]
- el cifrado autorrecíproco con el que se comunicaban María Antonieta y Axel von Fersen . [ 26 ]
- el cifrado polialfabético de Porta que es autorrecíproco. [ 27 ]
- Cifrado púrpura [ 28 ]
- RC4
- ROT13
- cifrado XOR
- Cifrado Vatsyayana
La mayoría de los cifrados modernos se pueden clasificar como cifrados de flujo , la mayoría de los cuales utilizan un combinador de cifrado XOR recíproco , o como cifrados de bloques , la mayoría de los cuales utilizan un cifrado Feistel o un esquema Lai-Massey con una transformación recíproca en cada ronda.
Notas
- ↑ Otros términos para el cifrado de clave simétrica son clave secreta , clave única , clave compartida , clave única y clave privada . El uso del último y el primer término puede generar ambigüedad con la terminología similar empleada en la criptografía de clave pública . La criptografía de clave simétrica se diferencia de la criptografía de clave asimétrica .
Referencias
- ↑ Kartit, Zaid (febrero de 2016). «Aplicación de algoritmos de cifrado para la seguridad de datos en el almacenamiento en la nube, Kartit, et al» . Avances en redes ubicuas: Actas de UNet15 : 147. ISBN 9789812879905.
- ↑ Delfs, Hans; Knebl, Helmut (2007). «Cifrado de clave simétrica» . Introducción a la criptografía: principios y aplicaciones . Springer. ISBN 9783540492436.
- ↑ Mullen, Gary; Mummert, Carl (2007). Campos finitos y aplicaciones . American Mathematical Society. pág. 112. ISBN 9780821844182.
- ↑ "Desmitificando los métodos de cifrado simétricos y asimétricos" . Geeks for Geeks. 28 de septiembre de 2017.
- ↑ Johnson, Leighton (2016), "Fundamentos de los componentes de seguridad para la evaluación" , Manual de evaluación, pruebas y valoración de controles de seguridad , Elsevier, págs. 531–627 , doi : 10.1016/b978-0-12-802324-2.00011-7 , ISBN 9780128023242, S2CID 63087943 , consultado el 06-12-2021
- ^ Álvarez, Rafael; Caballero-Gil, Cándido; Santonja, Juan; Zamora, Antonio (27-06-2017). "Algoritmos para el intercambio de claves ligeras" . Sensores . 17 (7): 1517. doi : 10.3390/s17071517 . ISSN 1424-8220 . PMC 5551094 . PMID 28654006 .
- ↑ Bernstein, Daniel J.; Lange, Tanja (14 de septiembre de 2017). "Criptografía postcuántica" . Nature . 549 (7671): 188–194 . Bibcode : 2017Natur.549..188B . doi : 10.1038/nature23461 . ISSN 0028-0836 . PMID 28905891. S2CID 4446249 .
- ↑ Pelzl y Paar (2010). Comprender la criptografía . Berlín: Springer-Verlag. pág. 30. Bibcode : 2010uncr.book .....P .
- ^ Bellare, Mihir; Rogaway, Phillip (2005). Introducción a la criptografía moderna (PDF) .
- ↑ Roeder, Tom. "Criptografía de clave simétrica" . www.cs.cornell.edu . Consultado el 5 de febrero de 2017 .
- ↑ "ISO/IEC 13888-2:2010" . ISO . Consultado el 4 de febrero de 2020 .
- ↑ David R. Mirza Ahmad; Ryan Russell (2002). Cómo proteger su red contra ataques informáticos (2.ª ed.). Rockland, MA: Syngress. págs. 165–203 . ISBN 1-932266-18-6OCLC 51564102
- ↑ Daniel J. Bernstein (2009). "Introducción a la criptografía postcuántica" (PDF) . Criptografía postcuántica .
- ↑ Daniel J. Bernstein (03-03-2010). "Grover vs. McEliece" (PDF) .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Wood, Lamont (21 de marzo de 2011). "El tiempo se acaba para el cifrado" . Computerworld . Consultado el 5 de diciembre de 2022 .
- ↑ O'Shea, Dan (29 de abril de 2022). "AES-256 se une a la resistencia cuántica" . Fierce Electronics . Consultado el 5 de diciembre de 2022 .
- ↑ Weissbaum, François; Lugrin, Thomas (2023), "Criptografía simétrica", en Mulder, Valentin; Mermoud, Alain; Lenders, Vincent; Tellenbach, Bernhard (eds.), Tendencias en tecnologías de protección de datos y cifrado , Cham: Springer Nature Switzerland, pp. 7–10 , doi : 10.1007/978-3-031-33386-6_2 , ISBN 978-3-031-33386-6
- ↑ Ian Goldberg y David Wagner. "Aleatoriedad y el navegador Netscape" . Enero de 1996, Dr. Dobb's Journal. Cita: "Es vital que las claves secretas se generen a partir de una fuente impredecible de números aleatorios".
- ↑ Ristenpart, Thomas; Yilek, Scott (2010). "Cuando la buena aleatoriedad se vuelve mala: vulnerabilidades de reinicio de máquinas virtuales y criptografía desplegada con cobertura" (PDF) . Simposio NDSS 2010. Los
generadores de números aleatorios (RNG) son consistentemente un eslabón débil en el uso seguro de la criptografía.
- ↑ "Criptografía simétrica" . Blog de alojamiento web en el Reino Unido | Blog de WHUK, que ofrece información detallada sobre alojamiento web, desarrollo web, seguridad, marketing y SEO . James. 11 de marzo de 2006.
- ^ Paul Reuvers y Marc Simons. Museo Cripto. "Enigma Uhr" . 2009.
- ↑ Chris Christensen. "Cifrados de sustitución simple" . 2006.
- ↑ Greg Goebel. "La mecanización de los cifrados" . 2018.
- ↑ "... el verdadero cifrado de Beaufort. Nótese que tenemos cifrado recíproco ; cifrado y descifrado son exactamente lo mismo." -- Helen F. Gaines. "Criptoanálisis: Un estudio de los cifrados y su solución" . 2014. pág. 121.
- ↑ Greg Goebel. "La mecanización de los cifrados" . 2018.
- ↑ Friedrich L. Bauer. "Secretos descifrados: métodos y máximas de criptología" . 2006. pág. 144.
- ↑ David Salomon. "Codificación para datos y comunicaciones informáticas" . 2006. pág. 245
- ↑ Greg Goebel. "Los descifradores de códigos estadounidenses a la sombra de la guerra" . 2018.
- Algoritmos criptográficos