Skip to main content

PMAC\(r\)x: A Vector-Input MAC for High-Dimensional Vectors with BBB Security

  • Conference paper
  • First Online:
Advances in Information and Computer Security (IWSEC 2023)

Abstract

At Eurocrypt 2006, Rogaway and Shrimpton presented the idea of vector-input MAC that accepts a vector consisting of variable-length bitstrings. They proposed S2V as a concrete instantiation of the vector-input MAC and S2V is more efficient than the classical method, encoding a vector into a single bitstring and then applying a conventional MAC such as CMAC. However, S2V severely limits the maximum number of elements in a vector. Moreover, the security is up to the birthday bound with respect to the block length of the underlying block cipher (i.e., n/2-bit security for n-bit block). To overcome these drawbacks, we use tweakable block ciphers (TBCs) and present a new vector-input MAC, called PMAC\(r\)x, taking PMAC2x by List and Nandi (CT-RSA 2017) as the baseline scheme. Our proposal allows a significantly larger number of elements than S2V and enjoys the beyond-the-birthday-bound (BBB) security. PMAC\(r\)x is more efficient than the encode-then-PMAC2x method with respect to the number of primitive calls, as in the case of S2V (where the comparison is made with CMAC).

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 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.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 simple application of Elias gamma coding [9].

  2. 2.

    PMAC2x uses a regular function Conv (see, Fig. 3) for the case that the length of the tweak is less than n bits. In our method, the length of the tweak is always n bits, and we leave out the function.

  3. 3.

    We use another notation \(\textbf{r}\) to emphasize that there is no duplicate in k, whereas the notation \(\{{r_1,\cdots ,r_q}\}\) also represents the same set as \(\textbf{r}\) in theory since duplicate elements in a set are regarded as the same ones.

References

  1. https://csrc.nist.gov/csrc/media/Projects/crypto-publication-review-project/documents/initial-comments/sp800-38a-initial-public-comments-2021.pdf

  2. Avanzi, R.: The QARMA block cipher family. IACR Trans. Symm. Cryptol. 2017(1), 4–44 (2017). https://doi.org/10.13154/tosc.v2017.i1.4-44

  3. Banik, S., Pandey, S.K., Peyrin, T., Sasaki, Yu., Sim, S.M., Todo, Y.: GIFT: a small present. In: Fischer, W., Homma, N. (eds.) CHES 2017. LNCS, vol. 10529, pp. 321–345. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66787-4_16

    Chapter  Google Scholar 

  4. 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 

  5. 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

  6. 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 

  7. Bogdanov, A., et al.: PRESENT: an ultra-lightweight block cipher. In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007. LNCS, vol. 4727, pp. 450–466. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74735-2_31

    Chapter  Google Scholar 

  8. 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 

  9. Elias, P.: Universal codeword sets and representations of the integers. IEEE Trans. Inf. Theory 21(2), 194–203 (1975). https://doi.org/10.1109/TIT.1975.1055349

  10. 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 

  11. Hirose, S., Kuwakado, H., Yoshida, H.: A Pseudorandom-function mode based on lesamnta-lw and the MDP domain extension and its applications. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 101-A(1), 110–118 (2018)

    Google Scholar 

  12. 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 

  13. Iwata, T., Minematsu, K., Peyrin, T., Seurin, Y.: ZMAC: a fast tweakable block cipher mode for highly secure message authentication. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10403, pp. 34–65. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63697-9_2

    Chapter  Google Scholar 

  14. 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 

  15. Liskov, M., Rivest, R.L., Wagner, D.: Tweakable block ciphers. J. Cryptology 24(3), 588–613 (2011). https://doi.org/10.1007/s00145-010-9073-y

    Article  MathSciNet  MATH  Google Scholar 

  16. List, E., Nandi, M.: Revisiting full-PRF-secure PMAC and using it for beyond-birthday authenticated encryption. Cryptology ePrint Archive, Report 2016/1174 (2016). https://eprint.iacr.org/2016/1174

  17. List, E., Nandi, M.: Revisiting Full-PRF-secure PMAC and using it for beyond-birthday authenticated encryption. In: Handschuh, H. (ed.) CT-RSA 2017. LNCS, vol. 10159, pp. 258–274. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-52153-4_15

    Chapter  Google Scholar 

  18. 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 

  19. Minematsu, K., Iwata, T.: Tweak-length extension for tweakable blockciphers. In: Groth, J. (ed.) IMACC 2015. LNCS, vol. 9496, pp. 77–93. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-27239-9_5

    Chapter  Google Scholar 

  20. Minematsu, K., Iwata, T.: Cryptanalysis of pmacx, pmac2x, and sivx. IACR Trans. Symm. Cryptol. 2017(2), 162–176 (2017). https://doi.org/10.13154/tosc.v2017.i2.162-176

  21. Naito, Y.: Full PRF-secure message authentication code based on tweakable block cipher. In: Au, M.-H., Miyaji, A. (eds.) ProvSec 2015. LNCS, vol. 9451, pp. 167–182. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-26059-4_9

    Chapter  Google Scholar 

  22. 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 

  23. Peyrin, T., Seurin, Y.: Counter-in-tweak: authenticated encryption modes for tweakable block ciphers. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9814, pp. 33–63. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53018-4_2

    Chapter  MATH  Google Scholar 

  24. 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 

  25. 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 

  26. Yasuda, K.: A new variant of PMAC: beyond the birthday bound. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 596–609. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22792-9_34

    Chapter  Google Scholar 

