Construye tu propio cliente BitTorrent
Construye un cliente BitTorrent desde cero. Decodifica bencode, consulta trackers y descarga un archivo real con el protocolo peer-to-peer.
Go · Python · Java
Construye funciones SHA-256 y HMAC desde cero. Implementa rotaciones, padding y bloques de compresión, y firma mensajes sin una biblioteca criptográfica.
Constrúyelo en tu lenguaje
El tester trata tu programa como una caja negra: sirve cualquier lenguaje. Estos son los más cómodos para este proyecto.
Un hash criptográfico es una función que sale en todas partes —contraseñas, firmas, blockchains, integridad de ficheros— y que casi nadie ha visto por dentro. Por dentro son rotaciones y sumas, nada más.
Implementarás SHA-256 desde el padding hasta el bloque de compresión, verificarás tu salida contra los vectores de prueba oficiales y la usarás para construir HMAC y firmar tokens de verdad.
7 etapas repartidas en 3 fases. Cada etapa trae su guía y sus tests: avanzas cuando pasan.
Padding, longitud en bits y troceado en bloques de 512.
Expansión del mensaje, las 64 rondas y validación con los vectores del NIST.
HMAC-SHA256, firma y verificación de tokens en tiempo constante.
Construye un cliente BitTorrent desde cero. Decodifica bencode, consulta trackers y descarga un archivo real con el protocolo peer-to-peer.
Go · Python · Java
Construye tu propio Git desde cero. Guarda blobs, trees y commits para entender los objetos direccionados por contenido y el control de versiones.
Go · Python · Rust