Implementing GCM on ARMv8

  • Conrado P. L. Gouvêa
  • Julio López
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9048)


The Galois/Counter Mode is an authenticated encryption scheme which is included in protocols such as TLS and IPSec. Its implementation requires multiplication over a binary finite field, an operation which is costly to implement in software. Recent processors have included instructions aimed to speed up binary polynomial multiplication, an operation which can be used to implement binary field multiplication. Some processors of the ARM architecture, which was reported in 2014 to be present in 95 % of smartphones, include such instructions. In particular, recent devices such as the iPhone 5 s and Galaxy Note 4 have ARMv8 processors, which provide instructions able to multiply two 64-bit binary polynomials and to encrypt using the AES cipher. In this work we present an optimized and timing-resistant implementation of GCM over AES-128 using these instructions. We have obtained timings of 1.71 cycles per byte for GCM authenticated encryption (9 times faster than the timing on ARMv7), 0.51 cycles per byte for GCM authentication only (11 times faster) and 1.21 cycles per byte for AES-128 encryption (8 times faster).


GCM Authenticated encryption ARM Efficient implementation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Câmara, D., Gouvêa, C.P.L., López, J., Dahab, R.: Fast software polynomial multiplication on ARM processors using the NEON engine. In: Cuzzocrea, A., Kittl, C., Simos, D.E., Weippl, E., Xu, L. (eds.) CD-ARES 2013 Workshops. LNCS, vol. 8128, pp. 137–154. Springer, Heidelberg (2013) Google Scholar
  2. 2.
    Gueron, S.: Intel’s new AES instructions for enhanced performance and security. In: Dunkelman, O. (ed.) FSE 2009. LNCS, vol. 5665, pp. 51–66. Springer, Heidelberg (2009) Google Scholar
  3. 3.
    Gueron, S.: AES-GCM software performance on the current high end CPUs as a performance baseline for CAESAR competition. Presented in DIAC 2013: Directions in Authenticated Ciphers (2014).
  4. 4.
    Gueron, S., Kounavis, M.E.: Intel carry-less multiplication instruction and its usage for computing the GCM mode. White Paper (2010)Google Scholar
  5. 5.
    López, J., Dahab, R.: High-speed software multiplication in \(\mathbb{F}_{2^m}\). In: Roy, B., Okamoto, E. (eds.) INDOCRYPT 2000. LNCS, vol. 1977, pp. 203–212. Springer, Heidelberg (2000) Google Scholar
  6. 6.
    McGrew, D.A., Viega, J.: The security and performance of the galois/counter mode (GCM) of operation. In: Canteaut, A., Viswanathan, K. (eds.) INDOCRYPT 2004. LNCS, vol. 3348, pp. 343–355. Springer, Heidelberg (2004) Google Scholar
  7. 7.
    Polyakov, A.: The OpenSSL project. OpenSSL Git repository (2014).;a=commitdiff;h=f8cee9d08181f9e966ef01d3b69ba78b6cb7c8a8
  8. 8.
    Ranger, S.: Internet of things and wearables drive growth for ARM. ZDNet, April 2014.

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.KRYPTUS Information Security SolutionsCampinasBrazil
  2. 2.University of Campinas (Unicamp)CampinasBrazil

Personalised recommendations