Skip to main content

A Lightweight Alternative to PMAC

  • Conference paper
  • First Online:
Selected Areas in Cryptography – SAC 2019 (SAC 2019)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 11959))

Included in the following conference series:

Abstract

PMAC is a parallelizable message authentication code (MAC) based on a block cipher. PMAC has many desirable features, such as parallelizability and essential optimality in terms of the number of block cipher calls, and the provable security. However, PMAC needs a pre-processing of one block cipher call taking all-zero block to produce the input masks to all subsequent block cipher calls. This incurs an overhead for both time and memory, which is often non-negligible. In particular, this makes PMAC’s state size 3n bits. To address these issues, we propose a new parallelizable MAC as an alternative to PMAC, which we call \(\text {LAPMAC}\). \(\text {LAPMAC}\) enables a high parallelizability, and unlike PMAC, it does not need a pre-processing to create an input mask. This leads to 2n-bit state memory compared to PMAC’s 3n-bit state. Moreover, \(\text {LAPMAC}\) is highly optimized in terms of the number of block cipher calls, for example it requires exactly the same number of block cipher calls as PMAC when one pre-processing call is allowed, and achieves the same number of block cipher calls as the state-of-the-art serial MACs those do not need the pre-processing call.

We prove that \(\text {LAPMAC}\) is secure up to around \(2^{n/2}\) queried blocks, under the standard pseudorandomness assumption of the underlying block cipher.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    This is a version from [29] which is slightly simplified from the version of [37], for L is initialized to \(L\leftarrow E_K(0^n)\) instead of \(3^2L\leftarrow E_K(0^n)\), which was needed when PMAC is used as a component of OCB2. This does not harm the provable security of PMAC.

  2. 2.

    More precisely, the first \(\mu +1\) blocks can be parallel, and each of the subsequent \(\mu \) blocks can be parallel.

  3. 3.

    It may be possible to reduce the number of parameters which relaxes the minimum size of \(\mathcal{I}_f\) but it can complicate the security analysis.

  4. 4.

    In fact, [28] proposed another rotation-based function using \(\mathsf {p}\)-prime larger than n, however it fails to fulfill our requirements, such as invertibility.

