
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 cifran 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 ]
Most modern symmetric-key algorithms appear to be resistant to the threat of post-quantum cryptography.[13]Quantum computers would exponentially increase the speed at which these ciphers can be decoded; notably, Grover's algorithm would take the square-root of the time traditionally required for a brute-force attack, although these vulnerabilities can be compensated for by doubling key length.[14] For example, a 128 bit AES cipher would not be secure against such an attack as it would reduce the time required to test all possible iterations from over 10 quintillion years to about six months. By contrast, it would still take a quantum computer the same amount of time to decode a 256 bit AES cipher as it would a conventional computer to decode a 128 bit AES cipher.[15] For this reason, AES-256 is believed to be "quantum resistant".[16][17]
Key management
Key establishment
Symmetric-key algorithms require both the sender and the recipient of a message to have the same secret key. All early cryptographic systems required either the sender or the recipient to somehow receive a copy of that secret key over a physically secure channel.
Nearly all modern cryptographic systems still use symmetric-key algorithms internally to encrypt the bulk of the messages, but they eliminate the need for a physically secure channel by using Diffie–Hellman key exchange or some other public-key protocol to securely come to agreement on a fresh new secret key for each session/conversation (forward secrecy).
Key generation
When used with asymmetric ciphers for key transfer, pseudorandom key generators are nearly always used to generate the symmetric cipher session keys. However, lack of randomness in those generators or in their initialization vectors is disastrous and has led to cryptanalytic breaks in the past. Therefore, it is essential that an implementation use a source of high entropy for its initialization.[18][19][20]
Reciprocal cipher
A reciprocal cipher is a cipher where, just as one enters the plaintext into the cryptography system to get the ciphertext, one could enter the ciphertext into the same place in the system to get the plaintext. A reciprocal cipher is also sometimes referred as self-reciprocal cipher.[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). Comprensión de 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