Saltar al contenido
uencoder

scrypt ROMix

ROMix es el componente central de scrypt con alta exigencia de memoria: lee y escribe secuencialmente sobre un arreglo de memoria relleno pseudoaleatoriamente, obligando al atacante a gastar mucha memoria o mucho tiempo.

Propósito

Aporta la dureza de memoria de scrypt, de modo que los ataques paralelos requieran igual memoria o tiempo cuadrático.

Mecanismo

Rellena secuencialmente V[0..N] con la función hash (V[i]=H(V[i-1])); luego, partiendo de V[N-1], realiza N saltos pseudoaleatorios indexados por enteros derivados de V, aplicando hash en cada lectura. La combinación de llenado secuencial y acceso aleatorio impone un coste en memoria o en tiempo.

Casos de uso

  • Componente central de scrypt
  • Función con alta exigencia de memoria
  • Hash de contraseñas

Herramientas relacionadas

References