Aprendizaje de Hashing Universal para Tablas Resistentes a Colisiones
Visión general
De qué trata este proyecto.
Implementa una familia de funciones hash universales tipo Carter-Wegman h(x) = ((a*x + b) mod p) mod m, donde a, b se eligen aleatoriamente de [1, p-1] y [0, p-1]. Demuestra empíricamente que la probabilidad de colisión entre dos claves distintas es menor o igual a 1/m promediado sobre la elección de (a, b). Construye un atacante que precomputa claves que colisionan para hashes deterministas (Python pre-3.4) y muestra cómo el hashing universal lo neutraliza. Entrega: implementación, demostración empírica, ataque controlado, informe de seminario de 7 páginas.
El Briefing
Lo que harás y lo que demostrarás.
Implementar y validar empíricamente que el hashing universal Carter-Wegman tiene probabilidad de colisión menor o igual a 1/m bajo entradas adversariales.
Earning criteria — what you'll demonstrate
- Implementar familias de hashing universal y derivar sus garantías
- Distinguir hashing determinista de randomizado en términos de adversario
- Construir un atacante que evidencia el problema, no solo describirlo
- Comunicar un resultado teórico-empírico para un seminario académico
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosInvestigador Científico
Implementar hashing universal y construir el ataque adversarial que lo justifica es el tipo de trabajo que sirve de base para una tesis de máster en algoritmos randomizados o sistemas distribuidos.
Este proyecto afina
- universal-hashing
- carter-wegman
- probabilistic-analysis
Ingeniero de Backend
Saber por qué Python 3.4+ usa hashing aleatorizado por defecto te coloca un peldaño por encima en cualquier entrevista de backend orientada a sistemas.
Este proyecto afina
- universal-hashing
- rust
- python