Download references

Acknowledgements

We thank the reviewers for their useful and interesting comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Isamu Furuya .

Editor information

Editors and Affiliations

Appendices

A Proof of Lemma 3

Proof

We prove only for \(\Pr [V=\tilde{V}]\le 1/(2^n-1)\). Although there are some formal differences with respect to the inner coefficients 2 or 3, \(\Pr [W=\tilde{W}]\le 1/(2^n-1)\) can be proved similarly to \(\Pr [V=\tilde{V}]\le 1/(2^n-1)\).

Let \(m^i\) and \(\tilde{m}^i\) be the number of blocks of each \(M^i\) and \(\tilde{M}^i\), respectively. Below we show that \(\Pr [V=\tilde{V}]\le 1/(2^n-1)\) by dividing into cases in the same way as the proof of Lemma 2.

Case 1. There exists only one \({\boldsymbol{i}}\) such that \({\boldsymbol{M}}^{{\boldsymbol{i}}}\boldsymbol{\ne }\boldsymbol{\tilde{M}}^{{\boldsymbol{i}}}\).

Case 1.1. \(\boldsymbol{\tilde{m}}^{{\boldsymbol{i}}} = {{\boldsymbol{m}}}^{{\boldsymbol{i+1}}}\).   In this case, \(X^i = Z^i[1] \oplus \cdots \oplus Z^i[m^i]\) and \(\tilde{X}^i = \tilde{Z}^i[1] \oplus \cdots \oplus \tilde{Z}^i[m^i] \oplus \tilde{Z}^i[m^i+1]\). Thus, we have

$$\begin{aligned} V=\tilde{V} \iff X^i\oplus \tilde{X}^i = 0^n \iff \bigoplus _{1\le \ell \le m^i}(Z^i[\ell ]\oplus \tilde{Z}^i[\ell ])\oplus \tilde{Z}^i[m^i+1]=0^n. \end{aligned}$$
(18)

Case 1.1.1. \({\boldsymbol{M}}^{{\boldsymbol{i}}}[\boldsymbol{\ell }]=\boldsymbol{\tilde{M}}^{{\boldsymbol{i}}}[\boldsymbol{\ell }]\) for any \(\boldsymbol{\ell }\) such that \({\boldsymbol{1}}\boldsymbol{\le } \boldsymbol{\ell } \boldsymbol{\le } {\boldsymbol{m}}^{{\boldsymbol{i}}}\).   In this case, (18) \(\iff \tilde{Z}^i[m^i+1]=0^n\) holds. Since \(\tilde{Z}^i[m^i+1]\) takes \(2^n\) possible values, the probability that (18) holds is at most \(1/2^n\).

Case 1.1.2. \({\boldsymbol{M}}^{{\boldsymbol{i}}}[\boldsymbol{\ell }]\boldsymbol{\ne } \boldsymbol{\tilde{M}}^{{\boldsymbol{i}}}[\boldsymbol{\ell }]\) for at least one \(\boldsymbol{\ell }\) such that \({\boldsymbol{1}}\boldsymbol{\le } \boldsymbol{\ell }\boldsymbol{\le }\boldsymbol{\tilde{m}}^{{\boldsymbol{i}}}\).   If we arbitrarily fix the elements of \(Z^i\) and \(\tilde{Z}^i\) except \(\tilde{Z}^i[m^i+1]\), we have (18) \(\iff \tilde{Z}^i[m^i+1]=\texttt{Cst},\) where \(\texttt{Cst}\) is a constant. Since \(\tilde{Z}^i[m^i+1]\) takes \(2^n\) possible values, the probability that (18) holds is at most \(1/2^n\).

