Post

Visualizzazione dei post con l'etichetta Hashing

Hashing applicato: riconoscere le trasposizioni con lo Zobrist hashing

Nel post sulla crittografia e l'hashing avevo parlato delle funzioni hash dal punto di vista della sicurezza: lì il nemico è un avversario che vuole trovare collisioni. Oggi voglio mostrare l'hashing dall'altra faccia — quella in cui le collisioni le tolleri , perché ti serve solo un'impronta digitale veloce di un oggetto complesso. L'oggetto, nel mio caso, è una posizione di scacchi; e il problema che risolve è una di quelle cose che sembrano banali finché non provi a programmarle: le trasposizioni . Il problema: la stessa posizione per strade diverse Considera queste due partite: 1. e4 e5 2. Nf3 Nc6 1. Nf3 Nc6 2. e4 e5 Sono due sequenze di mosse diverse, eppure dopo due mosse la scacchiera è identica . Nelle aperture questo non è un caso di scuola, è la norma: l'Inglese traspone di continuo nella Difesa Indiana, il Gambetto di Donna si raggiunge da mille ordini di mossa diversi. Se stai costruendo un albero di analisi di un'apertura — come fa...

Crittografia e Hashing

Immagine
Introduzione Esamineremo in questa nota i concetti principali di crittografia e hashing, a cosa servono, come vengono usati e le best practice in ambito di sicurezza dei dati. Occorre innanzitutto distinguere due tipi di funzioni che possono essere applicate ai dati: la cifratura e l'hashing. Entrambi trasformano un testo "in chiaro" in un testo completamente diverso, ma con differenze sostanziali: la cifratura produce una serie di caratteri che può essere, mediante la decifratura, ritrasformata nel testo iniziale, mentre l'hashing non è una funzione invertibile. La dimensione di un file criptato è in generale molto simile alla dimensione del file originale, mentre l'hashing occupa molto meno spazio (a meno che il file originale non sia di pochi caratteri). La cifratura serve a trasmettere un file in modo che sia leggibile solo a chi sappia come decifrarlo . Durante la seconda guerra mondiale la decifratura di messaggi ha consentito di intercettare...