Poly1305
  • is a fast and efficient Message Authentication Code (MAC) & Message Integrity Code (MIC) algorithm
  • developed by Daniel J. Bernstein
  • it generates a 16-byte authentication tag from a 32-byte secret key, a 16-byte nonce, and the message itself, which can then be used to verify that the message hasn’t been altered. A key aspect of Poly1305 is that its security relies on the unique, single-use nature of the 32-byte key for each message; reusing the same key across multiple messages compromises its security guarantees
  • often used in tandem with ChaCha20