Case 1.2. \(\tilde{m}^i \ge m^i+2\).   In this case, \(X^i = Z^i[1] \oplus \cdots \oplus Z^i[m^i]\) and \(\tilde{X}^i = \tilde{Z}^i[1] \oplus \cdots \oplus \tilde{Z}^i[m^i] \oplus \cdots \oplus \tilde{Z}^i[\tilde{m}^i-1] \oplus \tilde{Z}^i[\tilde{m}^i]\). Thus,

$$\begin{aligned} V=\tilde{V}&\iff \bigoplus _{1\le \ell \le m^i}(Z^i[\ell ]\oplus \tilde{Z}^i[\ell ])\oplus \cdots \oplus \tilde{Z}^i[\tilde{m}^i-1]\oplus \tilde{Z}^i[\tilde{m}^i]=0^n \end{aligned}$$
(19)

holds. If we arbitrarily fix the elements of \(Z^i\) and \(\tilde{Z}^i\) except \(\tilde{Z}^i[\tilde{m}^i]\), we have (19) \(\iff \tilde{Z}^i[\tilde{m}^i]=\texttt{Cst},\) where \(\texttt{Cst}\) is a constant. Since \(\tilde{Z}^i[\tilde{m}^i]\) takes \(2^n\) possible values, the probability that (19) holds is at most \(1/2^n\).

Case 1.3. \(\tilde{m}^i = m^i\).   In this case, \(X^i = Z^i[1] \oplus \cdots \oplus Z^i[m^i]\) and \(\tilde{X}^i = \tilde{Z}^i[1] \oplus \cdots \oplus \tilde{Z}^i[m^i]\). Thus,

$$\begin{aligned} V=\tilde{V} \iff \bigoplus _{1\le \ell \le m^i}(Z^i[\ell ]\oplus \tilde{Z}^i[\ell ])=0^n. \end{aligned}$$
(20)

Case 1.3.1. There exists only one different block.   Let \(\ell \) be the index of the different block (i.e., \(M^i[\ell ]\ne \tilde{M}^i[\ell ]\)). Then, we have (20) \(\iff Z^i[\ell ]\oplus \tilde{Z}^i[\ell ]=0^n.\) The above holds only if there exists \((Z^i[\ell ],\tilde{Z}^i[\ell ])\) such that \(Z^i[\ell ]=\tilde{Z}^i[\ell ]\), but this contradicts the assumption that \(M^i[\ell ]\ne \tilde{M}^i[\ell ]\). Therefore, the probability that (20) holds is 0.

Case 1.3.2. There are two or more different blocks.   Let \(\ell \) be one of the indices of the different blocks (i.e., \(M^i[\ell ]\ne \tilde{M}^i[\ell ]\)), and assume that we arbitrarily fix the elements of \(Z^i\) and \(\tilde{Z}^i\) except \(Z^i[\ell ]\) and \(\tilde{Z}^i[\ell ]\). Then, we have (20) \(\iff Z^i[\ell ]\oplus \tilde{Z}^i[\ell ]=\texttt{Cst},\) where \(\texttt{Cst}\) is a constant. There exists only one \((Z^i[\ell ],\tilde{Z}^i[\ell ])\) that satisfies the above, and such \((Z^i[\ell ],\tilde{Z}^i[\ell ])\) takes \(2^n\cdot 1=2^n\) possible values. By the assumption, \(Z^i[\ell ]\ne \tilde{Z}^i[\ell ]\) holds and then \((Z^i[\ell ],\tilde{Z}^i[\ell ])\) takes \(2^n(2^n-1)\) possible values. Therefore, the probability that (20) holds is at most \(2^n/(2^n(2^n-1))=1/(2^n-1)\).

Case 2. There exist \({\boldsymbol{i}}\) and \({\boldsymbol{j}}\) (\({\boldsymbol{i}}\boldsymbol{<} {\boldsymbol{j}}\)) such that \({\boldsymbol{M}}^{{\boldsymbol{i}}}\boldsymbol{\ne }\boldsymbol{\tilde{M}}^{{\boldsymbol{i}}}\) and \({\boldsymbol{M}}^{{\boldsymbol{j}}}\boldsymbol{\ne }\boldsymbol{\tilde{M}}^{{\boldsymbol{j}}}\).   If we arbitrarily fix X except \(X^i\) and \(\tilde{X}^i\), we have

$$\begin{aligned} V = \tilde{V} \iff X^i \oplus X^j \oplus \tilde{X}^i \oplus \tilde{X}^j = \texttt{Cst}, \end{aligned}$$
(21)

where \(\texttt{Cst}\) is a constant.

