HASH

































C. Giustozzi - Hash sempre più vulnerabili, ma la firma digitale non è a rischio
Hash sempre più vulnerabili, ma la firma digitale non è a rischio.
Solo sei mesi fa commentavamo su queste colonne l'importante risultato di un gruppo di ricercatori cinesi che aveva dimostrato la vulnerabilità della venerabile funzione hash denominata MD5 (si veda Hash vulnerabili, ma la firma digitale resta sicura ), e di nuovo urge tornare sull'argomento a causa di un recente annuncio che si prospetta ancor più significativo: la scoperta che anche la funzione SHA-1, sinora ritenuta piuttosto robusta, soffre invece di vulnerabilità che rendono assai più facile del previsto la scoperta di collisioni al suo interno..
Le scarne note che accompagnano il comunicato, tuttavia, fanno riferimento alla scoperta di un metodo di carattere generale, basato sui risultati ottenuti in precedenza non solo dal gruppo in questione ma anche da vari altri ricercatori impegnati nella crittanalisi delle funzioni hash ..
Nell'articolo citato in precedenza avevamo già avuto l'occasione di descrivere in sufficiente dettaglio l'importanza delle funzioni hash all'interno dei sistemi di firma digitale, illustrando anche il concetto di collisione e spiegando perché l'eventuale possibilità di generare collisioni a piacimento renderebbe totalmente inefficace, anche da un punto di vista legale, il meccanismo di firma digitale così com'è attualmente adottato in tutto il mondo.

Performance e indici HASH | Articoli Database | Database.HTML.it
In questo articolo illustremo come l'impiego di indici su valori HASH possa rendere le migliori performance delle query e ridurre l'ingombro degli indici non cluster..
Cos'è un valore di HASH? Banalmente, un valore di HASH è un numero intero calcolato da un algoritmo (detto funzione di hash) applicato ad una specifica sequenza di caratteri.
Tranne rari casi detti collisioni di HASH, i valori restituiti da una funzione di HASH sono univoci e in grado di identificare la stringa di partenza.
Per maggiori informazioni sugli HASH potete seguire questo link ..
Impiegare le chiavi di HASH nel disegno di un database Immaginiamo di avere una tabella dal nome LIBRI costituita da 1 milione di righe.

Glossario informatico :: Definizione Hash
Glossario informatico: Hash Glossario informatico: una raccolta di tutti i termini informatici riguardanti Internet, l'informatica e i PC.
La caratteristica fondamentale di queste funzioni è la loro difficile invertibilità: in questo modo, dato un valore di hash è molto difficile risalire al messaggio che l'ha generato; è inoltre molto difficile produrre un messaggio che fornisca una stringa predeterminata..
Esempi di algoritmo di hash sono l'MD5 o lo SHA (Secure Hashing Algorithm).

Perl.it - Te le do io le hash
Quando parliamo di tipi principali ci riferiamo a scalari , array ed hash , tralasciando per il momento filehandle e compagnia bella..
Tralasciando le ultime due (impazienza ed arroganza), esercitiamo un po' la prima (pigrizia) per constatare che Perl già mette a disposizione uno strumento ideale per il problema: le hash.
In pratica, una hash è molto simile ad un array i cui indici, invece di essere interi, sono delle stringhe qualunque.
L'esempio del nostro caso si semplifica allora drammaticamente: invece di tenere un doppio array, utilizziamo una sola hash in cui gli indici sono gli indirizzi IP stessi, ed i valori sono il numero di occorrenze:.
#!/usr/bin/perl use strict; use warnings; # Mi serve solo un contenitore! Solo che si tratta di una hash, # quindi il simbolo da utilizzare è il 'percento' my %contatore_richieste; # per ogni riga while (<>) { # ricava l'indirizzo IP sorgente, dovrebbe essere all'inizio /^(S+)/ or next; my $IP = $1; # Risultato della cattura nel match # Incrementa il contatore :) ++$contatore_richieste{$IP}; } Obiezione: chi ci garantisce che così va più veloce? In fondo, occorre pur sempre vedere se l'elemento esiste ed eventualmente aggiungerlo, per poi incrementare il contatore relativo.

