Cosè un hash crittografico?

Le basi degli algoritmi di crittografia sono abbastanza facili da capire. Un input o testo in chiaro viene preso insieme a una chiave ed elaborato dall'algoritmo. L'output è crittografato e noto come testo cifrato. Tuttavia, una parte fondamentale di un algoritmo di crittografia è che è possibile invertire il processo. Se si dispone di un testo cifrato e della chiave di decrittazione, è possibile eseguire nuovamente l'algoritmo e recuperare il testo in chiaro. Alcuni tipi di algoritmi di crittografia richiedono l'utilizzo della stessa chiave sia per crittografare che per decrittografare i dati. Altri richiedono una coppia di chiavi, una per crittografare e un'altra per decrittografare.

Il concetto di algoritmo di hashing è correlato ma presenta alcune differenze critiche. La differenza più importante è il fatto che un algoritmo di hashing è una funzione unidirezionale. Metti il ​​​​testo in chiaro in una funzione hash e ottieni un hash digest, ma non c'è modo di trasformare quel hash digest nel testo in chiaro originale.

Nota: l'output di una funzione hash è noto come hash digest, non come testo cifrato. Anche il termine hash digest è comunemente abbreviato in "hash", sebbene a volte l'uso di tale termine possa mancare di chiarezza. Ad esempio, in un processo di autenticazione, generi un hash e lo confronti con l'hash archiviato nel database.

Un'altra caratteristica fondamentale di una funzione hash è che l'hash digest è sempre lo stesso se si fornisce lo stesso input di testo in chiaro. Inoltre, se apporti anche una piccola modifica al testo in chiaro, l'output dell'hash digest è completamente diverso. La combinazione di queste due caratteristiche rende gli algoritmi di hashing utili nella crittografia. Un uso comune è con le password.

Algoritmi di hashing delle password

Quando accedi a un sito Web, fornisci il tuo nome utente e password. A livello di superficie, il sito Web controlla quindi che i dettagli inseriti corrispondano ai dettagli che ha in archivio. Il processo non è così semplice però.

Le violazioni dei dati sono relativamente comuni, è molto probabile che tu ne sia già stato colpito. I dati dei clienti sono uno dei grandi bersagli in una violazione dei dati. Gli elenchi di nomi utente e password possono essere scambiati e venduti. Per rendere l'intero processo più difficile per gli hacker, i siti Web generalmente eseguono ogni password tramite un algoritmo di hashing e memorizzano solo l'hash della password anziché la password stessa.

Funziona perché quando un utente tenta di autenticarsi, il sito Web può anche eseguire l'hash della password inviata e confrontarla con l'hash memorizzato. Se corrispondono, sa che è stata inviata la stessa password anche se non sa quale fosse la password effettiva. Inoltre, se il database con gli hash delle password in esso memorizzati viene violato dagli hacker, non possono vedere immediatamente quali sono le password effettive.

Hash forti

Se un hacker ha accesso agli hash delle password, non c'è molto che possano farci subito. Non esiste una funzione inversa per decrittografare gli hash e vedere le password originali. Invece, devono provare a decifrare l'hashish. Ciò comporta fondamentalmente un processo di forza bruta per indovinare molte password e vedere se qualcuno degli hash corrisponde a quelli memorizzati nel database.

Ci sono due problemi quando si tratta della forza di un hashish. La forza della funzione di hashing stessa e la forza della password sottoposta ad hashing. Supponendo che vengano utilizzati una password complessa e un algoritmo di hashing, un hacker dovrebbe provare abbastanza password per calcolare il 50% dell'intero spazio di output dell'hash per avere una possibilità del 50/50 di decifrare ogni singolo hash.

La quantità di elaborazione può essere drasticamente ridotta se l'algoritmo di hashing presenta punti deboli che trapelano dati o hanno una maggiore possibilità di avere accidentalmente lo stesso hash, noto come collisione.

Gli attacchi di forza bruta possono essere lenti poiché esiste un numero enorme di possibili password da provare. Sfortunatamente, le persone tendono ad essere abbastanza prevedibili quando si tratta di password. Ciò significa che è possibile fare ipotesi plausibili, utilizzando elenchi di password comunemente utilizzate. Se scegli una password debole, potrebbe essere indovinata molto prima di quanto suggerirebbe il 50% del percorso attraverso lo spazio di output dell'hash.

Questo è il motivo per cui è importante utilizzare password sicure. Se l'hash della tua password è coinvolto in una violazione dei dati, non importa se il sito Web ha utilizzato il miglior algoritmo di hashing possibile e più sicuro disponibile, se la tua password è "password1" verrà comunque indovinata quasi istantaneamente.

Conclusione

Un algoritmo di hashing è una funzione unidirezionale. Produce sempre lo stesso output se fornito con lo stesso input. Anche piccole differenze nell'input cambiano in modo significativo l'output, il che significa che non puoi dire se eri vicino all'input giusto. Le funzioni hash non possono essere invertite. Non c'è modo di dire quale input è stato utilizzato per generare un determinato output senza solo indovinare. Una funzione hash crittografica è crittograficamente sicura e adatta per usi che richiedono quel tipo di sicurezza. Un caso d'uso comune è l'hashing delle password. Altri casi d'uso includono l'hashing dei file come verifica dell'integrità.



Come clonare un disco rigido

Come clonare un disco rigido

Nell'era digitale moderna, in cui i dati sono una risorsa preziosa, la clonazione di un disco rigido su Windows può essere un processo cruciale per molti. Questa guida completa

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Stai riscontrando il messaggio di errore durante l'avvio del computer che dice che il driver WUDFRd non è stato caricato sul tuo computer?

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Hai riscontrato l'esperienza NVIDIA GeForce con il codice di errore 0x0003 sul tuo desktop? Se sì, leggi il blog per scoprire come correggere questo errore in modo semplice e veloce.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Come rimuovere una GPU da un PC Windows nel 2023

Come rimuovere una GPU da un PC Windows nel 2023

Devi rimuovere la GPU dal tuo PC? Unisciti a me mentre ti spiego come rimuovere una GPU dal tuo PC in questa guida dettagliata.

Come installare ununità SSD NVMe su desktop e laptop

Come installare ununità SSD NVMe su desktop e laptop

Hai acquistato un nuovo SSD NVMe M.2 ma non sai come installarlo? Continua a leggere per sapere come installare un'unità SSD NVMe su laptop o desktop.

Cosè una bomba logica?

Cosè una bomba logica?

Una bomba logica è un incidente di sicurezza in cui un utente malintenzionato organizza un'azione ritardata. Continua a leggere per scoprire di più.

Che cosè Stuxnet?

Che cosè Stuxnet?

Stuxnet era un worm autopropagante. È stato il primo utilizzo di un'arma informatica e la prima istanza di malware.

Cosè un hacker etico?

Cosè un hacker etico?

Un hacker etico è un hacker che agisce entro i limiti della legge. Continua a leggere per saperne di più sull'argomento.

Che cosè la crittografia simmetrica?

Che cosè la crittografia simmetrica?

Ci sono molte parti diverse della crittografia. Se vuoi crittografare alcuni dati, ci sono due tipi di algoritmi che puoi usare: symmetric