Case 2.1. \(\tilde{m}^i>m^i\) and \(\tilde{m}^j>m^j\)   In this case, \(X^i = Z^i[1] \oplus \cdots \oplus Z^i[m^i]\), \(\tilde{X}^i = \tilde{Z}^i[1] \oplus \cdots \oplus \tilde{Z}^i[m^i] \oplus \cdots \oplus \tilde{Z}^i[\tilde{m}^i]\), \(X^j = Z^j[1] \oplus \cdots \oplus Z^j[m^j]\), and \(\tilde{X}^j = \tilde{Z}^j[1] \oplus \cdots \oplus \tilde{Z}^j[m^j] \oplus \cdots \oplus \tilde{Z}^j[\tilde{m}^j]\). If we arbitrarily fix Z and \(\tilde{Z}\) except \(\tilde{Z}^i[\tilde{m}^i]\) and \(\tilde{Z}^j[\tilde{m}^j]\), we have (21) \(\iff \tilde{Z}^i[\tilde{m}^i]\oplus \tilde{Z}^j[\tilde{m}^j]=\texttt{Cst},\) where \(\texttt{Cst}\) is a constant. There exists only one \((Z^i[\tilde{m}^i],\tilde{Z}^j[\tilde{m}^j])\) that satisfies the above and such \((Z^i[\tilde{m}^i],\tilde{Z}^j[\tilde{m}^j])\) takes \(2^n\cdot 1=2^n\) possible values, while \((Z^i[\tilde{m}^i],\tilde{Z}^j[\tilde{m}^j])\) takes \(2^n\cdot 2^n\) possible values. Therefore, the probability that (21) holds is at most \(2^n/(2^n\cdot 2^n)=1/2^n\).

Case 2.2. \(\tilde{m}^i>m^i\) and \(\tilde{m}^j<m^j\)   If we arbitrarily fix the elements of Z and \(\tilde{Z}\) except \(\tilde{Z}^i[\tilde{m}^i]\) and \(Z^j[m^j]\), we have (21) \(\iff \tilde{Z}^i[\tilde{m}^i]\oplus Z^j[m^j]=\texttt{Cst},\) where \(\texttt{Cst}\) is a constant. Then, similarly to Case 2.1, the probability that (21) holds is at most \(1/2^n\).

Case 2.3. \(\tilde{m}^i>m^i\) and \(\tilde{m}^j = m^j\)   If we arbitrarily fix the elements of Z and \(\tilde{Z}\) except \(\tilde{Z}^i[\tilde{m}^i]\), we have (21) \(\iff \tilde{Z}^i[\tilde{m}^i]=\texttt{Cst},\) where \(\texttt{Cst}\) is a constant. Hence, the probability that (21) holds is at most \(1/2^n\).

Case 2.4. \(\tilde{m}^i = m^i\) and \(\tilde{m}^j = m^j\)   Let \(\ell \) be one of the indices of the different blocks for \(M^i\) and \(\tilde{M}^i\) (i.e., \(M^i[\ell ]\ne \tilde{M}^i[\ell ]\)), and assume that the elements of \(Z^i\) and \(\tilde{Z}^i\) except \(Z^i[\ell ]\) and \(\tilde{Z}^i[\ell ]\). Then, we have (21) \(\iff Z^i[\ell ]\oplus \tilde{Z}^i[\ell ]=\texttt{Cst},\) where \(\texttt{Cst}\) is a constant. Therefore, similarly to Case 1.3.2, the probability that (21) holds is at most \(1/(2^n-1)\).    \(\square \)

B The structure of PMAC2x

Fig. 3.
figure 3

The structure of PMAC2x [16, 17], where \(\bigodot \) with 2 is a multiplication by 2 in \(\textrm{GF}(2^n)\), Conv is a regular function \(\{{0,1}\}^n\rightarrow \{{0,1}\}^n\), and \(\hat{X}\) and \(\hat{Y}\) are the outputs of Conv for X and Y, respectively. Here, a function is called regular iff all outputs are produced by an equal number of inputs.

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Furuya, I., Kasahara, H., Inoue, A., Minematsu, K., Iwata, T. (2023). PMAC\(r\)x: A Vector-Input MAC for High-Dimensional Vectors with BBB Security. In: Shikata, J., Kuzuno, H. (eds) Advances in Information and Computer Security. IWSEC 2023. Lecture Notes in Computer Science, vol 14128. Springer, Cham. https://doi.org/10.1007/978-3-031-41326-1_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-41326-1_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-41325-4

  • Online ISBN: 978-3-031-41326-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics