Secure Hash Algorithm: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
LauBot (discussione | contributi)
m Bot: correzione delle sezioni con gerarchia errata
LauBot (discussione | contributi)
m Bot: passaggio degli url da HTTP a HTTPS
Riga 3:
Come ogni [[algoritmo]] di ''hash'', l'SHA produce un ''message digest'', o "impronta del [[messaggio]]", di lunghezza fissa partendo da un messaggio di lunghezza variabile. La sicurezza di un [[algoritmo]] di ''hash'' risiede nel fatto che la funzione non sia reversibile (non sia cioè possibile risalire al messaggio originale conoscendo solo questo dato) e che non deve essere mai possibile creare ''intenzionalmente'' due messaggi diversi con lo stesso ''digest''. Gli algoritmi della famiglia sono denominati '''SHA-1''', '''SHA-224''', '''SHA-256''', '''SHA-384''' e '''SHA-512''': le ultime 4 varianti sono spesso indicate genericamente come '''SHA-2''', per distinguerle dal primo. Il primo produce un ''digest'' del messaggio di soli 160 [[bit]], mentre gli altri producono ''digest'' di lunghezza in bit pari al numero indicato nella loro sigla (SHA-256 produce un ''digest'' di 256 bit). L'SHA-1 è il più diffuso algoritmo della famiglia SHA ed è utilizzato in numerose applicazioni e protocolli nonostante sia ormai insicuro e verrà presto sostituito dagli altri, più moderni ed efficienti.
 
La sicurezza di SHA-1 è stata appunto compromessa dai [[crittoanalisi|crittoanalisti]].<ref>[httphttps://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html Crittoanalisi dell'SHA-1 (Schneier)]</ref> Sebbene non siano ancora noti attacchi alle varianti SHA-2, esse hanno un algoritmo simile a quello di SHA-1 per cui sono in atto sforzi per sviluppare algoritmi di ''hashing'' alternativi e migliorati.<ref>[httphttps://www.schneier.com/blog/archives/2005/11/nist_hash_works_4.html Schneier on Security: NIST Hash Workshop Liveblogging (5)<!-- Titolo generato automaticamente -->]</ref><ref>[http://www.heise-security.co.uk/articles/75686/2 The H: Security news and Open source developments<!-- Titolo generato automaticamente -->]</ref>
Un concorso aperto per la realizzazione di una nuova funzione '''SHA-3''' venne annunciato nel ''Federal Register'' il 2 novembre 2007<ref name=autogenerato1>[http://csrc.nist.gov/groups/ST/hash/documents/FR_Notice_Nov07.pdf Document<!-- Titolo generato automaticamente -->]</ref> dal NIST e attraverso una [[Competizione NIST per funzioni hash|competizione pubblica]], simile a quella adottata per il processo di sviluppo dell'[[Advanced Encryption Standard|AES]],<ref>[http://www.csrc.nist.gov/pki/HashWorkshop/index.html Bounce to index.html<!-- Titolo generato automaticamente -->] {{webarchive|url=https://web.archive.org/web/20080205143613/http://www.csrc.nist.gov/pki/HashWorkshop/index.html |data=5 febbraio 2008 }}</ref> ha portato in data 2 ottobre 2012 ad annunciare come vincitore l'algoritmo [[Keccak]]. Opera di un team di analisti italiani e belgi, il Keccak<ref>[http://keccak.noekeon.org/ The Keccak sponge function family<!-- Titolo generato automaticamente -->]</ref> sembra dunque destinato a venire gradualmente incluso e adottato nelle soluzioni di sicurezza informatica più variegate.
 
Riga 59:
| colspan="2" | '''SHA-0''' || 160 || 160 || 512 || 2<sup>64</sup> − 1 || 32 || 80 || +,and,or,xor, rotl || Sì
|- align="center"
| colspan="2" | '''SHA-1''' || 160 || 160 || 512 || 2<sup>64</sup> − 1 || 32 || 80 || +,and,or,xor, rotl || Attacco 2<sup>53</sup><ref>[httphttps://www.debian-administration.org/users/dkg/weblog/48 Weblog for dkg - HOWTO prep for migration off of SHA-1 in OpenPGP<!-- Titolo generato automaticamente -->]</ref>
|- align="center"
| rowspan="2" | '''SHA-2''' || ''SHA-256/224'' || 256/224 || 256 || 512 || 2<sup>64</sup> − 1 || 32 || 64 || +,and,or,xor,shr, rotr || Nessuna
Riga 272:
== Bibliografia ==
* Florent Chabaud, Antoine Joux: Differential Collisions in SHA-0. [[CRYPTO]] 1998. pp56–71
* [[Eli Biham]], Rafi Chen, Near-Collisions of SHA-0, Cryptology ePrint Archive, Report 2004/146, 2004 (appeared on CRYPTO 2004) [httphttps://eprint.iacr.org/2004/146/]
* Joux, Carribault, Lemuet, Jalby: Collision for the full SHA-0 algorithm, CRYPTO 2004 [httphttps://www.mail-archive.com/cryptography@metzdowd.com/msg02554.html]
* [[Xiaoyun Wang]], Hongbo Yu and Yiqun Lisa Yin, Efficient Collision Search Attacks on SHA-0, CRYPTO 2005 [http://www.infosec.sdu.edu.cn/paper/Efficient%20Collision%20Search%20Attacks%20on%20SHA-0.pdf]
* [[Xiaoyun Wang]], Yiqun Lisa Yin and Hongbo Yu, Finding Collisions in the Full SHA-1, CRYPTO 2005 [http://www.infosec.sdu.edu.cn/paper/sha1-crypto-auth-new-2-yao.pdf]
Riga 309:
 
=== Implementazioni ===
* [httphttps://www.openssl.org/ The OpenSSL Project] – La diffusa libreria OpenSSL include [[free software|software libero]] ed [[open source]] con implementazione dell'SHA-1, SHA-224, SHA-256, SHA-384 ed SHA-512
* [httphttps://www.cryptopp.com/ Crypto++] Crypto++, libreria libera in C++ con schemi crittografici
* [httphttps://www.bouncycastle.org/ Bouncy Castle] La libreria Bouncy Castle è una libreria libera in Java e C# che contiene implementazioni dell'SHA-1, SHA-224, SHA-256, SHA-384 ed SHA-512, e di altri algoritmi di hash.
 
=== Tutorial e codici d'esempio ===