Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

HMAC

Da Wikipedia, l'enciclopedia libera.

HMAC (keyed-hash message authentication code ohash-based message authentication code) è una modalità per l'autenticazione di messaggi (message authentication code) basata su una funzione di hash, utilizzata in diverse applicazioni legate allasicurezza informatica.

Tramite HMAC è infatti possibile garantire sia l'integrità, sia l'autenticità di un messaggio. HMAC non si occupa di crittografare il messaggio: il messaggio (crittografato o meno) deve essere trasmesso insieme al codice HMAC. I destinatari che hanno una copia della chiave segreta potranno applicare l'algoritmo al messaggio ricevuto, e se il messaggio è autentico, potranno verificare che il codice ricevuto e quello calcolato da se stessi è identico. HMAC utilizza infatti una combinazione del messaggio originale e unachiave segreta per la generazione del codice.

Una caratteristica peculiare di HMAC è il non essere legato a nessuna funzione di hash in particolare, questo per rendere possibile una sostituzione della funzione nel caso non fosse abbastanza sicura. Nonostante ciò le funzioni più utilizzate sonoMD5 eSHA-1, entrambeattualmente considerate poco sicure.

Funzionamento

[modifica |modifica wikitesto]

Il messaggio viene suddiviso in blocchi di lunghezza pari a jbit. Viene poi selezionata una chiave segreta K. Se questa risulta essere più lunga di j bit, a questa viene applicata la funzione H. Quello che si ottiene è detta K', la chiave di HMAC.

K' = K se |K| = j bit
K' = K + padding di zeri se |K| < j bit
K' = H(K) se |K| > j bit
ipad = 00110110 ripetuta j/8 volte
opad = 01011100 ripetuta j/8 volte

Una volta definita K' l'eventualepadding della chiave originale la funzione HMAC calcolerà il valore nel seguente modo:

HMACK(M)=H((Kopad)H((Kipad)M)){\displaystyle \mathrm {HMAC} _{K}(M)=H{\Bigg (}(K'\oplus \mathrm {opad} )\|H{\Big (}(K'\oplus \mathrm {ipad} )\|M'{\Big )}{\Bigg )}}

dove

{\displaystyle \|} indica una semplice concatenazione posizionale
M{\displaystyle M'} la suddivisione in blocchi del messaggioM{\displaystyle M}.

Altri progetti

[modifica |modifica wikitesto]

Altri progetti

Collegamenti esterni

[modifica |modifica wikitesto]
V · D · M
Funzioni crittografiche di Hash eCodici di autenticazione dei messaggi (MAC)
Funzioni di hash principaliMD5 ·SHA-1 ·SHA-2 ·SHA-3
Altre funzioniBLAKE ·GOST ·HAS-160 ·HAVAL ·LM hash ·MDC-2 ·MD2 ·MD4 ·N-Hash ·RIPEMD ·RadioGatún ·Snefru ·Tiger ·Whirlpool
Algoritmi diMACDAA ·CBC-MAC ·HMAC ·OMAC/CMAC ·PMAC ·UMAC ·Poly1305-AES
AttacchiCollisione hash ·Attacco del compleanno ·Attacco preimmagine ·Tabella arcobaleno ·Attacco del canale laterale ·Attacco a forza bruta
VarieEffetto valanga ·Costruzione di Merkle-Damgård ·NESSIE ·NIST hash function competition
Portale Crittografia ·Progetto Crittografia ·Hash crittografici ·MAC
Estratto da "https://it.wikipedia.org/w/index.php?title=HMAC&oldid=138490780"
Categorie:
Categoria nascosta:

[8]ページ先頭

©2009-2025 Movatter.jp