Frases de contraseña fáciles de recordar con 4 a 8 palabras al azar de la lista BIP39 en inglés.
Cifrado y descifrado AES-GCM
La herramienta en sí está en inglés; en esta página se explica en tu idioma.
Utiliza Cifrado y descifrado AES-GCM
Para qué sirve
Cifra un texto con AES-256-GCM y una frase de contraseña, o descifra una cadena Base64 creada con esta herramienta. La clave es un único hash SHA-256 de la frase de contraseña, así que usa una larga y aleatoria.
Funciona íntegramente en tu navegador: no se sube nada de lo que introduzcas.
Cómo utilizar Cifrado y descifrado AES-GCM
- Introduce una frase de contraseña. Escribe una frase de contraseña larga y aleatoria en Password / Key (Contraseña / Clave). El campo también acepta un valor vacío, que no protege nada.
- Pega el texto. Pon el texto que quieres cifrar, o una cadena Base64 creada con esta herramienta, en Plaintext / Ciphertext (Texto plano / Texto cifrado).
- Cifra o descifra. Pulsa Encrypt (Cifrar) para obtener una cadena Base64, o Decrypt (Descifrar) para convertir esa cadena de nuevo en texto.
- Copia y comparte de forma segura. Pulsa Copy (Copiar) y envía el Base64 por un canal. Comparte la frase de contraseña por otro, por ejemplo en persona o por teléfono.
- Soluciona un descifrado fallido. Si Decrypt muestra Error: wrong key or invalid data, revisa la frase de contraseña letra a letra y asegúrate de haber copiado la cadena Base64 completa.
Ejemplo
Mensaje corto
Meet at the usual place at 10:00.sc/i5ncy6JbuW/+WPWQo6pboxhwf1K3tR7fOW49jHPXbZOVhlKrJEXqGkWJ31PqgI7moKwETaLovN0/tlA==Encrypt (Cifrar) devuelve el Base64 de un IV aleatorio de 12 bytes, el texto cifrado y la etiqueta de 16 bytes, distinto en cada ejecución. Escribe primero una frase de contraseña en Password / Key: la herramienta también acepta una vacía, que no protege nada.
Qué comprueba
| Señal | Qué significa |
|---|---|
| Clave | SHA-256 de la frase de contraseña, usado como clave AES-256. No hay sal ni derivación lenta, así que la misma frase de contraseña da siempre la misma clave. |
| Primeros 16 caracteres Base64 | El IV de 12 bytes. Encrypt genera un IV aleatorio nuevo cada vez, así que el mismo texto da una salida distinta en cada ejecución. |
| Longitud de la salida | IV de 12 bytes, después los bytes del texto y después una etiqueta de 16 bytes, todo en Base64. Un texto vacío da 40 caracteres; un texto de 23 bytes da 68. |
| Error: wrong key or invalid data | La frase de contraseña es distinta (cuentan las mayúsculas y los espacios), la cadena se modificó o se cortó, o no es Base64. GCM no devuelve ningún texto cuando falla la comprobación. |
| Sin cabecera de formato | La salida no lleva marcador de versión ni de algoritmo, ni datos asociados, así que otro software necesita exactamente esta disposición y esta derivación de clave para leerla. |
| Entrada Base64 | Decrypt espera Base64 estándar como el que produce Encrypt. Se ignoran los espacios y saltos de línea añadidos por un programa de correo, pero un carácter que falte o haya cambiado hace fallar el descifrado. |
| Se acepta una frase de contraseña vacía | La clave es entonces el SHA-256 de una cadena vacía, que cualquiera puede calcular, así que en la práctica el texto no está cifrado. |
Más ejemplos
Descifrar una muestra
Password / Key: example passphrase, not a real secret; Ciphertext: AAAAAAAAAAAAAAAAmdUgeZatb2KYwe2btQ+qgA3xKNnswXrrQ6AeKTDSu03TnrvNXygfDecrypt muestra Hello from PhishDestroy. La muestra se creó con un IV de ceros, el AAAAAAAAAAAAAAAA inicial, solo a modo de ilustración; Encrypt siempre usa un IV aleatorio.
Una letra de la frase de contraseña cambiada
The same ciphertext with Password / Key: Example passphrase, not a real secretError: wrong key or invalid data
Cifrar un texto vacío
Plaintext / Ciphertext empty, any passphrase, EncryptUna cadena Base64 de 40 caracteres (IV de 12 bytes más etiqueta de 16 bytes), distinta cada vez que se pulsa.
Preguntas frecuentes
¿Cómo se obtiene la clave a partir de mi frase de contraseña?
La clave AES-256 es un único hash SHA-256 de la frase de contraseña, sin sal y sin una derivación de clave lenta como PBKDF2 o Argon2. Por eso, una frase corta o fácil de adivinar se puede romper rápidamente por fuerza bruta sin conexión; usa una larga y aleatoria, por ejemplo de Passphrase Generator.
¿Qué contiene la salida y puede descifrarla otro software?
El Base64 de un IV aleatorio de 12 bytes, seguido del texto cifrado y de la etiqueta de autenticación GCM de 16 bytes. Al descifrar se muestra Error: wrong key or invalid data si la frase de contraseña es incorrecta o ha cambiado algún byte, y otro software solo puede descifrarla con la misma clave SHA-256 y la misma disposición de bytes.
¿Se envía a algún sitio mi texto o mi frase de contraseña?
No. El cifrado se ejecuta en tu navegador con la Web Crypto API; la frase de contraseña y el texto nunca se suben ni se guardan.
¿Debo cifrar aquí mi frase semilla?
No. Nunca escribas la frase semilla de una cartera en un sitio web, y una clave obtenida con un único hash SHA-256 sin sal permite romper por fuerza bruta sin conexión una frase de contraseña débil. Guarda las frases semilla sin conexión, por ejemplo en papel o en metal, o en una cartera de hardware.
¿Puede otro software descifrar la salida?
Sí, si sigue la misma disposición: clave = SHA-256 de la frase de contraseña en UTF-8, IV = primeros 12 bytes, etiqueta = últimos 16 bytes, sin datos asociados. El paquete cryptography de Python y otras bibliotecas AES-GCM pueden hacerlo.
¿Puedo reutilizar una frase de contraseña para muchos mensajes?
Cada mensaje recibe un IV aleatorio nuevo de 12 bytes, así que en la práctica reutilizarla no repite el IV. El riesgo real es la propia frase de contraseña: cualquiera que la conozca puede leer todos los mensajes creados con ella.
¿Qué añade GCM respecto a AES sin más?
Una etiqueta de autenticación. Se detecta cualquier cambio en el IV, el texto cifrado o la etiqueta, y el descifrado falla en lugar de devolver un texto alterado.