Perl.it - Documenti
Gli array e gli hash sono le strutture dati di base del Perl, e permettono di raggruppare valori scalari in vari modi.
Sono poi già inclusi nel linguaggio, e questa è una peculiarità del Perl, gli hash, conosciuti anche come dizionari o array associativi: questi sono sempre delle collezioni di valori a ciasuno dei quali è assegnata però una stringa (chiamata chiave) anziché un numero incrementale.
Un hash , detto anche array associativo , è una struttura simile ad un array: al posto degli indici sono però utilizzate delle stringhe libere, dette chiavi , che permettono di leggere o scrivere il valore ad esse associato.
Abbiamo ora creato un hash di quattro elementi: due scalari a valore numerico ( codice e prezzo ) e due stringhe ( nome e descrizione ).
La sintassi per la gestione degli elementi di un hash è simile a quella che si usa per gli array.
$articolo{'codice'} = 15; Si può anche stampare l'intero hash con:.
La funzione sort() non deve invece essere applicata, in quanto un hash è per definizione non ordinato ed il suo uso porterebbe a risultati indesiderati.
È possibile ottenere un array contenente tutte le chiavi oppure tutti i valori di un hash, tramite le funzioni keys() e values() :.

5 Funzioni di hash e MAC
Note di crittografia 74 Previous: 4 RSA   Indice   Indice analitico 5 Funzioni di hash e MAC Una funzione di hash è una funzione che, dato un qualunque messaggio di lunghezza arbitraria, ne produce un'impronta (detta digest ) di lunghezza prefissata (di solito dell'ordine di 100-200 bit).
L'utilità di una funziona di hash sta nel poter utilizzare l'impronta come rappresentazione compatta del messaggio stesso, tipicamente firmando l'impronta anziché l'intero messaggio; perchè questo possa avvenire è desiderabile che la funzione presenti due proprietà particolari, sia cioè senza collisioni e unidirezionale .
Una funzione di hash è detta debolmente senza collisioni se, dato un messaggio , è computazionalmente impraticabile trovare un messaggio tale che .
Una funzione di hash è detta fortemente senza collisioni se è computazionalmente impraticabile trovare due messaggi e tali che e .
Una funzione di hash è detta unidirezionale se, data un'impronta , è computazionalmente impraticabile trovare un messaggio tale che .
Le funzioni di hash possono essere utilizzate insieme con delle chiavi segrete per ottenere autenticazione e integrità dei messaggi, realizzando così dei MAC (Message Authentication Code).

ALL WEB free PHP sicurezza con md5, sha1 (hash) e crc32
MD5, SHA1 (hash) e CRC32: Nell'url, nel titolo, nella descrizione e nelle keywords di questa pagina sono riportati i termini crittografia e cifratura perchè si tende ad associare gli algoritmi di sicurezza con questi termini, solo perchè data una stringa ne troviamo risultante un'altra con significato nullo, ma niente di questo è esatto ..
Il risultato ottenuto non potrà MAI essere decifrato, in pratica dato un risultato md5 o sha1 (sha1 è della famiglia hash) non potremo MAI risalire alla parola iniziale; ad eccezione di CRC32 ogni parola lettera od altro che passiamo al loro interno rende un risultato SEMPRE DIVERSO fra loro..

Guide of HASH



info: HASH


Photo by www.grow.de
Cosa è un Hash .: Knowledge Base Aruba.it
Cosa è un Hash L’ hash è una funzione univoca operante in un solo senso (ossia, che non può essere invertita), atta alla trasformazione di un testo di lunghezza arbitraria in una stringa di lunghezza fissa, relativamente limitata.
Tale stringa rappresenta una sorta di "impronta digitale” del testo in chiaro, e viene detta valore di hash, checksum crittografico o message digest.

KEMEN - technology focus - Macromedia Flash autenticazione attraverso un hash SHA1
Ovviamente sono ben accetti commenti e miglioramenti ;) Ho raccolto in questo tutorial alcune nozioni sui concetti di hash, di crittografia e li ho applicati a Flash.
Un hash è una procedura che dato un input restituisce un output.
Dato un piccolo cambiamento nel input c'è un sostanziale cambiamento nell'output.Gli algoritmi di hash sono pensati per essere sicuri ma cosa significa sicurezza quando si parla di hash? La sicurezza è raggiunta perchè è necessario un enorme quantità di tempo macchina per poter risalire all'input che è alla base dell'hash.
Facciamo un esempio per capire in cosa consiste un hash.
In questo modo anche se qualcuno intercetta la stringa non può sapere qual è il valore dal quale è stato generato l'hash.
SHA sta per 'Secure Hash Algorithm'.Questo algoritmo è specificato nel 'Secure Hash Standard' (SHS, FIPS 180) che è stato sviluppato dal NIST.SHA-1 è una revisione di SHA pubblicata nel 1994.
il challenge viene salvato in una variabile di sessione il client riceve il challenge lo affianca alla passaword e genera un hash.
Lo userName e la password criptata con il challenge vengono spediti al server il server con lo userName fa una query sul database e riceve la pswd che è stata salvata sul database sottoforma di hash SHA1.

Hash Jar Tempo - Well Oiled :: Le recensioni di Onda Rock
psychedelic-rock di Francesco Nunziata plus less Registrato il 26 marzo del 1995, ma pubblicato solo due anni dopo, 'Well Oiled' è senza dubbio il capolavoro del progetto Hash Jar Tempo, varato dal neozelandese Roy Montgomery (uno dei massimi musicisti degli ultimi anni) insieme ai Bardo Pond (i fratelli Gibbons alle chitarre; Clint Takeda al basso; Joe Culver alla batteria; unica assente, la cantante e flautista Isobel Sollenberger).

The Hashers
Benvenuto al Rome Hash House Harriers! Dal 1986 la Hash di Roma (RHHH) porta caos e confusione nelle strade di Roma e dintorni.
Facciamo parte di una (dis)organizzazione diffusa in tutto il mondo - The Hash House Harriers, o HHH - con oltre un migliaio di club.
CHI? La Hash fu fondata negli anni Trenta da un gruppo di cittadini britannici residenti a Kuala Lumpur in Malesia, che per smaltire la sbornia del sabato si riunivano di domenica nel loro club coloniale - chiamato “ Has h House ” per il cibo immangiabile - da dove partivano per una corsa nella giungla.
Quelli che sopravvissero alla guerra fondarono altre Hash, e da allora l’esempio è stato contagioso: oggi in ogni importante città o Capitale del pianeta esiste almeno un Hash chapter.
COSA? La Hash può essere descritta come una sorta di caccia al tesoro.
QUANDO? Gli Hash di Roma corrono tutte le settimane dell’anno, normalmente di domenica.
Ogni corsa è seguita dalrito del Down-Down e dalle Hash Songs.
La birra è la bevanda Hash: se però non bevi (nessuno è perfetto!) sono disponibili anche acqua e bibite analcoliche.
Gli Hashers provengono da tutti i paesi (soprattutto di lingua inglese) e continenti: alle corse partecipano cittadini stranieri residenti in Italia ( " expats ") , visitatori di altre Hash, e molti italiani.

Benefits


Photo by www.hash.milnet.pl
CRITTOGRAFIA
Questa stringa rappresenta 'un'impronta digitale' unica del messaggio e viene spesso definito valore di hash o checksum crittografico .
Di nessun valore di hash di lunghezza finita si può avere la certezza che provenga da un singolo messaggio.
Inoltre dato un valore di hash, dovrebbe essere impossibile risalire al suo testo originale (se ci si riuscisse la funzione non sarebbe più 'one-way').
Per una dimostrazione forniamo 2 valori di hash, provenienti da input molto diversi in un sistema UNIX, ottenuti tramite l'algoritmo MD5 di cui parleremo tra poco, che estrae da input di qualunque dimensione valori di hash di 128 bits che possono essere rappresentati con 16 cifre esadecimali: ”% echo 'a' ¦ md5.
valore di hash corrispondente: 60B725F10C9C85C70D97880DFE8191B3.
valore di hash corrispondente: EDED6F6C520DEB812BA7154D093AD43 Le funzioni one-way hash svolgono due funzioni molto importanti nella crittografia:.
verifica dell' integrità : se il valore di hash di un certo messaggio è uguale prima e dopo la trasmissione, allora vi sono ottime possibilità che il messaggio ricevuto sia rimasto invariato.