References

  1. CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness. http://competitions.cr.yp.to/caesar.html

  2. Recommendation for Block Cipher Modes of Operation: the CMAC Mode for Authentication. NIST Special Publication 800-38B. National Institute of Standards and Technology (2005)

    Google Scholar 

  3. Beierle, C., et al.: The SKINNY family of block ciphers and its low-latency variant MANTIS. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9815, pp. 123–153. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53008-5_5

    Chapter  Google Scholar 

  4. Bellare, M., Desai, A., Jokipii, E., Rogaway, P.: A concrete security treatment of symmetric encryption. In: 38th FOCS, pp. 394–403. IEEE Computer Society Press, October 1997. https://doi.org/10.1109/SFCS.1997.646128

  5. Bellare, M., Guérin, R., Rogaway, P.: XOR MACs: new methods for message authentication using finite pseudorandom functions. In: Coppersmith, D. (ed.) CRYPTO 1995. LNCS, vol. 963, pp. 15–28. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-44750-4_2

    Chapter  Google Scholar 

  6. Bernstein, D.J.: How to stretch random functions: the security of protected counter sums. J. Cryptol. 12(3), 185–192 (1999). https://doi.org/10.1007/s001459900051

    Article  MathSciNet  MATH  Google Scholar 

  7. Bertoni, G., Daemen, J., Hoffert, S., Peeters, M., Assche, G.V., Keer, R.V.: Farfalle: parallel permutation-based cryptography. IACR Trans. Symm. Cryptol. 2017(4), 1–38 (2017). https://doi.org/10.13154/tosc.v2017.i4.1-38

    Article  Google Scholar 

  8. Biham, E.: A fast new DES implementation in software. In: Biham, E. (ed.) FSE 1997. LNCS, vol. 1267, pp. 260–272. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0052352

    Chapter  MATH  Google Scholar 

  9. Black, J., Rogaway, P.: CBC MACs for arbitrary-length messages: the three-key constructions. In: Bellare, M. (ed.) CRYPTO 2000. LNCS, vol. 1880, pp. 197–215. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44598-6_12

    Chapter  Google Scholar 

  10. Black, J., Rogaway, P.: A block-cipher mode of operation for parallelizable message authentication. In: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, pp. 384–397. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46035-7_25

    Chapter  Google Scholar 

  11. Bosselaers, A., Preneel, B. (eds.): Integrity Primitives for Secure Information Systems. LNCS, vol. 1007. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60640-8

    Book  Google Scholar 

  12. Chakraborti, A., Iwata, T., Minematsu, K., Nandi, M.: Blockcipher-based authenticated encryption: how small can we go? In: Fischer, W., Homma, N. (eds.) CHES 2017. LNCS, vol. 10529, pp. 277–298. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66787-4_14

    Chapter  Google Scholar 

  13. Chakraborty, D., Sarkar, P.: A general construction of tweakable block ciphers and different modes of operations. IEEE Trans. Inf. Theory 54(5), 1991–2006 (2008)

    Article  MathSciNet  Google Scholar 

  14. Chen, S., Steinberger, J.: Tight security bounds for key-alternating ciphers. In: Nguyen, P.Q., Oswald, E. (eds.) EUROCRYPT 2014. LNCS, vol. 8441, pp. 327–350. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-55220-5_19

    Chapter  Google Scholar 

  15. Cogliati, B., Lampe, R., Seurin, Y.: Tweaking even-mansour ciphers. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9215, pp. 189–208. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47989-6_9

    Chapter  Google Scholar 

  16. Daykin, D.E.: On the rank of the matrix f(A) and the enumeration of certain matrices over a finite field. J. Lond. Math. Soc. s1–35(1), 36–42 (1960)

    Article  MathSciNet  Google Scholar 

  17. Fischlin, M., Lehmann, A.: Delayed-key message authentication for streams. In: Micciancio, D. (ed.) TCC 2010. LNCS, vol. 5978, pp. 290–307. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11799-2_18

    Chapter  Google Scholar 

  18. Gazi, P., Pietrzak, K., Rybár, M.: The exact security of PMAC. IACR Trans. Symm. Cryptol. 2016(2), 145–161 (2016). https://doi.org/10.13154/tosc.v2016.i2.145-161. http://tosc.iacr.org/index.php/ToSC/article/view/569

    Article  Google Scholar 

  19. Granger, R., Jovanovic, P., Mennink, B., Neves, S.: Improved masking for tweakable blockciphers with applications to authenticated encryption. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 263–293. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49890-3_11

    Chapter  Google Scholar 

  20. Iwata, T., Kurosawa, K.: OMAC: one-key CBC MAC. In: Johansson, T. (ed.) FSE 2003. LNCS, vol. 2887, pp. 129–153. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39887-5_11

    Chapter  Google Scholar 

  21. Iwata, T., Minematsu, K., Guo, J., Morioka, S.: CLOC: authenticated encryption for short input. In: Cid, C., Rechberger, C. (eds.) FSE 2014. LNCS, vol. 8540, pp. 149–167. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46706-0_8

    Chapter  MATH  Google Scholar 

  22. Käsper, E., Schwabe, P.: Faster and timing-attack resistant AES-GCM. In: Clavier, C., Gaj, K. (eds.) CHES 2009. LNCS, vol. 5747, pp. 1–17. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04138-9_1

    Chapter  Google Scholar 

  23. Krovetz, T., Rogaway, P.: The software performance of authenticated-encryption modes. In: Joux, A. (ed.) FSE 2011. LNCS, vol. 6733, pp. 306–327. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21702-9_18

    Chapter  MATH  Google Scholar 

  24. Luykx, A., Preneel, B., Szepieniec, A., Yasuda, K.: On the influence of message length in PMAC’s security bounds. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 596–621. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49890-3_23

    Chapter  MATH  Google Scholar 

  25. Luykx, A., Preneel, B., Tischhauser, E., Yasuda, K.: A MAC mode for lightweight block ciphers. In: Peyrin, T. (ed.) FSE 2016. LNCS, vol. 9783, pp. 43–59. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-52993-5_3

    Chapter  Google Scholar 

  26. Matsuda, S., Moriai, S.: Lightweight cryptography for the cloud: exploit the power of bitslice implementation. In: Prouff, E., Schaumont, P. (eds.) CHES 2012. LNCS, vol. 7428, pp. 408–425. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33027-8_24

    Chapter  Google Scholar 

  27. Mennink, B.: XPX: generalized tweakable even-mansour with improved security guarantees. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9814, pp. 64–94. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53018-4_3

    Chapter  Google Scholar 

  28. Minematsu, K.: A short universal hash function from bit rotation, and applications to blockcipher modes. In: Susilo, W., Reyhanitabar, R. (eds.) ProvSec 2013. LNCS, vol. 8209, pp. 221–238. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41227-1_13

    Chapter  Google Scholar 

  29. Minematsu, K., Matsushima, T.: New bounds for PMAC, TMAC, and XCBC. In: Biryukov, A. (ed.) FSE 2007. LNCS, vol. 4593, pp. 434–451. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74619-5_27

    Chapter  Google Scholar 

  30. Mouha, N., Mennink, B., Van Herrewege, A., Watanabe, D., Preneel, B., Verbauwhede, I.: Chaskey: an efficient MAC algorithm for 32-bit microcontrollers. In: Joux, A., Youssef, A. (eds.) SAC 2014. LNCS, vol. 8781, pp. 306–323. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-13051-4_19

    Chapter  Google Scholar 

  31. Naito, Y., Matsui, M., Sugawara, T., Suzuki, D.: SAEB: a lightweight blockcipher-based AEAD mode of operation. IACR TCHES 2018(2), 192–217 (2018). https://doi.org/10.13154/tches.v2018.i2.192-217. https://tches.iacr.org/index.php/TCHES/article/view/885

    Article  Google Scholar 

  32. Nandi, M.: Fast and secure CBC-type MAC algorithms. In: Dunkelman, O. (ed.) FSE 2009. LNCS, vol. 5665, pp. 375–393. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03317-9_23

    Chapter  MATH  Google Scholar 

  33. Nandi, M.: A unified method for improving PRF bounds for a class of blockcipher based MACs. In: Hong, S., Iwata, T. (eds.) FSE 2010. LNCS, vol. 6147, pp. 212–229. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13858-4_12

    Chapter  Google Scholar 

  34. Patarin, J.: New results on pseudorandom permutation generators based on the des scheme. In: Feigenbaum, J. (ed.) CRYPTO 1991. LNCS, vol. 576, pp. 301–312. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-46766-1_25

    Chapter  Google Scholar 

  35. Patarin, J.: The “coefficients H” technique. In: Avanzi, R.M., Keliher, L., Sica, F. (eds.) SAC 2008. LNCS, vol. 5381, pp. 328–345. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04159-4_21

    Chapter  Google Scholar 

  36. Rogaway, P.: Efficient instantiations of tweakable blockciphers and refinements to modes OCB and PMAC. In: Lee, P.J. (ed.) ASIACRYPT 2004. LNCS, vol. 3329, pp. 16–31. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30539-2_2

    Chapter  Google Scholar 

  37. Rogaway, P.: Efficient instantiations of tweakable blockciphers and refinements to modes OCB and PMAC. Full version of [36] (2004). http://www.cs.ucdavis.edu/~rogaway/papers/

  38. Rogaway, P., Shrimpton, T.: A provable-security treatment of the key-wrap problem. In: Vaudenay, S. (ed.) EUROCRYPT 2006. LNCS, vol. 4004, pp. 373–390. Springer, Heidelberg (2006). https://doi.org/10.1007/11761679_23

    Chapter  Google Scholar 

  39. Zhang, L., Wu, W., Zhang, L., Wang, P.: CBCR: CBC MAC with rotating transformations. Sci. China Inf. Sci. 54(11), 2247–2255 (2011)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

