Algoritmi hash e firma

Gli algoritmi seguenti calcolano hash e firme digitali. Ognuno di questi algoritmi è supportato nei provider di crittografia avanzati, avanzati e avanzati di Microsoft Base. I dettagli interni di questi algoritmi non rientrano nell'ambito di questa documentazione. Per un elenco di origini aggiuntive, vedere Documentazione aggiuntiva sulla crittografia.

Algoritmi Descrizione
MAC CBC (Cipher Block Chaining)
Uno degli algoritmi (CALG_MAC) implementati dai provider Microsoft è un codice MAC (Message Authentication Code) a blocchi. Questo metodo crittografa i dati di base con una crittografia a blocchi e quindi usa l'ultimo blocco crittografato come valore hash. L'algoritmo di crittografia usato per compilare il MAC è quello specificato al momento della creazione della chiave di sessione.
HMAC
Algoritmo (CALG_HMAC) implementato dai provider Microsoft. Questo algoritmo usa anche una chiave simmetrica per creare l'hash, ma è più complesso rispetto al semplice algoritmo MAC CBC (Cipher Block Chaining). Può essere usato con qualsiasi algoritmo hash crittografico iterato, ad esempio MD5 o SHA-1. Per informazioni dettagliate, vedere Creazione di un HMAC.
MD2, MD4 e MD5
Questi algoritmi hash sono stati tutti sviluppati da RSA Data Security, Inc. Questi algoritmi sono stati sviluppati in ordine sequenziale. Tutti e tre generano valori hash a 128 bit. Tutti e tre sono noti per avere punti deboli e devono essere utilizzati solo se necessario a scopo di compatibilità. Per il nuovo codice, è consigliabile usare la famiglia di hash SHA-2.
Questi algoritmi sono ben noti e possono essere esaminati in dettaglio in qualsiasi riferimento sulla crittografia.
Message Authentication Code (MAC)
Gli algoritmi MAC sono simili agli algoritmi hash, ma vengono calcolati usando una chiave simmetrica (sessione). La chiave di sessione originale è necessaria per ricompilare il valore hash. Il valore hash ricalcolate viene usato per verificare che i dati di base non siano stati modificati. Questi algoritmi sono talvolta denominati algoritmi hash con chiave. Per vedere quali provider Microsoft supportano MAC, vedere Provider di servizi di crittografia Microsoft.
Secure Hash Algorithm (SHA-1)
Questo algoritmo hash è stato sviluppato dal National Institute of Standards and Technology (NIST) e dall'Agenzia nazionale per la sicurezza (NSA). Questo algoritmo è stato sviluppato per l'uso con DSA (Digital Signature Algorithm) o DSS (Digital Signature Standard). Questo algoritmo genera un valore hash a 160 bit. SHA-1 è noto per avere punti deboli e deve essere usato solo se necessario a scopo di compatibilità. Per il nuovo codice, è consigliabile usare la famiglia di hash SHA-2.
Secure Hash Algorithm - 2 (SHA-2)
Questo algoritmo hash è stato sviluppato come successore di SHA-1 dal National Institute of Standards and Technology (NIST) e dall'Agenzia nazionale di sicurezza (NSA). Ha quattro varianti, SHA-224, SHA-256, SHA-384 e SHA-512, denominate in base al numero di bit negli output. Di questi, SHA-256, SHA-384 e SHA-512 vengono implementati nel provider di crittografia Microsoft AES.
Algoritmo di autorizzazione client SSL3
Questo algoritmo viene usato per l'autenticazione client SSL3. Nel protocollo SSL3, una concatenazione di un hash MD5 e un hash SHA viene firmato con una chiave privata RSA. CryptoAPI 2.0 e Microsoft Base e Enhanced Cryptographic Providers supportano questa funzionalità con il tipo hash CALG_SSL3_SHAMD5. Per altre informazioni, vedere Creazione di un hash CALG_SSL3_SHAMD5.