Algoritmo de clave simétrica


Los algoritmos de clave simétrica [a] son algoritmos para 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 se puede utilizar 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 pública.(también conocido como cifrado de clave asimétrica). [3] [4] Sin embargo, el cifrado de clave simétrica suele ser mejor para el cifrado masivo. Tienen un tamaño de archivo más pequeño que permite menos espacio de almacenamiento y una transmisión más rápida. Debido a esto, el cifrado asimétrico se utiliza a menudo para intercambiar la clave secreta por el cifrado de clave simétrica. [5]

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

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

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 anote 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 mediante la participación de partes adicionales. [9] Consulte la norma ISO / IEC 13888-2 .

Otra aplicación consiste en 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.