Cifrado Triple DES (3DES)
Cifra texto con Triple DES (DES-EDE3) usando una contraseña en formato des-ede3-cbc de OpenSSL o una clave hex de 16/24 bytes y un IV. Modos CBC, CFB, OFB y ECB.
La salida usa el formato "Salted__" de OpenSSL en Base64: una sal aleatoria de 8 bytes seguida del texto cifrado. La clave y el IV se derivan de la contraseña y la sal, así que el mismo texto da un resultado distinto cada vez. Comando equivalente:
openssl enc -des-ede3-cbc -md md5 -a -A -k '…'Se ejecuta completamente en tu navegador. Tus datos nunca se suben.
¿Qué es Cifrado Triple DES?
Cifra datos con Triple DES, que aplica DES tres veces (cifrar–descifrar–cifrar) con dos o tres claves independientes. Todavía se encuentra en sistemas de pago, VPN antiguas y software empresarial, así que esta herramienta te ayuda a producir datos compatibles.
Cómo usar Cifrado Triple DES
- Deja el Origen de la clave en Contraseña (compatible con OpenSSL) y escribe una Contraseña, o cambia a Clave + IV en bruto (hex) e introduce la clave y el IV exactos en hex.
- Elige el Modo y el Relleno (CBC con PKCS#7 es el valor predeterminado de OpenSSL).
- Escribe o pega el Texto plano (o cambia la codificación de entrada a Hex para datos binarios).
- Haz clic en Cifrar, elige Base64 o Hex como Codificación de salida y copia el texto cifrado.
Ejemplo
Raw key 0123456789abcdeffedcba987654321089abcdef01234567, IV 1234567890abcdef, CBC, PKCS#7, plaintext "Triple DES test message"
w46mmLXKZ7SF3YdvRaW9PUPLk/6OeJll
Salida Base64; idéntica a des-ede3-cbc de OpenSSL/Node.
Cuándo usar Cifrado Triple DES
Úsalo cuando un sistema asociado o un estándar todavía exija 3DES (algunos flujos EMV/HSM de pago, servicios SOAP heredados) o para crear vectores de prueba. Para diseños nuevos usa AES-GCM.
Cómo funciona Cifrado Triple DES
3DES cifra cada bloque de 8 bytes como E(K3, D(K2, E(K1, bloque))). Una clave de 24 bytes da tres claves independientes (opción de claves 1); una clave de 16 bytes usa K3 = K1 (3DES de dos claves). El modo contraseña deriva una clave de 24 bytes y un IV de 8 bytes y escribe el formato Salted__ de OpenSSL, compatible con openssl enc -des-ede3-cbc y CryptoJS.TripleDES.encrypt. El modo en bruto usa tu clave y tu IV en hex; CBC/ECB se rellenan con PKCS#7.
Casos de Uso Comunes
- Producir datos para un sistema heredado que solo acepta 3DES-CBC
- Reproducir la salida de
CryptoJS.TripleDES.encrypt(text, passphrase) - Crear vectores de prueba 3DES de 2 o 3 claves
- Comparar tu implementación con des-ede3-cbc de OpenSSL
Nota de Seguridad
Triple DES está obsoleto: el NIST prohibió su uso para cifrar a partir de 2023 y su bloque de 64 bits hace que las sesiones largas sean vulnerables a los ataques de cumpleaños Sweet32. Úsalo solo por compatibilidad.
Preguntas Frecuentes
¿Clave de 16 o de 24 bytes?
24 bytes dan tres claves DES independientes (unos 112 bits de seguridad efectiva). Una clave de 16 bytes es 3DES de dos claves, donde la tercera clave es igual a la primera (unos 80 bits).
¿La salida es compatible con OpenSSL?
Sí. En el modo contraseña el resultado es exactamente lo que produce openssl enc -des-ede3-cbc -md md5 -a -A -k <passphrase> (EVP_BytesToKey con MD5), o -pbkdf2 -iter N si eliges PBKDF2-HMAC-SHA256. Añade -d para descifrar. La página muestra el comando correspondiente bajo el campo de contraseña.
¿Triple DES sigue siendo seguro?
No está roto del todo, pero es lento, tiene un bloque de 64 bits (Sweet32) y el NIST lo retiró. Trátalo solo como algo heredado.