Zum Inhalt springen
uencoder

scrypt ROMix

ROMix ist die speicherintensive Kernkomponente von scrypt: Sie liest und schreibt sequenziell über ein pseudozufällig gefülltes Speicherarray und zwingt Angreifer, entweder viel Speicher oder viel Zeit aufzuwenden.

Zweck

Sie liefert die Speicherhärte von scrypt, sodass Parallelangriffe ebenso viel Speicher oder quadratische Zeit benötigen.

Mechanismus

Sie füllt V[0..N] sequenziell mit der Hashfunktion (V[i]=H(V[i-1])); danach startet sie bei V[N-1] und führt N pseudozufällige Sprünge aus, indiziert durch aus V abgeleitete Ganzzahlen, wobei jeder Lesevorgang gehasht wird. Sequenzielles Füllen plus wahlfreier Zugriff erzwingt Speicher- oder Zeitkosten.

Anwendungsfälle

  • Kernkomponente von scrypt
  • Speicherintensive Funktion (memory-hard)
  • Passwort-Hashing

Verwandte Tools

References