Such MAC algorithms and universal hash functions include UMAC [9], MMH [17], NMH [17], Square Hash [15], Poly1305-AES [6], CWC [25], GCM/GMAC [30, 31], and a recent polynomial variant by Bernstein [7].