stringtranslate.com

Algoritmo de clave simétrica

Cifrado de clave simétrica: se utiliza la misma clave tanto para el cifrado como para el descifrado.

Los algoritmos de clave simétrica [a] son ​​algoritmos de criptografía que utilizan las mismas claves criptográficas tanto para el cifrado de texto plano como para el descifrado de texto cifrado . Las claves pueden ser idénticas o puede haber una transformación simple entre las dos claves. [1] Las claves, en la práctica, representan un secreto compartido entre dos o más partes que puede utilizarse para mantener un vínculo 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 pública (también conocido como cifrado de clave asimétrica). [3] [4] Sin embargo, los algoritmos de cifrado de clave simétrica suelen ser mejores para el cifrado masivo. A excepción del pad de un solo uso, tienen un tamaño de clave más pequeño, 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 cifrado de clave simétrica. [5] [6] [7]

Tipos

El cifrado de clave simétrica puede utilizar cifrados de flujo o cifrados de bloque . [8]

Los cifrados de flujo cifran los dígitos (normalmente bytes ) o letras (en cifrados de sustitución) de un mensaje, uno a la vez. Un ejemplo es ChaCha20 . Los cifrados de sustitución son cifrados bien conocidos, pero se pueden descifrar fácilmente utilizando una tabla de frecuencia . [9]

Los cifrados de bloque toman una cantidad de bits y los cifran en una sola unidad, rellenando el texto sin formato para lograr un múltiplo del tamaño del bloque. El algoritmo Advanced Encryption Standard (AES), aprobado por el NIST en diciembre de 2001, utiliza bloques de 128 bits.

Implementaciones

Ejemplos de algoritmos de clave simétrica populares incluyen Twofish , Serpent , AES (Rijndael), Camellia , Salsa20 , ChaCha20 , Blowfish , CAST5 , Kuznyechik , RC4 , DES , 3DES , Skipjack , Safer e IDEA . [10]

Usar como primitiva criptográfica

Los cifrados simétricos se utilizan comúnmente para lograr otras primitivas criptográficas además del simple cifrado. [ cita necesaria ]

Cifrar un mensaje no garantiza que permanecerá sin cambios mientras esté cifrado. Por lo tanto, a menudo se agrega un código de autenticación de mensaje a un texto cifrado para garantizar que el receptor notará los cambios en el texto cifrado. Los códigos de autenticación de mensajes se pueden construir a partir de un cifrado AEAD (por ejemplo, AES-GCM ).

Sin embargo, los cifrados simétricos no se pueden utilizar con fines de no repudio excepto involucrando a partes adicionales. [11] Véase la norma ISO/IEC 13888-2.

Otra aplicación es crear funciones hash a partir de cifrados en bloque. Consulte la función de compresión unidireccional para obtener descripciones de varios de estos métodos.

Construcción de cifrados simétricos.

Muchos cifrados de bloques modernos se basan en una construcción propuesta por Horst Feistel . La construcción de Feistel permite construir funciones invertibles a partir de otras funciones que en sí mismas no son invertibles. [ cita necesaria ]

Seguridad de cifrados simétricos

Históricamente, los cifrados simétricos han sido susceptibles a ataques de texto sin formato conocido , ataques de texto sin formato elegido , criptoanálisis diferencial y criptoanálisis lineal . La construcción cuidadosa de las funciones para cada ronda puede reducir en gran medida las posibilidades de un ataque exitoso. [ cita necesaria ] También es posible aumentar la longitud de la clave o las rondas en el proceso de cifrado para proteger mejor contra ataques. Sin embargo, esto tiende a aumentar la potencia de procesamiento y disminuir la velocidad a la que se ejecuta el proceso debido a la cantidad de operaciones que el sistema necesita realizar. [12]

La mayoría de los algoritmos de clave simétrica modernos parecen resistir la amenaza de la criptografía poscuántica . [13] Las computadoras cuánticas aumentarían exponencialmente la velocidad a la que se pueden decodificar 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 requerido para probar todas las iteraciones posibles de más de 10 quintillones de años a aproximadamente seis meses. Por el contrario, a una computadora cuántica le tomaría la misma cantidad de tiempo decodificar un cifrado AES de 256 bits que a una computadora convencional para decodificar un cifrado AES de 128 bits. [15] Por esta razón, se cree que AES-256 es "resistente a lo cuántico". [16] [17]

Gestión de claves

Establecimiento clave

Los algoritmos de clave simétrica requieren que tanto el remitente como el destinatario de un mensaje tengan la misma clave secreta. Todos los primeros sistemas criptográficos requerían que el remitente o el destinatario recibieran de alguna manera una copia de esa clave secreta a través de un canal físicamente seguro.

Casi todos los sistemas criptográficos modernos todavía utilizan 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 uso del intercambio de claves Diffie-Hellman o algún otro protocolo de clave pública para llegar a un acuerdo de forma segura. 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, los generadores de claves pseudoaleatorias casi siempre se utilizan para generar claves de sesión de cifrado simétrico. Sin embargo, la falta de aleatoriedad en esos generadores o en sus vectores de inicialización es desastrosa y ha provocado rupturas criptoanalíticas en el pasado. Por 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 un cifrado en el que, así como se ingresa el texto sin formato en el sistema de criptografía para obtener el texto cifrado , se podría ingresar el texto cifrado en el mismo lugar del sistema para obtener el texto sin formato. Un cifrado recíproco a veces también se denomina 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 en 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 pueden configurarse (codificarse) de la misma manera. [23]

