Într-adevăr, modulo un prim, deja $r^2$ sunt neuniforme - doar jumătate din valori sunt posibile. În timp ce polinoamele calculate într-adevăr nu urmează distribuția uniformă, neuniformitatea este mărginită: fiecare valoare de ieșire a polinomului poate avea cel mult $L$ preimagini (rădăcini), unde $L$ este gradul său, egal cu numărul de blocuri. Înseamnă că probabilitatea poate crește de la 1 USD/R$ la $L/R$, Unde $R$ este numărul tuturor posibilelor $r$ (care este $2^{106}$ în Poly1305). Pentru a obține o probabilitate de succes care nu este neglijabilă, trebuie să încercați un fals cu un număr mare de blocuri.
Rețineți că rezultatul este mascat prin adăugare AES (niciodată). Acest lucru face ca predicția oarbă a MAC să fie inutilă. Cel mai puternic atac aici este o încercare de falsificare diferențială: dat fiind a (mesaj, nonce, etichetă) triplu, generează un alt triplu (mesaj', nonce, tag'). Același nonce elimină AES (niciodată) din consideraţia în diferenţă $(etichetă' - etichetă)$. Trebuie „doar” să prezicem poli(mesaj') - poli(mesaj) pentru orice mesaj și mesaj' la alegerea noastră. Ceea ce este greu, deoarece o diferență de polinoame neegale este încă un polinom diferit de zero de același grad sau mai mic, iar probabilitatea de a ghici rezultatul corect este mică.
Acest raționament funcționează pentru orice câmp finit.
Editați | ×: mulțumesc lui @poncho pentru că a observat o confuzie periculoasă între xor și adăugare peste GF(p)
Editați | ×: în https://cr.yp.to/antiforgery/pema-20071022.pdf , Bernstein introduce mai întâi un MAC bazat pe produs punct, adică. $MAC(m) = m_1r_1 + m_2 r_2 + ... + s$. The $n=8$ Acțiunile sunt alese doar pentru ilustrare, deoarece aceasta permite doar semnarea mesajelor de 8 blocuri. Din nou, acest lucru se face doar din motive educaționale și pentru a arăta construcții istorice „pure”. Mai târziu în ziar, el înlocuiește $r_i$ cu $r^i$: acest lucru permite evitarea generării și stocării pseudoaleatoare cu drepturi depline a multor $r$lui. În mod similar, complet aleatoriu $s$ poate fi înlocuit de ex. AES (nu o dată).