🛡️ Recursos, Ciberseguridad & Herramientas

Laboratorios interactivos de criptografía, tokens JWT, direccionamiento de redes, calculadoras IoT y herramientas para desarrollo y docencia.

🔐 Criptografía, Hashing & JSON Web Tokens (JWT)

Laboratorios interactivos de cálculo criptográfico, firmas HMAC, análisis y generación de tokens de autenticación JWT y demostración visual del efecto avalancha.

🔐 Hashing multialgoritmo & HMAC
Calcula instantáneamente resúmenes criptográficos con las principales funciones unidireccionales y firmas HMAC con clave secreta.
⚡ Ejemplos rápidos:
SHA-256 (256 bits · Estándar Global)
-
SHA-512 (512 bits · Alta Seguridad)
-
HMAC-SHA256 (Firma con Clave Secreta)
-
Keccak-256 / SHA3 (Web3 / Ethereum)
-
MD5 (128 bits · Inseguro)
-
SHA-1 (160 bits · Inseguro)
-
🎫 Inspector y creador de tokens JWT ✅ Firma Válida
Decodifica, edita claims en vivo y firma tokens de autenticación RFC 7519 con verificación criptográfica en tiempo real.
⚡ Perfiles de token:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTYiLCJ1c2VyIjoiZnJhbmNpc2NvIiwicm9sZSI6InVzZXIifQ.-
🌪️ Efecto avalancha (comparador doble)
En una función hash segura (como SHA-256), cambiar un solo bit del mensaje de entrada debe alterar impredeciblemente el ~50% de los bits del hash resultante. Compara dos textos en directo:
⚡ Pruebas de dispersión:
Hash A (SHA-256):
-
Hash B (SHA-256):
-
Bits Invertidos (Difusión)
128 / 256 (50.0%)
Bits Idénticos (Sin cambio)
128 / 256 (50.0%)
Desviación del Ideal (50%)
±0.0%
✨ Dispersión Óptima
🎯 50% Ideal
Calculando dispersión bit a bit...
🧩 Mapa Bit a Bit (256 Bits de SHA-256): 8 filas · 4 bytes (32 bits) por fila
Pasa el cursor por cualquier bit de la matriz para inspeccionarlo...
Bit Invertido (1 ↔ 0) · Cambio por difusión
Bit Idéntico (Sin cambio) · Probabilidad ~50%
🎯 Objetivo Shannon: ~128 / 256 bits cambiados
Mapa resumen byte a byte (32 bytes):

🌐 Calculadora de subredes IP y CIDR

Diseño, cálculo de rangos, broadcast, hosts utilizables y máscara binaria para auditoría de redes IPv4 y esquemas VLSM.

🌐 Parámetros de red IPv4
Topologías típicas:
Identificador de Red:
-
Dirección de Broadcast:
-
Primer Host Utilizable:
-
Último Host Utilizable:
-
Total Hosts Útiles:
-
Tipo de Direccionamiento:
-
Máscara Binaria: -

⚡ Grabador ESP32, Web Serial y utilidades ESP-IDF

Selecciona los binarios (.bin) de tu ordenador generados por PlatformIO, Arduino IDE o ESP-IDF y grábalos directamente en tu placa por USB (Web Serial) o copia los comandos exactos de esptool.py.

