Tag: hash

  • Hash table

    Un video molto istruttivo in un ottimo inglese che spiega molto bene l’utilizzo delle funzioni di hash applicate all’indicizzazione dei database.

    Anche se sapete come funzionano e cosa sono le funzioni di hash, consiglio di vedere questo video perché è molto interessante.

  • Obsolescenza di SHA-1

    I problemi di collisione hanno provocato l’inizio del ritiro dell’algoritmo di hash SHA-1.

    I maggiori produttori di browser hanno delineato i passi che porteranno i certificati con hash SHA-1 a non essere più considerati attendibili. (altro…)

  • Freestart collision di SHA-1

    SHA-1 è un algoritmo di hash, ovvero un algoritmo che trasforma una serie di dati di lunghezza arbitraria in una serie di dati di lunghezza fissa.

    In crittografia una buona funzione di hash non deve permettere di dedurre i dati sorgente conoscendo solamente il risultato e non deve permettere facili collisioni, ovvero dato un risultato, trovare una sequenza di dati che fornisca quel preciso valore di hash.

    Le funzioni di hash utilizzate in crittografia cambiano con l’evolversi della potenza computazionale a disposizione. MD5 è stato reso obsoleto da tempo, ora è il turno di SHA-1 perché la sua vulnerabilità è una cosa nota da qualche tempo.

    Con un hardware attuale normalmente acquistabile si può calcolare una collisione SHA-1 in una settimana circa. (altro…)

  • PHP: come non confrontare gli hash

    Provate ad eseguire questo codice:

    <?php var_dump(md5('240610708') == md5('QNKCDZO'));
    var_dump(md5('aabg7XSs') == md5('aabC9RqS'));
    var_dump(sha1('aaroZmOk') == sha1('aaK1STfY'));
    var_dump(sha1('aaO8zKZF') == sha1('aa3OFF9m'));
    var_dump('0010e2' == '1e3');
    var_dump('0x1234Ab' == '1193131');
    var_dump('0xABCdef' == ' 0xABCdef');
    (altro…)

  • SHA-1

    La crescita della potenza di calcolo crea problemi ai vecchi algoritmi di sicurezza o di hash.

    L’algoritmo MD5 era stato reso obsoleto a fine 2008, ora è il turno di SHA-1.

    Il protocollo https fa un ampio uso degli algoritmi di hash, ma se è relativamente facile calcolare delle collisioni che permettono di calcolare il dato originale partendo dall’hash, la sicurezza di https è compromessa. (altro…)

  • Un pizzico di sale

    Bruce Schneier ricorda per l’n-sima volta che, quando richiesto, è il caso di salare gli algoritmi di hash.

    Di solito gli algoritmi di hash si usano per rappresentare con un valore gestibile (un numero) qualcosa che o non si vuole scrivere in chiaro (una password, un dato personale) oppure si vuole rappresentare in maniera compatta per una comparazione o ricerca più veloce. Ovviamente il secondo caso non deve essere salato e ci arrivano tutti a capire il motivo.

    Spesso la funzione di hash è surgettiva, ma le collisioni sono un male accettabile e, per quanto riguarda le password, può anche andare bene che sia tale, in quanto il rischio che, mettendo una password casuale, si ottenga una collisione è tollerabile.

    (altro…)