The author would like to thank Jean Paul Degabriele for shepherding and the anonymous reviewers for their insightful comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kazuhiko Minematsu .

Editor information

Editors and Affiliations

A Proof of Lemma 3

A Proof of Lemma 3

In Fig. 7, we build the game to bound the probability of collision of \(\text{ CBC }[{\textsf {R}}_{\mathsf {h},1},{\textsf {R}}_{\mathsf {h},2}]\). The game and the subsequent analysis are essentially the same as the proof of Lemma 4.2 of [20]. First we give some notations for the game, which are mostly taken from [20]. We implement \({\textsf {R}}_{h,1}\) and \({\textsf {R}}_{h,2}\) by lazy sampling, where they are expressed as lists. For \(i=1,2,\) we maintain the lists of input and output to \({\textsf {R}}_{h,i}\) determined in the game. In particular, \(\text {Domain}({\textsf {R}}_{h,i})\) denotes the list of inputs and \({\textsf {R}}_{h,i}(x)\) denotes the output corresponding to input x. Initially \(\text {Domain}({\textsf {R}}_{h,i})\) is set to empty, and \({\textsf {R}}_{h,i}(x)\) is undefined if \(x\not \in \text {Domain}({\textsf {R}}_{h,i})\). We maintain the flags, \(\mathsf {bad}_1\) and \(\mathsf {bad}_2\), which are initialized to \(\mathsf {false}\). We also introduce two sets for chain blocks, \(\mathrm {BAD}_1\) and \(\mathrm {BAD}_2\), to determine whether the flags are set (to \(\mathsf {true}\)) or not. We observe that the output collision of \(\text{ CBC }[{\textsf {R}}_{h,1},{\textsf {R}}_{h,2}]\) only occurs when \(\mathsf {bad}_1\) is set at line 22, or \(\mathsf {bad}_2\) is set at line 44. Thus, (12) is at most the sum of \(\Pr [\mathsf {bad}_1\leftarrow \mathsf {true}]\) and \(\Pr [\mathsf {bad}_2\leftarrow \mathsf {true}]\).