📁 Selección de binarios locales y offsets
Elige los archivos binarios (.bin) de tu proyecto desde tu ordenador para cargarlos en sus respectivas particiones de Flash.
📂 Carga Rápida y Auto-Detección de Carpeta
Abre tu carpeta de compilación (.pio/build/esp32dev/) y cargará todos los .bin automáticamente.
Offset Seleccionar Archivo .bin Local Función
💡 Rutas habituales de los binarios:
.pio/build/esp32dev/ [firmware.bin, bootloader.bin, partitions.bin]
🔌 Grabador Web Serial y consola
Conecta tu placa ESP32 por USB y graba los binarios seleccionados directamente desde tu navegador sin instalar herramientas adicionales.
Control de Grabado:
Iniciando flasheo... 0%
0 KB / 0 KB (0 KB/s)
Desconectado
[Web Serial Monitor listo] 1. Selecciona los archivos .bin de tu ordenador en la tabla de la izquierda. 2. Conecta tu ESP32 por USB y pulsa "🔌 Conectar" o "🚀 Grabar Binarios en ESP32". 3. Observa los logs y el progreso en vivo en este monitor.
ESP Web Flasher ↗
📦 Merge bin en línea y comandos CLI
Combina los binarios seleccionados en un único archivo .bin monolítico o copia los comandos exactos de terminal.
Listo para flashear como binario único desde la dirección 0x00000.
Parámetros de la Imagen Flash:
Rellenar hasta 4 MB completo
Rellena los huecos no usados con 0xFF (estado de memoria virgen).
¿Para qué sirve? La memoria física de los microcontroladores viene de fábrica borrada con el valor binario 0xFF. Si dejas esta opción activa, el archivo descargado pesará exactamente el tamaño de la memoria (ej. 4 MB) cubriendo todos los huecos. Es el formato ideal para programar placas masivamente en fábrica o flashear desde el byte cero (0x00000). Si lo desactivas, el archivo será más ligero y solo ocupará hasta donde termine el último archivo.
Forzar cabecera Flash DIO (40 MHz)
Configura el modo SPI Dual I/O compatible con todas las placas.
¿Qué significa? Los primeros bytes del binario le indican al microcontrolador cómo hablar con el chip de memoria Flash externo. El modo DIO (Dual I/O) a 40 MHz usa 2 líneas de datos y es el estándar 100% universal compatible con todas las placas ESP32 del mercado. Si se configurara por error en QIO (Quad I/O) en una placa económica sin 4 pistas cableadas, el microcontrolador no podría arrancar y se quedaría reiniciándose en bucle (bootloop).
Incrustar Flag Validación SHA-256
La ROM Bootloader verificará la integridad criptográfica al arrancar.
¿Cómo te protege? Activa la verificación de integridad criptográfica al encender la placa. La ROM interna del procesador calcula el hash SHA-256 de todo el programa y lo compara con el valor de la cabecera. Si alguien modifica el código o si la memoria se daña por un apagón repentino durante una escritura, la placa detecta la anomalía y se niega a ejecutar código corrupto.
Flag "Encrypted" en tabla de particiones
Instruye al chip a cifrar automáticamente las particiones de App en el 1er arranque.
¿Qué efecto tiene? Graba una bandera dentro de partitions.bin para avisar al bootloader de que tus aplicaciones (particiones app0 y app1) deben cifrarse. Si compilas tu firmware con soporte de cifrado, la placa cifrará automáticamente esas zonas de memoria en su primer encendido con hardware AES-256.
💻 Comando esptool.py write_flash:
esptool.py --chip esp32 --baud 460800 write_flash -z 0x1000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin
📦 Comando esptool.py merge_bin:
esptool.py --chip esp32 merge_bin -o firmware_completo_4MB.bin --flash_mode dio --flash_size 4MB 0x1000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin
🛡️ Protección anticopia y eFuses
Activa las protecciones físicas en el silicio para impedir que lean tu firmware por USB o conecten sondas de depuración.
🔒 Anti-Dumping UART (DISABLE_DL_DECRYPT)
Bloquea la lectura y descarga del firmware cifrado con esptool read_flash.
¿Cómo te protege? En chips sin esta protección, cualquiera puede conectar un cable USB y usar el comando esptool read_flash para descargar todo tu programa compilado a su ordenador y clonarlo. Este eFuse desactiva permanentemente la función de lectura serie en la ROM, impidiendo que nadie pueda volcar o extraer tu firmware.
🔒 Desactivar Debugger JTAG (DISABLE_JTAG)
Bloquea sondas físicas JTAG para evitar volcar claves criptográficas o memoria RAM.
¿Qué riesgo evita? El puerto JTAG permite a un atacante conectar una sonda física a los pines del chip para pausar la CPU, ver las variables en la memoria RAM y extraer claves privadas o contraseñas WiFi. Al quemar este fusible, los pines de depuración por hardware se desconectan físicamente para siempre en el silicio.
🔐 Flash Encryption AES-XTS-256 (FLASH_CRYPT_CNT)
Cifra toda la memoria Flash con clave única e irrepetible generada en el silicio.
¿Cómo funciona el cifrado? El ESP32 genera una clave criptográfica AES de 256 bits única para cada placa mediante su generador cuántico interno (TRNG) y la quema en un eFuse interno inaccesible desde el exterior. Todo el código de la memoria Flash se cifra con esa clave. Si alguien desuelda el chip Flash con aire caliente y lo conecta a un lector externo, solo verá datos cifrados inútiles.
⛔ Desactivar ROM Bootloader permanente (DIS_DOWNLOAD_MODE)
Modo producción estricto: deshabilita el flasheo por cable (solo OTA firmada).
¡Atención: Blindaje de Producción Final! Deshabilita por completo la capacidad de reprogramar el microcontrolador mediante cable USB o puerto serie. A partir de ese momento, la placa SOLO se podrá actualizar de forma inalámbrica por OTA con archivos firmados digitalmente. Nadie podrá cambiar el programa ni conectando cables.
💻 Comando espefuse.py (Quemado de eFuses):
espefuse.py --port COM3 burn_efuse DISABLE_DL_DECRYPT 1 DISABLE_JTAG 1 FLASH_CRYPT_CNT 1
💡 ¿Qué va en el binario vs en los eFuses del silicio?
En el archivo .bin: La cabecera SPI, flags de hash SHA-256 y las marcas de particiones cifradas.
En los eFuses del silicio (OTP): El bloqueo de lectura UART y JTAG. (El bootloader del .bin puede auto-quemar estos eFuses en el 1er arranque si compilas con Flash Encryption activo).

Calculadoras IoT & Hardware Embebido

🔋 Calculadora de Consumo de Batería

Estima la duración de la batería de tu sensor IoT según consumo y ciclo de trabajo.

⚡ Perfiles rápidos:
Duración estimada:
-
-

📡 Calculadora de Alcance LoRaWAN

Estima el alcance máximo según configuración y entorno.

⚡ Perfiles rápidos:
Alcance estimado:
-
-

Comparador de Tecnologías IoT

Tecnología Alcance Velocidad Consumo Coste módulo Casos de uso
LoRaWAN 2-5 km urbano
15+ km rural
0.3 - 50 kbps Muy bajo €3 - €6 Smart Agriculture, contadores agua/gas, smart city
NB-IoT 1-10 km 20 - 250 kbps Bajo €4 - €8 Smart metering, parking, alumbrado público
LTE-M Similar a NB-IoT ~1 Mbps Medio €2 - €8 Trackers con movilidad, logística, salud
Sigfox 3-10 km urbano
30-50 km rural
100 bps Muy bajo €1 - €10/año Sensores simples, alarmas, monitoreo básico
WiFi 50-100 m 1-100+ Mbps Alto €0 (red existente) Smart home, oficinas, entornos controlados
Bluetooth LE 10-100 m 1-2 Mbps Bajo €0 Wearables, beacons, proximidad

Herramientas Recomendadas

← Volver al inicio