Civile.it
/internet
Osservatorio sul diritto e telecomunicazioni informatiche, a cura del dott. V. Spataro dal 1999, documenti.

Il dizionario e' stato letto volte.



Segui via: Email - Telegram
  Dal 1999   spieghiamo il diritto di internet  Store  Podcast  Dizionario News alert    
             

  


Dizionario 28.12.2021    Pdf    Appunta    Letti    Post successivo  

Hash: cosa significa - dizionario

Definizione


Spataro

 

I

Il 1.2.2007 ho rinviato alla voce Puntatore per spiegare cosa è un hash.

Oggi 29.12.2021, la funzione di hash è diffusa e usate in contesti importanti. Vale la pena spendere qualche parola aggiuntiva.

La funzione di hash è un calcolo che converte una serie di byte in una impronta univoca.

L'impronta univoca è una sequenza di determinati caratteri che, per motivi statistici, possono essere ragionevolmente considerati l'unico risultato che viene creato leggendo i caratteri in input.

^ Esempio

E' più semplice fare che spiegare. Create un file pippo.txt e scrivete "ciao mondo". Salvate il file e applicare una funzione di hash (tra le varie esistenti) che genera una impronta. Ci sono programmi gratuiti e servizi online, divertitevi. Microsoft ne regala uno. con queste regole ( MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC32 ).

Segnatevi il codice che viene generato fornendo il file pippo.txt al software.

Cambiate il nome del file, ripetete l'operazione: il codice è uguale. La funzione di hash non cambia perchè agisce  sui contenuti.

Cambiate il contenuto del file, anche poco, e ricalcolate l'hash: sarà diverso.

Abbiamo così sperimentato che dando un file ad una funzione di hash viene generato un codice univoco (spesso usato come puntatore per ritrovare il contenuto completo) che lo può identificare.

^ Nelle PEC

Un uso intelligente delle funzioni di hash è l'inserimento dell'hash di un file che alleghiamo ad una pec. L'allegato potrebbe essere disconosciuto perchè per motivi legali ma non tecnici alcuni giudici hanno che l'allegato potrebbe non valere, come se non fosse allegato. In realtà inserendo l'hash del file nella pec voi state certificando in modo inequivocabile che avete mandato un allegato e proprio quello. Infatti cambiando una virgola, l'hash non sarebbe uguale.

^ Funzione vs algoritmo

Ora qui è importante dire che una funzione è una insieme di calcoli.

Un algoritmo è un insieme di scelte, non solo meri calcoli.

L'algoritmo di hashing è un termine che si usa per indicare le operazioni di calcolo ben complesse, tanto complesse da potersi definire un algoritmo. Scelte regolate da standard matematici, ma scelte.

Non esiste l'algoritmo hash. Esiste la funzione di hash.

^ Blockchain ed NFT

Dove troviamo oggi gli algoritmi di hashing ? Nelle blockchain, negli NFT, nelle funzioni crittografiche, nel controllo dei files scaricati da internet, nell'identificare  un oggetto o un soggetto all'interno di una raccolta di dati.

Non è in grado di anonimizzare perchè effettuando l'operazione inversa non ottengo nulla ma, potendo ripetere l'operazioni, posso trovare l'hash.

Per esempio la mia email avrà sempre lo stesso hash. Se applico la funzione di hash alla mia email, mi basta l'email per trovare l'hash e usarlo là dove viene nascosto. Nascondere troppo i dati all'interno di un database di solito è una operazione a basso senso, in quanto il database raccoglie dati, ma soprattutto per ritrovarli ed elaborarli. Se non li può elaborare, non serve a nulla.

^ Password

Così le password. Posso memorizzarle in md5, ma le posso ritrovare

Funzioni come bcrypt invece dipendono da altri elementi e sono pensate per rallentare l'operazione di scoprire quale dato rappresentano.

Si parla di rappresentazione quando si dice che una impronta è univoca quindi l'impront rappresenta univocamente un qualcosa.

^ L'operazione inversa

I tempi computazionali, per effettuare l'operazione inversa, sono alti, ma i computer quantici potrebbero far saltare tutta la sicurezza del web (creando ladri, furti d'identità, documenti falsi, transazioni certificate) in modo inspiegabile.

Quando si parla di algoritmo di hash si usa una terminologia tipica di chi ha tradotto malamente dall'inglese quello che viene univocamente chiamato hashing algorithm, non hash algorithm.

Il problema dell'incapacità degli operatori di diritto di conoscere la tecnologia come un fatto da guardare, volendola invece stravolgere nel senso che le si vuole dare, porta a far parlare di hashing quando si presentano gli algoritmi.

^ Gli algoritmi sono qualcosa di più complesso di una semplice funzione.

^ Gli algoritmi sono regole applicate a dati. Regole deterministiche o statistiche (come nel caso dell'intelligenza artificiale) che operano sulla base di dati certi, variabili, casuali, interni o esterni.

In poche parole gli algoritmi valutano situazioni anche molto complesse (molti dati) secondo anche molti criteri (molte regole) a volte già codificate, a volte autocodificate.

^ Insomma: è un errore sviante parlare di "if  then that" (non if this than that che è un servizio online) per definire un algoritmo.

Un algoritmo può anche mancare di "if", in quanto la struttura, la sequenzialità dei comandi, è essa stessa un modo per raggiungere o non raggiungere il risultato desiderato.

Altro errore tipico dei giuristi è concentrarsi sui criteri dell'algoritmo, come se i dati fossero un passo successivo. Non solo i dati sono un fatto preesistente ai criteri, ma ne determinano l'applicazione.

Nella finanza è noto che si possono dare dati falsi per ingannare il sistema e produrre effetti sulle quotazioni: i software sono certificati ma solo il programmatore che ha provato / progettato tutte le ipotesi ne può conoscere il punto debole. Il programmatore o i sofisticati tool di intelligenza artificiale applicati a github per monitorare il codice e ripararlo.

In poche parole "^ criteri (intesi come comandi e condizioni) e dati" vanno visti come un sistema che insieme produce un risultato.

L'algoritmo è l'insieme di istruzioni che presuppongono un tipo di dati. Se il presupposto cade, l'algoritmo darà risultati strani, ma corretti. E' stato sbagliato usarlo fuori dal contesto (ipotesi di partenza), all'interno del quale era stato concepito.

Per favore. ^ Non usate il termine hash per spiegare cosa sono gli algoritmi. E' terribile. Come dire che un trasportato in un sinistro è un soggetto giuridico come un erede.

28.12.2021 Spataro



Lurkare
Fediverso
Infografiche
Voto elettronico
Gatekeeper
App smashing
Dizionario di internet- 18 anni 1740 voci 5.000.000 di consultazioni
Metaverso
Phygital
Graphicacity



Segui le novità in materia di Dizionario su Civile.it via Telegram
oppure via email: (gratis Info privacy)


Dossier:



dallo store:
visita lo store






Dal 1999 il diritto di internet. I testi sono degli autori e di IusOnDemand srl p.iva 04446030969 - diritti riservati - Privacy - Cookie - Condizioni d'uso - in 0.018