Fig. 7.
figure 7

Game for collision analysis of \(\text{ CBC }[{\textsf {R}}_{h,1},{\textsf {R}}_{h,2}]\).

Following [20], for the t-th process of line 13, let \(l_t\) denote the size of \(\mathrm {BAD}_2\) after line 21, assuming \(\mathsf {bad}_1\) is \(\mathsf {false}\) for the first \(t-1\) process of line 13. The probability of \(\mathsf {bad}_1\leftarrow \mathsf {true}\) is bounded as follows. Let V(t) denote the probability of \(\mathsf {bad}_1\leftarrow \mathsf {true}\) at the t-th choice of \(Y_i[1]\) (at line 13) conditioned by the even that \(\mathsf {bad}_1\) is \(\mathsf {false}\) before choosing \(Y_i[1]\). Then

$$V(t) \le \frac{(l_1+\dots +l_{t-1})l_t}{2^n}$$

holds since sampling at line 13 is uniform over n bits and \(\mathrm {BAD}_1\) has \((l_1+\dots +l_{t-1})\) points and \(\mathrm {BAD}_2\) has \(l_t\) points. Let s denote the total number of process line 13. Then we have

$$\begin{aligned} \Pr [\mathsf {bad}_1\leftarrow \mathsf {true}]&\le \sum _{1\le t\le s}V(t) = \sum _{1\le t\le s}\frac{(l_1+\dots +l_{t-1})l_t}{2^n}\end{aligned}$$
(25)
$$\begin{aligned}&\le \frac{1}{2^n}\cdot \frac{{l'_0}^2-(l_1^2+\dots +l_s^2)}{2} \le \frac{{l'_0}^2}{2^{n}} \end{aligned}$$
(26)

where \({l'_0}^2=l_1+\dots +l_s\).

The probability of \(\mathsf {bad}_2\leftarrow \mathsf {true}\) is similarly bounded. Let \(l'_{t'}\) denote the size of \(\mathrm {BAD}_2\) after line 43, at the \(t'\)-th process of line 35, assuming \(\mathsf {bad}_2\) is \(\mathsf {false}\) for the first \(t'-1\) process of line 35. Let \(s'\) denote the total number of process line 35 in the game. Here, \(s'\le \sigma \). Let \(V'(t)\) denote the probability of \(\mathsf {bad}_2\leftarrow \mathsf {true}\) at the \(t'\)-th choice of \(Y_i[j]\) (at line 35) conditioned by the event that \(\mathsf {bad}_2\) is \(\mathsf {false}\) before choosing \(Y_i[j]\). Then we have

$$ V'(t') \le \frac{(l'_0 + l'_1+\dots +l'_{t'-1})l'_{t'}}{2^n},$$

and

$$\begin{aligned} \Pr [\mathsf {bad}_2\leftarrow \mathsf {true}]&\le \sum _{1\le t'\le s'}V'(t') \le \sum _{1\le t'\le s'}\frac{(l'_0 + l'_1+\dots +l'_{t'-1})l'_{t'}}{2^n} \le \frac{{\sigma }^2-{l'_0}^2}{2^{n}} \end{aligned}$$
(27)

as we have \(\sigma \ge l'_0 + l'_1+\dots +l'_{t'-1}\), \(s'\le \sigma \) which is at most \(2^n/2\) by assumption. From (26) and (27), the proof is concluded as

$$\begin{aligned} \Pr [\mathsf {bad}_1\leftarrow \mathsf {true}] + \Pr [\mathsf {bad}_2\leftarrow \mathsf {true}] \le \frac{\sigma ^2}{2^n}. \end{aligned}$$
(28)

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Minematsu, K. (2020). A Lightweight Alternative to PMAC. In: Paterson, K., Stebila, D. (eds) Selected Areas in Cryptography – SAC 2019. SAC 2019. Lecture Notes in Computer Science(), vol 11959. Springer, Cham. https://doi.org/10.1007/978-3-030-38471-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-38471-5_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-38470-8

  • Online ISBN: 978-3-030-38471-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics