Aplicarea a puternic funcția hash ca SHA-256 la criptarea ECB a unui mesaj (folosind o cheie secretă $K$) produce un Mac securizat? De exemplu, dat un mesaj $m$, ar fi o simplă construcție mac $H(E_K(m))$ fi considerat un Mac sigur dacă am folosit un hash puternic $H$ ca SHA-256?
În comparație cu HMAC standard, această construcție pare mai simplă și poate chiar să se execute puțin mai rapid. De asemenea, nu pare că această schemă mac este vulnerabilă atacuri de extensie de lungime fie din moment ce fara cunostinta de $K$, nu pare că atacatorul poate „extinde” intrarea în funcția hash $H$ din moment ce ieșirea de $E_K(m)$ nu este niciodată „expus” atacatorului, ci doar consumat ca doar un pas intermediar de calcul în interior $H(E_K(m))$.
Desigur, standardul $\text{HMAC}(K,m)$ construcția este probabil mai sigură împotriva utilizării „funcțiilor hash slabe”, așa că cer în mod intenționat $H$ în construcția mea să fie o funcție hash „puternică” (de exemplu, SHA-256), care ar trebui să fie rezistentă la coliziuni și (desigur) rezistentă la preimagine.
La fel, această cheie $K$ ar numai să fie folosit doar pentru a genera Mac-uri și nu „partajat” în alte scopuri de criptare în altă parte. Acest lucru se datorează faptului că dacă o „altă parte a aplicației” reutilizari $K$ pentru criptarea generală în altă parte, un atacator ar putea profita de asta pentru a determina $c=E_K(p)$ pentru un text simplu cunoscut sau ales (sau chiar „derivat”) $p$, și astfel falsifică trivial un mesaj $m = p$ împreună cu mac-ul său valid $H(c)$.
**Edit: acesta este în esență inversul această schemă...