Ejemplos de cifrados recíprocos incluyen:

La mayoría de los cifrados modernos se pueden clasificar como cifrado de flujo , la mayoría de los cuales utiliza un combinador de cifrado XOR recíproco , o cifrado de bloque , la mayoría de los cuales utiliza un cifrado Feistel o un esquema Lai-Massey con una transformación recíproca en cada ronda. [ cita necesaria ]

Notas

  1. ^ Otros términos para el cifrado de clave simétrica son cifrado de clave secreta , clave única , clave compartida , clave única y clave privada . El uso del último y primer término puede crear ambigüedad con terminología similar utilizada en criptografía de clave pública . La criptografía de clave simétrica debe contrastarse con la criptografía de clave asimétrica .

Referencias

  1. ^ 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.
  2. ^ Delfs, Hans; Knebl, Helmut (2007). "Cifrado de clave simétrica". Introducción a la criptografía: principios y aplicaciones . Saltador. ISBN 9783540492436.
  3. ^ Mullen, Gary; Mummert, Carl (2007). Campos finitos y aplicaciones. Sociedad Matemática Estadounidense. pag. 112.ISBN 9780821844182.
  4. ^ "Desmitificar los métodos de cifrado simétricos y asimétricos". Frikis para frikis. 2017-09-28.
  5. ^ Johnson, Leighton (2016), "Fundamentos de los componentes de seguridad para la evaluación", Manual de evaluación, pruebas y evaluació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 6 de diciembre de 2021
  6. ^ Á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. 
  7. ^ Bernstein, Daniel J.; Lange, Tanja (14 de septiembre de 2017). "Criptografía poscuántica". Naturaleza . 549 (7671): 188–194. Código Bib :2017Natur.549..188B. doi : 10.1038/naturaleza23461. ISSN  0028-0836. PMID  28905891. S2CID  4446249.
  8. ^ Pelzl y Paar (2010). Comprensión de la criptografía . Berlín: Springer-Verlag. pag. 30. Bibcode : 2010uncr.book.....P.
  9. ^ Bellare, Mihir; Rogaway, Phillip (2005). Introducción a la criptografía moderna (PDF) .
  10. ^ Roeder, Tom. "Criptografía de clave simétrica". www.cs.cornell.edu . Consultado el 5 de febrero de 2017 .
  11. ^ "ISO/IEC 13888-2:2010". YO ASI . Consultado el 4 de febrero de 2020 .
  12. ^ David R. Mirza Ahmad; Ryan Russell (2002). Hackear su red a prueba (2ª ed.). Rockland, MA: Syngress. págs. 165-203. ISBN 1-932266-18-6. OCLC  51564102.
  13. ^ Daniel J. Bernstein (2009). «Introducción a la criptografía poscuántica» (PDF) . Criptografía poscuántica .
  14. ^ Daniel J. Bernstein (3 de marzo de 2010). "Grover contra McEliece" (PDF) . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  15. ^ Madera, Lamont (21 de marzo de 2011). "El tiempo corre para el cifrado". Mundo de la informática . Consultado el 5 de diciembre de 2022 .
  16. ^ O'Shea, Dan (29 de abril de 2022). "AES-256 se suma a la resistencia cuántica". Electrónica feroz . Consultado el 5 de diciembre de 2022 .
  17. ^ Weissbaum, François; Lugrin, Thomas (2023), Mulder, Valentín; Mermoud, Alain; Prestamistas, Vicente; Tellenbach, Bernhard (eds.), "Criptografía simétrica", Tendencias en protección de datos y tecnologías de cifrado , Cham: Springer Nature Suiza, págs. 7-10, doi : 10.1007/978-3-031-33386-6_2 , ISBN 978-3-031-33386-6, recuperado el 12 de septiembre de 2023
  18. ^ Ian Goldberg y David Wagner. "La aleatoriedad y el navegador Netscape". Enero de 1996 Diario del Dr. Dobb. cita: "es vital que las claves secretas se generen a partir de una fuente de números aleatorios impredecible".
  19. ^ Ristenpart, Thomas; Yilek, Scott (2010). "Cuando la buena aleatoriedad se vuelve mala: vulnerabilidades de reinicio de máquinas virtuales y criptografía implementada de cobertura" (PDF) . Simposio NDSS 2010 . Los generadores de números aleatorios (RNG) son siempre un eslabón débil en el uso seguro de la criptografía.
  20. ^ "Criptografía simétrica". Jaime. 2006-03-11.
  21. ^ Paul Reuvers y Marc Simons. Museo Cripto. "Enigma Uhr". 2009.
  22. ^ Chris Christensen. "Cifrados de sustitución simple". 2006.
  23. ^ Greg Goebel. "La mecanización de los cifrados". 2018.
  24. ^ "... el verdadero cifrado de Beaufort. Observe que tenemos cifrado recíproco ; cifrado y descifrado son idénticamente lo mismo". -- Helen F. Gaines. "Criptoanálisis: un estudio de cifrados y su solución". 2014. pág. 121.
  25. ^ Greg Goebel. "La mecanización de los cifrados". 2018.
  26. ^ Friedrich L. Bauer. "Secretos descifrados: métodos y máximas de la criptología". 2006. pág. 144
  27. ^ David Salomón. "Codificación de datos y comunicaciones informáticas". 2006. pág. 245
  28. ^ Greg Goebel. "Descifradores de códigos estadounidenses a la sombra de la guerra". 2018.