Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
didattica:triennale:so:ay_1819:progettosettembre [2019/08/08 19:04]
michele [Descrizione]
didattica:triennale:so:ay_1819:progettosettembre [2020/09/17 16:55] (current)
Line 7: Line 7:
 Con SHA (Secure Hash Algorithm) si indica una famiglia di funzioni crittografiche di hash sviluppate a partire dal 1993 dalla National Security Agency (NSA). 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 (ad esempio SHA-256 produce un digest di 256 bit). Nelle //GNU Core Utilities// sono disponibili i programmi (da shell) ''​sha1sum'',​ ''​sha224sum'',​ ''​sha256sum'',​ ''​sha384sum''​ e ''​sha512sum''​ che consentono di calcolare (e verificare) il //digest// associato ad un file. Una descrizione (con pseudocodice) degli algoritmi SHA sono disponibili ai seguenti link: [[https://​it.wikipedia.org/​wiki/​Secure_Hash_Algorithm#​Pseudocodice_di_SHA-1|link1]],​ [[https://​it.wikipedia.org/​wiki/​Secure_Hash_Algorithm#​Pseudocodice_di_SHA-256_(una_variante_di_SHA-2)|link2]]. Con SHA (Secure Hash Algorithm) si indica una famiglia di funzioni crittografiche di hash sviluppate a partire dal 1993 dalla National Security Agency (NSA). 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 (ad esempio SHA-256 produce un digest di 256 bit). Nelle //GNU Core Utilities// sono disponibili i programmi (da shell) ''​sha1sum'',​ ''​sha224sum'',​ ''​sha256sum'',​ ''​sha384sum''​ e ''​sha512sum''​ che consentono di calcolare (e verificare) il //digest// associato ad un file. Una descrizione (con pseudocodice) degli algoritmi SHA sono disponibili ai seguenti link: [[https://​it.wikipedia.org/​wiki/​Secure_Hash_Algorithm#​Pseudocodice_di_SHA-1|link1]],​ [[https://​it.wikipedia.org/​wiki/​Secure_Hash_Algorithm#​Pseudocodice_di_SHA-256_(una_variante_di_SHA-2)|link2]].
  
-<wrap em>**Non è possibile usare librerie C che computino i valori sha.**</​wrap>​+<wrap em>**Non è possibile usare librerie C (o richiamare applicazioni) ​che computino i valori sha**</​wrap>​
 ==== Descrizione ==== ==== Descrizione ====
 Nel progetto occorre sviluppare l'​applicazione ''​shadb''​ che consente di archiviare i valori dei //digest// associati ai diversi file in un file apposito allo scopo di verificare se un dato file è già presente o meno nel proprio archivio. Le informazioni raccolte dal programma vengono salvate all'​interno di un file la cui struttura è la seguente: Nel progetto occorre sviluppare l'​applicazione ''​shadb''​ che consente di archiviare i valori dei //digest// associati ai diversi file in un file apposito allo scopo di verificare se un dato file è già presente o meno nel proprio archivio. Le informazioni raccolte dal programma vengono salvate all'​interno di un file la cui struttura è la seguente:
Line 60: Line 60:
 <​code>​ <​code>​
 /​home/​utente/​loretm.txt\r\n /​home/​utente/​loretm.txt\r\n
-SHA1+SHA1\r\n
 e30e23b314c61b150ff5202d5aa30f87911893d1\r\n e30e23b314c61b150ff5202d5aa30f87911893d1\r\n
 </​code> ​ </​code> ​