Codificación frente a cifrado
Base64, hexadecimal y cifrados
Codificación frente a cifrado es una lección gratuita de Ethical Hacking Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ethical Hacking Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ethical Hacking Academy incluye 4 lecciones en total.
Dos objetivos diferentes
La codificación y el cifrado parecen similares porque ambos transforman los datos en algo que, a primera vista, resulta ilegible, pero sus objetivos son completamente distintos.
- La codificación cambia el formato de los datos para que puedan almacenarse o transmitirse de forma segura.
- El cifrado protege la confidencialidad de los datos, de modo que solo alguien con una clave pueda leerlos.
Confundir ambos conceptos es uno de los errores más habituales entre los principiantes en seguridad.
Cualquiera puede revertir la codificación
La codificación utiliza un esquema público y conocido. No hay ningún secreto involucrado. Cualquiera que conozca el esquema puede decodificar los datos al instante.
Entre las codificaciones habituales se incluyen Base64, hex, URL encoding y ASCII. Existen para que los datos binarios puedan transmitirse por canales que solo admiten texto, como el correo electrónico o las cabeceras HTTP.
Base64 en la práctica
Base64 representa datos binarios mediante 64 caracteres imprimibles (A-Z, a-z, 0-9, + y /). Aumenta el tamaño de los datos aproximadamente un 33 %. Un = al final sirve como relleno.
Puede decodificarlo en cualquier equipo Linux sin necesidad de ninguna clave:
echo 'aGVsbG8gd29ybGQ=' | base64 -d
# Output: hello worldCómo identificar Base64
Como hacker, verá Base64 en todas partes: tokens JWT, cookies, archivos de configuración y datos exfiltrados. Estas son algunas pistas de que una cadena está codificada en Base64:
- Solo contiene
A-Za-z0-9+/y quizá el relleno=. - Su longitud es múltiplo de 4.
- Se decodifica en texto legible o en cabeceras de archivos reconocibles.
Intente siempre decodificar las cadenas sospechosas antes de suponer que están cifradas.
Codificación hexadecimal
La codificación hexadecimal representa cada byte con dos caracteres (0-9, a-f). Se utiliza ampliamente en capturas de red, volcados de memoria y resultados de hashes.
Los valores de byte 0x68 0x69 forman el texto ASCII 'hi'.
echo -n 'hi' | xxd -p
# Output: 6869
echo '6869' | xxd -r -p
# Output: hiQué añade el cifrado: una clave
El cifrado aplica un algoritmo de cifrado junto con una clave secreta. Sin la clave, resulta computacionalmente inviable revertir la salida (el texto cifrado).
- Texto plano = los datos originales legibles.
- Texto cifrado = la salida cifrada.
- Clave = el secreto que controla el cifrado y el descifrado.
Si cambia la clave, el texto cifrado cambia por completo.
Cifrados clásicos: César
El cifrado César desplaza cada letra una cantidad fija. Con un desplazamiento de 3, A se convierte en D. Solo sirve como ejemplo didáctico, porque existen únicamente 25 claves posibles y se rompe fácilmente mediante fuerza bruta.
ROT13 es un cifrado César con un desplazamiento de 13. Técnicamente es un cifrado, pero ofrece cero seguridad real.
echo 'hello' | tr 'a-z' 'd-za-c'
# Output: khoor (shift of 3)Cifrados modernos
El cifrado real utiliza algoritmos como AES (simétrico) y RSA (asimétrico). Estos se basan en claves grandes y problemas matemáticos difíciles, no en mantener secreto el algoritmo.
Principio de Kerckhoffs: un criptosistema debe ser seguro incluso si todo lo relacionado con él, excepto la clave, es público. La seguridad proviene de la clave, nunca de ocultar el algoritmo.
El cifrado parece aleatorio
Una diferencia clave que puede observar es la siguiente: un texto cifrado de calidad parece ruido aleatorio de alta entropía. Los datos codificados no.
- La codificación Base64 de 'hello' siempre es
aGVsbG8=para todo el mundo. - El cifrado AES de 'hello' cambia con la clave y el vector de inicialización, por lo que produce una salida diferente cada vez.
Si al decodificar una cadena obtiene texto legible sin ninguna clave, estaba codificada, no cifrada.
Por qué es importante para los hackers
Durante una evaluación encontrará constantemente datos ocultos. Preguntarse «¿esto es codificación o cifrado?» orienta su siguiente paso:
- ¿Está codificado? Decodifíquelo ahora; no necesita ninguna clave. Las credenciales ocultas en Base64 son una victoria inmediata.
- ¿Está cifrado? Encuentre la clave, ataque la gestión de claves o busque fallos de implementación.
Tratar la codificación como si fuera seguridad es una vulnerabilidad que notificará constantemente.
La ofuscación es una tercera categoría
Tenga en cuenta una tercera categoría: la ofuscación. Consiste en dificultar deliberadamente la lectura de los datos (JS minimizado, binarios empaquetados o XOR con un byte fijo) sin utilizar un cifrado real ni una gestión de claves.
Al igual que la codificación, la ofuscación no proporciona confidencialidad auténtica. Solo ralentiza a un observador ocasional. Los analistas expertos la revierten habitualmente.
Comprobación rápida
Ponga a prueba su comprensión de la diferencia fundamental.
Resumen
Ha aprendido la diferencia fundamental entre codificación y cifrado:
- La codificación (Base64, hex) puede revertirla cualquiera y solo cambia el formato.
- El cifrado (AES, RSA) necesita una clave secreta y protege la confidencialidad.
- La ofuscación oculta los datos, pero no los protege.
- Decodifique siempre primero las cadenas sospechosas: el texto cifrado parece ruido aleatorio, mientras que los datos codificados se convierten en contenido legible sin una clave.
A continuación profundizará en el hashing, una transformación unidireccional diferente de ambas.
Preguntas frecuentes
¿La lección «Codificación frente a cifrado» es gratis?
Sí — el texto completo de «Codificación frente a cifrado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ethical Hacking Academy, actualiza a CoddyKit PRO. El curso de Ethical Hacking Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Codificación frente a cifrado»?
Base64, hexadecimal y cifrados Practicas Ethical Hacking Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Ethical Hacking Academy?
No se requiere experiencia previa. Ethical Hacking Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Codificación frente a cifrado»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Ethical Hacking Academy?
Sí. Cada lección de Ethical Hacking Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Codificación frente a cifrado
- Hashing
- Simétrico y asimétrico
- Cracking de hashes