funzioni riassunto
Funzioni impiegate in crittografia per rendere più efficiente e rapida la cifratura di un messaggio rispetto alla crittografia a chiave pubblica. Quest’ultima infatti può essere usata per autenticare l’origine di un messaggio e per garantirne l’integrità, ossia di fatto per apporre la propria firma personale su un messaggio. Tuttavia, a causa dell’elevato costo computazionale, questo approccio può non risultare il migliore, in quanto cifrare tutto il messaggio soltanto per firmarlo può rivelarsi poco efficiente. Inoltre, può diventare problematico rendere l’intero documento illeggibile per il solo scopo di apporre una firma. Entrambi i problemi si possono risolvere con una tecnica diversa e più efficiente, basata sull’uso delle cosiddette funzioni riassunto (funzioni digest o funzioni hash), che vengono applicate al messaggio e producono un valore numerico, detto appunto riassunto del messaggio (message digest). Tale valore numerico è rappresentabile tipicamente con una quantità di bit che varia tra 128 e 256, indipendentemente dalla lunghezza del messaggio originario. Gli algoritmi più diffusi per la generazione del riassunto sono MD5 (Message digest 5, quinta versione di una serie di algoritmi) a 128 bit e SHA (Secure hash algorithm) a 160 bit. Una funzione riassunto deve possedere particolari caratteristiche di tipo computazionale affinché sia utilizzabile negli algoritmi di crittografia garantendo l’integrità del messaggio (ossia assicurando che il messaggio che giunge a destinazione sia identico a quello inviato). Uno dei requisiti da soddisfare conduce al vincolo sulla lunghezza minima di 128 bit per il riassunto. Per garantire, oltre all’integrità del messaggio, anche l’autenticità del mittente, si ricorre alla cifratura del messaggio da parte del mittente con la propria chiave privata. Il messaggio viene poi decifrato dal destinatario con la chiave pubblica del mittente. In tal caso si parla anche di firma digitale.