Your browser does not support JavaScript!

access icon free Improved SIMD implementation of Poly1305

Poly1305 is a polynomial hash function designed by Bernstein in 2005. Presently, it is part of several major platforms, including the Transport Layer Security protocol. Vectorised implementation of Poly1305 was proposed by Goll and Gueron in 2015. The authors provide some simple algorithmic improvements to the Goll–Gueron vectorisation strategy. Implementation of the modified strategy on modern Intel processors shows marked improvements in speed for short messages.


    1. 1)
      • 1. Bernstein, D.J.: ‘The Poly1305-AES-aes message-authentication code’. Fast Software Encryption: 12th Int. Workshop, FSE 2005, Paris, France, 21–23 February 2005, Revised Selected Papers, (LNCS, 3557), pp. 3249.
    2. 2)
      • 3. Bernstein, D.J., Lange, T., Schwabe, P.: ‘The security impact of a new cryptographic library’. Progress in Cryptology – LATINCRYPT 2012 – 2nd Int. Conf. on Cryptology and Information Security in Latin America, Santiago, Chile, 7–10 October 2012 (LNCS, 7533), pp. 159176.
    3. 3)
      • 2. Bernstein, D.J.: ‘Chacha, a variant of Salsa20’. Workshop Record of SASC 2008: The State of the Art of Stream Ciphers, Lausanne, Switzerland, January 2008. Available at
    4. 4)
    5. 5)
      • 7. Almeida, J.B., Barbosa, M., Barthe, G., et al: ‘The last mile: high-assurance and high-speed cryptographic implementations’. CoRR, abs/1904.04606, 2019.
    6. 6)
      • 8. Delignat-Lavaud, A., Fournet, C., Kohlweiss, M., et al: ‘Implementing and proving the TLS 1.3 record layer’. 2017 IEEE Symp. on Security and Privacy, SP 2017, San Jose, CA, USA, 22–26 May 2017, pp. 463482.
    7. 7)
      • 4. Bernstein, D.J.: ‘The Salsa20 family of stream ciphers’. Available at Document ID: 31364286077dcdff8e4509f9ff3139ad. Date: 2007.12.25.
    8. 8)
      • 6. Chakraborty, D., Ghosh, S., Sarkar, P.: ‘A fast single-key two-level universal hash function’, IACR Trans. Symmetric Cryptol., 2017, 2017, (1), pp. 106128.

Related content

This is a required field
Please enter a valid email address