🛡️
Hello root
  • Sobre mi
  • Día 1 : Hardware y Software
  • Kali Linux y Virtualizacion
    • Virtualización
    • Cómo instalar Kali-Linux
    • Instalar Kali-linux en pendrive
  • Básicos de Linux
    • Usuarios y permisos en Linux. Primeros comandos
    • Challenge (reto_comandos)
    • Chuleta de comandos Linux
  • Programación (python)
    • Introducción a la programación
    • Python 1 | Variables, print() y funciones básicas
    • Python 2 | Listas y operadores
    • Python 3 | Bucles y funciones
    • Challenge (reto_python_server)
    • Python: Subnet and Host Capacity Calculator
  • Programación C#
    • Variables y condicionales
  • Bucles y colecciones
    • Ejercicio Bucles y colecciones
  • Métodos y funciones
    • Ejercicio math
  • C# Clases
  • Redes
    • Redes y topologías
    • Protocolos y tools
    • Comandos y servicios
  • Criptografía
    • Criptografia. Cifrado e Historia
  • Informes
    • T1043 - Exfiltración de Credenciales Mediante Protocolos de Red Inseguros
Powered by GitBook
On this page
  • Base64
  • URL Encode
  • Codificación Hexadecimal
  • Criptografía, Criptoanálisis y Cryptosystem
  • La Triada CIA
  • Tipos de Criptografía
  • Historia de la Criptografía
  • Principios de Kerckhoffs
  • Operaciones Booleanas
  1. Criptografía

Criptografia. Cifrado e Historia

PreviousComandos y serviciosNextT1043 - Exfiltración de Credenciales Mediante Protocolos de Red Inseguros

Last updated 4 days ago

Base64

¿Qué es?

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.

¿De dónde proviene?

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.

¿Por qué se usa?

  • 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.

Uso en consola

# Codificar
echo -n "texto" | base64
# Decodificar
echo "dGV4dG8=" | base64 -d

Flags útiles

  • -d o --decode: decodifica datos codificados en Base64.

  • -w N: envuelve las líneas de salida a cada N caracteres (útil en MIME).

Ejemplo completo

$ echo -n "CyberCrack" | base64
Q3liZXJDcmFjaw==
$ echo "Q3liZXJDcmFjaw==" | base64 -d
CyberCrack

URL Encode

¿Qué es?

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.

¿Por qué?

URLs sólo permiten un subconjunto de caracteres ASCII. Caracteres especiales como espacios, &, ?, #, etc., pueden interferir con el análisis de la URL.

Ejemplo

https://example.com/buscar?q=hola mundo → https://example.com/buscar?q=hola%20mundo


Codificación Hexadecimal

¿Qué es?

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.

Ejemplo técnico

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


Criptografía, Criptoanálisis y Cryptosystem

Criptografía

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

Criptoanálisis

El arte de romper cifrados. Técnicas comunes:

  • Fuerza bruta

  • Análisis de frecuencia

  • Criptoanálisis diferencial y lineal

Cryptosystem

Modelo formal de un sistema criptográfico. Incluye:

  • Espacio de claves

  • Algoritmo de cifrado y descifrado

  • Protocolo de gestión de claves


La Triada CIA

Conceptos

  • 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.

Ejemplos prácticos

  • C: Uso de cifrado TLS.

  • I: Validación de integridad con hashes (SHA-256).

  • A: Implementación de backups y redundancia.


Tipos de Criptografía

Simétrica

Usa la misma clave para cifrar y descifrar. Ventaja: rapidez. Desventaja: gestión segura de claves.

  • Ejemplos: AES, DES, Blowfish

Asimétrica

Utiliza un par de claves: pública y privada. Muy usada en Internet (HTTPS, GPG).

  • Ejemplos: RSA, ECC, ElGamal

Funciones Hash

Transforman cualquier entrada en una salida de tamaño fijo. Irreversibles.

  • Ejemplos: SHA-2, SHA-3, MD5 (inseguro)

Autenticación y No Repudio

  • Autenticación: Confirma identidad (contraseñas, tokens).

  • No repudio: Prueba que una transacción fue realizada por una parte (firmas digitales).

Key Space y Longitud de Clave

  • Un espacio de claves grande dificulta ataques de fuerza bruta.

  • AES-256 tiene 2^256 posibles claves.

Ejemplo básico

Texto: "ATAQUE" → con cifrado César (+3): "DWDTXH"


Historia de la Criptografía

Egipto Antiguo

  • Jeroglíficos usados para ocultar significado.

  • Piedra Rosetta permitió descifrar los jeroglíficos.

Grecia

  • Escítala Espartana: Cinta enrollada en cilindros.

Roma

  • Cifrado César: Sustitución alfabética con desplazamiento fijo.

Edad Media

  • Monjes usaban símbolos secretos en manuscritos.

  • Libro de Jeremías: Mensajes ocultos bíblicos.

Renacimiento

  • Cifrado de Vigenère: mejora al César usando palabras clave.

Siglo XX

  • 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.

Era Moderna

  • 1977: RSA revoluciona la criptografía.

  • 1995: SSL/TLS para web segura.

  • Hoy: Blockchain, criptografía homomórfica, post-cuántica.


Principios de Kerckhoffs

  1. La seguridad debe depender solo de la clave, no del algoritmo.

  2. El sistema debe ser comprensible.

  3. No debe requerir memorias imposibles.

  4. Debe ser portátil.

  5. Debe ser utilizable por personas normales.

  6. Si se pierde, no debe comprometer otros sistemas.

Aplicado hoy: uso de algoritmos públicos y claves secretas.


Operaciones Booleanas

Definición

Son operaciones lógicas a nivel de bits. Base de toda computación y criptografía binaria.

Tabla

Operación
A
B
Resultado

AND

1

1

1

AND

1

0

0

OR

1

0

1

XOR

1

1

0

NOT (A)

1

-

0

Aplicación

  • 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 .

RFC 4648
MDN Web Docs - URL Encoding
Wikipedia - Álgebra booleana
Page cover image