Tabelle di Hash
Esercitazione Si realizzi una libreria che implementi una tabella di Hash con probing lineare.

Primo Progetto del Laboratorio di Programmazione Calcolo di espressioni aritmetiche
Per mantenere i valori delle variabili si dovrà utilizzare una tavola hash.
Cosa si deve realizzare Implementare la tavola hash per la memorizzazione delle variabili e dei loro valori.
A tale fine si dovrà realizzare un modulo hash.c con header hash.h che contiene tutte le funzioni relative all'implementazione della tavola hash.
In particolare, si vuole che questo modulo permetta la gestione di più tavole hash simultaneamente (anche se nel progetto ne serve solo una) e di poter fissare la dimensione della tavola da usare.
Per questo motivo, la tavola hash, oltre a contenere il vettore con i puntatori alle liste dovrà mantenere anche la dimensione di tale vettore.
Per la funzione di hash si consiglia la seguente semplice funzione dove sono i codici ASCII dei primi caratteri della chiave ed è la dimensione della tavola.
Per la tavola hash del progetto si consiglia di assegnare un numero primo ad .

AIDE, Advanced Intrusion Detection Environment
Tale confronto viene eseguito verificando gli hash dei file monitorati, poiché ogni modifica di un file causa la modifica del relativo hash.
L'utilità di un tool come Aide è evidente se si considera quale scocciatura sarebbe calcolare e verificare gli hash manualmente per ogni file, oppure crearsi una serie di shellscript ad hoc per eseguire queste operazioni.
L'installazione, su Debian, può essere portata a termine semplicemente con un apt-get install aide , in modo da risolvere anche eventuali dipendenze, come la libreria libmhash per esempio.
Vengono inoltre valutati sia gli hash md5 che sha1 del file.
Con ogni probabilità il calcolo di un singolo hash sarebbe più che sufficiente, vista la difficoltà di collisioni, ma io preferisco essere paranoico.
Calcolando due hash si può avere la ragionevole certezza che un file che abbia mantenuti inviariati tali valori non sia stato modificato: è praticamente impossibile che due sequenze di bytes differenti possano generare la stessa coppia di hash md5 e sha1.
Utilizzando tale direttiva per i log di sistema, si è evitato di controllare anche variazioni di dimensione, hash e data dell'ultima modifica.

ITportal - Programmazione - Codici hash come gestirli con Java
Moltissime persone vivono senza sapere cosa sia un codice hash, e non per questo sono meno felici.
Nel sistema che stiamo scrivendo abbiamo deciso di usare una mappa (per la precisione una HashMap) nella quale le chiavi sono i canali e i valori sono gli utenti che li amministrano.
Per trovare un esempio di come si calcola l'indice di un 'bucket', andiamo a leggere il codice del metodo put() nella classe java.util.HashMap: .
Questo codice chiede alla chiave il suo codice hash, poi lo 'maschera' per eliminarne il segno e infine ne calcola il modulo per la lunghezza del vettore dei bucket (di nome tab).
Il risultato è l'indice del bucket nel quale verrà conservata la coppia di oggetti chiave-valore, insieme con altre coppie il cui codice hash ha dato come risultato lo stesso bucket.

MokaByte 99 - 7mbre 2005
In questo articolo spiegherò come realizzare un sistema di autenticazione utilizzando le classi MessageDigest e SecureRandom per implementare un meccanismo di autenticazione basato sul Hashing delle password.
Al momento della login sistema il prende la password (testo in chiaro), che ha inviato l'utente ed esegue la crittografia ottenendo un hash..
Si confronta il contenuto dell'hash con quello relativo all'account-utente presente sul db.
Per crittografare la password abbiamo bisogno di una chiave che non dovrebbe essere statica ma cambiare spesso in modo che il valore dell'hash cambi ad ogni passaggio.
Il salt è un array di byte generato in modo casuale che occorre per criptare la password in chiaro e di conseguenza ottenere l, 'hash.
un prima parte denominata hash che è sostanzialmente la password in chiaro crittografata, ovvero il risultato dell'agoritmo di crittografia..
una seconda (salt) che contiene la chiave utilizzata per crittografare la password in ingresso ed ottenere l'hash.
Estrae il record contenente informazioni dell'account dell'utente ma utilizzerà per il momento solo la password crittografata presente(hash + salt).

