OMAC/CMAC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m ortografia
m smistamento lavoro sporco e fix vari using AWB
 
(6 versioni intermedie di 5 utenti non mostrate)
Riga 1:
'''OMAC''' è un codice di autenticazione per messaggi basato su cifratura a blocchi, progettato da [[Tetsu Iwata]] e [[Kaoru Kurosawa]] della [[Nagoya University]]; si tratta di una semplice variante del [[CBC-MAC]] (Cipher Block Chaining Message Authentication Code). L'acronimo OMAC sta per '''One-Key CBC-MAC'''.
{{S|crittografia}}
 
OMAC èÈ sicuro per messaggi di qualsiasi lunghezza, a differenza di CBC-MAC, che lo è soltanto per messaggi di lunghezza fissa.
'''OMAC''' è un codice di autenticazione per messaggi basato su cifratura a blocchi, progettato da [[Tetsu Iwata]] e [[Kaoru Kurosawa]] della [[Nagoya University]].
 
OMAC è il nome generico per OMAC1 e OMAC2. Secondo le specifiche del [[National Institute of Standards and Technology|NIST]], OMAC1 è equivalente a CMAC.
OMAC è una semplice variante del [[CBC-MAC]] (Cipher Block Chaining Message Authentication Code). L'acronimo OMAC sta per '''One-Key CBC-MAC'''.
 
OMAC è sicuro per messaggi di qualsiasi lunghezza, a differenza di CBC-MAC, che lo è soltanto per messaggi di lunghezza fissa.
 
OMAC è il nome generico per OMAC1 e OMAC2. Secondo le specifiche del [[NIST]], OMAC1 è equivalente a CMAC.
 
__TOC__
 
==OMAC1==
Riga 19 ⟶ 13:
===Pre-processing===
A questo punto il processo di generazione si articola nei seguenti passi:
# Per prima cosa disi cripta un blocco di n bit tutti pari a 0 (chiamiamolo 0n) ottenendo un certo valore <math>L=E\ (K,\ 0n)</math>.
# Si controlla se il [[bit più significativo]] di L è 0: se ciò accade si effettua uno shift di un bit nella direzione del bit più significativo. Il bit più significativo viene, quindi, scartato ed uno 0 viene posto nel bit meno significativo. Chiameremo il risultato <math>L.u</math>. Quindi <math>L.u\ =L<<1</math>, che equivale a quanto detto prima. In caso contrario <math>L.u=L<<1\oplus Costante</math>, dove <math>Costante</math> is the n-bit constant.[[ImageFile:Shift omac.png|none]]
# Si controlla il bit più significativo di <math>L.u</math>. Se è pari a 0 allora <math>L.u^2=\ (L.u)<<1</math>, diversamente <math>L.u^2=\ ((L.u)<<1)\oplus Costante</math>.
# A questo punto si memorizzano sia <math>L.u</math> che <math>L.u^2</math>.
Riga 31 ⟶ 25:
#<math>T\ = E(K, X[m])</math>.
#Il codice MAC sarà il troncamento di T a t bit.
 
==OMAC2==
 
 
 
==Bibliografia==
* {{en}}{{pdf}}T. Iwata and K. Kurosawa. [http://www.nuee.nagoya-u.ac.jp/labs/tiwata/omac/docs/omac.pdf OMAC: One-Key CBC MAC]. Fast Software Encryption, FSE 2003, LNCS 2887, pp. 129--153&nbsp;129–153. Springer-Verlag (February 24, 2003, Lund, Sweden).
 
==Voci correlate==
*[[CBC-MAC]]
 
==Collegamenti esterni==
Riga 52 ⟶ 42:
{{Hash e MAC}}
{{Portale|crittografia}}
 
[[Categoria:Hash crittografici]]