Tutti gli articoli

Scrypt: perché l'algoritmo ha bisogno di così tanta memoria

Con l'entrata in vigore del regolamento europeo MiCA (Markets in Crypto-Assets) nel 2024, l'Italia — come il resto dell'UE — è passata da un vuoto normativo a uno dei quadri regolatori più strutturati al mondo per le criptovalute. Il bitcoin usa SHA-256, ma monete come Litecoin usano scrypt per il proof-of-work: proprio la natura memory-hard di scrypt ha reso per anni la produzione di ASIC dedicati meno conveniente rispetto al bitcoin, mantenendo il mining su GPU comuni più a lungo praticabile.

Cos'è una funzione memory-hard

Un algoritmo memory-hard è progettato deliberatamente in modo che calcolare un singolo hash richieda di mantenere in memoria una grande quantità di dati intermedi. Cercare di risparmiare memoria a costo di ricalcolare i valori, invece, aumenta drasticamente il tempo di calcolo — quindi l'attaccante deve sacrificare o memoria o velocità.

Perché questo rende più difficili gli attacchi su hardware specializzato

I chip ASIC e le GPU sono molto efficienti nell'eseguire in massiccio parallelo operazioni aritmetiche semplici, ma aggiungere memoria a ogni thread di calcolo parallelo costa molto di più e scala peggio. Scrypt rende un attacco a forza bruta su tale hardware economicamente meno vantaggioso rispetto alle funzioni hash classiche.

A cosa serve

  • Scegliere un algoritmo di hashing delle password resistente agli attacchi con farm di GPU.
  • Capire il concetto di funzioni memory-hard nel contesto della crittografia.
  • Confrontare i compromessi tra scrypt, bcrypt e Argon2 per un sistema specifico.

Quanta memoria serve davvero

La quantità di memoria per un singolo calcolo scrypt è approssimativamente pari a 128 × N × r byte. Con parametri tipici (N=16384, r=8) sono circa 16 megabyte per hash — trascurabile per un singolo login, ma se il server deve gestire migliaia di autenticazioni simultanee, la quantità totale di memoria diventa rapidamente un vincolo reale nella scelta dei parametri, non solo un requisito astratto di sicurezza.

Prova lo strumento