HASH ?

Fedora Project, sponsored by Red Hat
12.2. Strumenti Il linker include il supporto per il nuovo formato di tavola del'hash dei simboli ELF.
Usare l'opzione --hash-style del linker per selezionare il formato(i)..
12.2.2.1. Avvisi Gli sviluppatori Fedora hanno introdotto cambiamenti nella sezione .hash ELF che fornisce i simboli per il linking dinamico.
Questa nuova sezione .gnu.hash , che è prodotta con la nuova opzione predefinita --hash-style=gnu per gcc , assolve i medesimi propositi delle precedenti sezioni hash.
I binari e le librerie prodotte con le nuove funzioni di hashing sono incompatibili con le vecchie versioni di glibc e linker dinamici.
Per usare le routine di hashing vecchio stile per la compatibilità con sistemi basati su vecchie versioni di glibc , si passi invece l'opzione --hash-style=sysv ..
Dissotterriamo l’Hash | Central Scrutinizer - [ il web in 298 comode rate ]
25 March 2006 Dissotterriamo l’Hash Di Marco Rosella in JS & PHP at 13:33 Come preannunciato nel post precedente, in questi due giorni ho cercato di creare una variante del tema “scrolling morbido con javascript”..
Dipartimento di Scienze Matematiche e Informatiche R. Magari - Università Degli Studi di Siena
Materiale Didattico Materiale BinarySearchTree.java    (da mettere nella cartella StruttureDati) Materiale BNode.java    (rappresenta i nodi di un albero binario di ricerca) Materiale StruttureDati.zip    (pacchetto programmi java realizzati a lezione) Materiale Teoria_complessita_2005.pdf    (lucidi sul capitolo 34 del Testo3) Programma PROGETTI: realizzazione degli alberi red-black(testo 3), algoritmo sui grafi per trovare i cammini minimi utilizzando gli alberi red-black, tabelle hash con scansione lineare e con liste di catenazione.
Inserzione ed Eliminazione nelle tabelle hash(cap.11 del testo 3, cap.13 del testo 2 par.3 e par.4, cap 14 del testo 4)..
Inserzione ed Eliminazione nelle tabelle hash(cap.12 del testo 3, cap.13 del testo 2 par.3 e par.4)..
Python e le Distributed Hash Tables — LinuxTrent
Il secondo componente è un motore di distribuzione degli stessi basato su una Distributed Hash Table (o DHT) che consenta ai concetti pubblici di essere veicolati e richiesti senza l'utilizzo di server.
Mondo IRC . net
Ogni canale aperto ha una hash table che è creata all'occorrenza.
La hash table conterrà gli indirizzi completi degli utenti come item in modo che sia sicuro che siano unici, e i due server (connesso e disconnesso) come valore associato..
2-Si aggiunge l'utente come item di una hash table di ogni canale..
3-Viene chiamato un timer con un delay di tre secondi per pulire la hash table dei canali..
2-Si esegue un loop per ottenere tutti i server disconnessi dal server ancora connesso, specificato nella chiamata del timer usando la hash table del canale.
3-Si esegue un altro loop per ottenere tutti i nick caduti nello split e memorizzati nella hash table di ogni canale.
5-Se sono finiti gli item nella hash table del canale, la cancella..
;Setta la hash table come mostrato precedentemente .
; Ottiene il nome della hash table dai parametri, utilizzando lo stesso schema dell'evento on QUIT .
; Cicla attravarso tutti i 'data' della hash table alla ricerca di tutti quelli che cominciano con il nome del server connesso, .
; Ora che il nick è stato aggiunto, viene cancellato l'utente dalla hash table, cosicchè questa sarà rimossa quando trovata vuota .


Home @CallCenter