Criptografia. Cifrado e Historia
Last updated
Last updated
Base64 es un esquema de codificación binaria a texto que convierte datos binarios en una representación textual legible basada en 64 caracteres ASCII. Este conjunto incluye letras mayúsculas y minúsculas (A-Z, a-z), dígitos (0-9) y dos símbolos especiales (+, /). A menudo se utiliza para codificar datos que deben almacenarse o transferirse a través de medios que están diseñados para manejar solo datos de texto.
Base64 fue introducido formalmente en el RFC 1421 en el contexto de la codificación de contenido para correo electrónico (MIME) y más adelante refinado en el , que estandariza su uso en aplicaciones modernas.
Transmisión segura de datos binarios (imágenes, archivos, certificados, etc.) a través de canales de solo texto.
Codificación de credenciales para autenticación HTTP básica.
Persistencia de datos binarios en formatos como JSON o XML.
-d
o --decode
: decodifica datos codificados en Base64.
-w N
: envuelve las líneas de salida a cada N caracteres (útil en MIME).
La codificación de URLs (o codificación de porcentaje) convierte caracteres no válidos para URLs en un formato seguro utilizando el símbolo %
seguido por dos dígitos hexadecimales que representan el valor ASCII del carácter.
URLs sólo permiten un subconjunto de caracteres ASCII. Caracteres especiales como espacios, &
, ?
, #
, etc., pueden interferir con el análisis de la URL.
https://example.com/buscar?q=hola mundo
→ https://example.com/buscar?q=hola%20mundo
Representación de datos binarios utilizando base 16. Cada byte se representa por dos dígitos hexadecimales. Fundamental para entender cómo se almacenan y procesan datos a bajo nivel.
Texto: Hola
ASCII: 72 111 108 97
Hex: 48 6f 6c 61
Se usa frecuentemente en:
Análisis forense
Criptografía
Programación de bajo nivel
Es la ciencia de escribir en secreto. Involucra técnicas para ocultar información a ojos no autorizados. Incluye:
Cifrado
Firmas digitales
Protocolos de autenticación
El arte de romper cifrados. Técnicas comunes:
Fuerza bruta
Análisis de frecuencia
Criptoanálisis diferencial y lineal
Modelo formal de un sistema criptográfico. Incluye:
Espacio de claves
Algoritmo de cifrado y descifrado
Protocolo de gestión de claves
Confidentiality (Confidencialidad): Asegura que la información solo sea accesible a quienes están autorizados.
Integrity (Integridad): Garantiza que la información no ha sido alterada de manera no autorizada.
Availability (Disponibilidad): Asegura que los datos estén accesibles cuando se necesiten.
C: Uso de cifrado TLS.
I: Validación de integridad con hashes (SHA-256).
A: Implementación de backups y redundancia.
Usa la misma clave para cifrar y descifrar. Ventaja: rapidez. Desventaja: gestión segura de claves.
Ejemplos: AES, DES, Blowfish
Utiliza un par de claves: pública y privada. Muy usada en Internet (HTTPS, GPG).
Ejemplos: RSA, ECC, ElGamal
Transforman cualquier entrada en una salida de tamaño fijo. Irreversibles.
Ejemplos: SHA-2, SHA-3, MD5 (inseguro)
Autenticación: Confirma identidad (contraseñas, tokens).
No repudio: Prueba que una transacción fue realizada por una parte (firmas digitales).
Un espacio de claves grande dificulta ataques de fuerza bruta.
AES-256 tiene 2^256 posibles claves.
Texto: "ATAQUE" → con cifrado César (+3): "DWDTXH"
Jeroglíficos usados para ocultar significado.
Piedra Rosetta permitió descifrar los jeroglíficos.
Escítala Espartana: Cinta enrollada en cilindros.
Cifrado César: Sustitución alfabética con desplazamiento fijo.
Monjes usaban símbolos secretos en manuscritos.
Libro de Jeremías: Mensajes ocultos bíblicos.
Cifrado de Vigenère: mejora al César usando palabras clave.
Enigma: Alemania, Segunda Guerra Mundial. Rotares mecánicos.
Purple: Japón, descifrado por criptólogos estadounidenses.
Venona: Proyecto de EEUU para interceptar espías soviéticos.
1977: RSA revoluciona la criptografía.
1995: SSL/TLS para web segura.
Hoy: Blockchain, criptografía homomórfica, post-cuántica.
La seguridad debe depender solo de la clave, no del algoritmo.
El sistema debe ser comprensible.
No debe requerir memorias imposibles.
Debe ser portátil.
Debe ser utilizable por personas normales.
Si se pierde, no debe comprometer otros sistemas.
Aplicado hoy: uso de algoritmos públicos y claves secretas.
Son operaciones lógicas a nivel de bits. Base de toda computación y criptografía binaria.
AND
1
1
1
AND
1
0
0
OR
1
0
1
XOR
1
1
0
NOT (A)
1
-
0
XOR se usa para cifrados básicos y stream ciphers.
NOT invierte bits en operaciones de enmascaramiento.
Más info en .
Más detalles en .