Nothing Special   »   [go: up one dir, main page]

Skip to main content

Statistical Zeroizing Attack: Cryptanalysis of Candidates of BP Obfuscation over GGH15 Multilinear Map

  • Conference paper
  • First Online:
Advances in Cryptology – CRYPTO 2019 (CRYPTO 2019)

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

Included in the following conference series:

Abstract

We present a new cryptanalytic algorithm on obfuscations based on GGH15 multilinear map. Our algorithm, statistical zeroizing attack, directly distinguishes two distributions from obfuscation while it follows the zeroizing attack paradigm, that is, it uses evaluations of zeros of obfuscated programs.

Our attack breaks the recent indistinguishability obfuscation candidate suggested by Chen et al. (CRYPTO’18) for the optimal parameter settings. More precisely, we show that there are two functionally equivalent branching programs whose CVW obfuscations can be efficiently distinguished by computing the sample variance of evaluations.

This statistical attack gives a new perspective on the security of the indistinguishability obfuscations: we should consider the shape of the distributions of evaluation of obfuscation to ensure security.

In other words, while most of the previous (weak) security proofs have been studied with respect to algebraic attack model or ideal model, our attack shows that this algebraic security is not enough to achieve indistinguishability obfuscation. In particular, we show that the obfuscation scheme suggested by Bartusek et al. (TCC’18) does not achieve the desired security in a certain parameter regime, in which their algebraic security proof still holds.

The correctness of statistical zeroizing attacks holds under a mild assumption on the preimage sampling algorithm with a lattice trapdoor. We experimentally verify this assumption for implemented obfuscation by Halevi et al. (ACM CCS’17).

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 119.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 159.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

Similar content being viewed by others

Notes

  1. 1.

    That is, our attack is lying outside the considered attack class in [4].

  2. 2.

    The difference of variance is even not enough to distinguish. For example, the distributions that 0 with overwhelming probability cannot be efficiently distinguished though these can have any variance.

  3. 3.

    Though there is a general transformation from permutation branching program into Type I branching program [10, Claim 6.2], this induces the bookend vector of the form \((\mathbf{v}|-\mathbf{v})\) rather than the implicitly supposed bookend \(\varvec{1}^{1 \times w}\) in CVW obfuscation. If we directly obfuscate permutation branching programs, the functionality of them is all-rejection. Indeed, if we obfuscate permutation branching programs using CVW obfuscation as this trivial functionality (without transformation), the iO security for these trivial BPs can be proven by the proof technique of [7].

  4. 4.

    As noted in the remark of introduction, it is assumed implicitly that \(\mathbf{v}= \varvec{1}^{1\times w}\) for the targeted BP, while the definition of Type I BP uses \(\mathbf{v}\in \{ 0,1\}^{1\times w}\).

  5. 5.

    Indeed, the attack requires the condition \(\sigma ^4 < m^\ell /n^{\ell +1}\).

  6. 6.

    We also verify the correctness of the attack itself for [23], but with large entry BPs. It requires very large number of samples (say \(2^{20}\) but polynomially many) to verify the attack with binary entry BPs, which is not easy to experiment because the obfuscation/evaluation of [23] takes long time (say few minutes to obtain one evaluation).

References

  1. Ananth, P.V., Gupta, D., Ishai, Y., Sahai, A.: Avoiding Barrington’s theorem: optimizing obfuscation. In: ACM CCS 2014, pp. 646–658 (2014)

    Google Scholar 

  2. Badrinarayanan, S., Miles, E., Sahai, A., Zhandry, M.: Post-zeroizing obfuscation: new mathematical tools, and the case of evasive circuits. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9666, pp. 764–791. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49896-5_27

    Chapter  Google Scholar 

  3. Barak, B., Garg, S., Kalai, Y.T., Paneth, O., Sahai, A.: Protecting obfuscation against algebraic attacks. In: Nguyen, P.Q., Oswald, E. (eds.) EUROCRYPT 2014. LNCS, vol. 8441, pp. 221–238. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-55220-5_13

    Chapter  Google Scholar 

  4. Bartusek, J., Guan, J., Ma, F., Zhandry, M.: Return of GGH15: provable security against zeroizing attacks. In: Beimel, A., Dziembowski, S. (eds.) TCC 2018. LNCS, vol. 11240, pp. 544–574. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03810-6_20

    Chapter  MATH  Google Scholar 

  5. Boneh, D., Zhandry, M.: Multiparty key exchange, efficient traitor tracing, and more from indistinguishability obfuscation. Algorithmica 79(4), 1233–1285 (2017)

    Article  MathSciNet  Google Scholar 

  6. Brakerski, Z., Rothblum, G.N.: Virtual black-box obfuscation for all circuits via generic graded encoding. In: Lindell, Y. (ed.) TCC 2014. LNCS, vol. 8349, pp. 1–25. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54242-8_1

    Chapter  Google Scholar 

  7. Brakerski, Z., Vaikuntanathan, V., Wee, H., Wichs, D.: Obfuscating conjunctions under entropic ring LWE. In: ITCS 2016, pp. 147–156 (2016)

    Google Scholar 

  8. Canetti, R., Chen, Y.: Constraint-hiding constrained PRFs for NC\(^1\) from LWE. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10210, pp. 446–476. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56620-7_16

    Chapter  Google Scholar 

  9. Chen, Y., Gentry, C., Halevi, S.: Cryptanalyses of candidate branching program obfuscators. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10212, pp. 278–307. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56617-7_10

    Chapter  Google Scholar 

  10. Chen, Y., Vaikuntanathan, V., Wee, H.: GGH15 beyond permutation branching programs: proofs, attacks, and candidates. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10992, pp. 577–607. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96881-0_20

    Chapter  Google Scholar 

  11. Cheon, J.H., Cho, W., Hhan, M., Kim, J., Lee, C.: Statistical zeroizing attack: cryptanalysis of candidates of BP obfuscation over GGH15 multilinear map (2018). Full version of this paper: https://eprint.iacr.org/2018/1081

  12. Cheon, J.H., Hhan, M., Kim, J., Lee, C.: Cryptanalyses of branching program obfuscations over GGH13 multilinear map from the NTRU problem. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10993, pp. 184–210. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96878-0_7

    Chapter  Google Scholar 

  13. Cheon, J.H., Hhan, M., Kim, J., Lee, C.: Cryptanalysis on the HHSS obfuscation arising from absence of safeguards. IEEE Access 6, 40096–40104 (2018)

    Article  Google Scholar 

  14. Coron, J.-S., et al.: Zeroizing without low-level zeroes: new MMAP attacks and their limitations. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9215, pp. 247–266. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47989-6_12

    Chapter  Google Scholar 

  15. Coron, J.-S., Lee, M.S., Lepoint, T., Tibouchi, M.: Zeroizing attacks on indistinguishability obfuscation over CLT13. In: Fehr, S. (ed.) PKC 2017. LNCS, vol. 10174, pp. 41–58. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54365-8_3

    Chapter  Google Scholar 

  16. Coron, J.-S., Lepoint, T., Tibouchi, M.: Practical multilinear maps over the integers. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8042, pp. 476–493. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40041-4_26

    Chapter  Google Scholar 

  17. Garg, S., Gentry, C., Halevi, S.: Candidate multilinear maps from ideal lattices. In: Johansson, T., Nguyen, P.Q. (eds.) EUROCRYPT 2013. LNCS, vol. 7881, pp. 1–17. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38348-9_1

    Chapter  Google Scholar 

  18. Garg, S., Gentry, C., Halevi, S., Raykova, M., Sahai, A., Waters, B.: Candidate indistinguishability obfuscation and functional encryption for all circuits. In: 54th FOCS, pp. 40–49 (2013)

    Google Scholar 

  19. Garg, S., Miles, E., Mukherjee, P., Sahai, A., Srinivasan, A., Zhandry, M.: Secure obfuscation in a weak multilinear map model. In: Hirt, M., Smith, A. (eds.) TCC 2016. LNCS, vol. 9986, pp. 241–268. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53644-5_10

    Chapter  Google Scholar 

  20. Gentry, C., Gorbunov, S., Halevi, S.: Graph-induced multilinear maps from lattices. In: Dodis, Y., Nielsen, J.B. (eds.) TCC 2015. LNCS, vol. 9015, pp. 498–527. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46497-7_20

    Chapter  Google Scholar 

  21. Gentry, C., Peikert, C., Vaikuntanathan, V.: Trapdoors for hard lattices and new cryptographic constructions. In: 40th STOC, pp. 197–206 (2008)

    Google Scholar 

  22. Goyal, R., Koppula, V., Waters, B.: Lockable obfuscation. In: 58th FOCS, pp. 612–621 (2017)

    Google Scholar 

  23. Halevi, S., Halevi, T., Shoup, V., Stephens-Davidowitz, N.: Implementing BP-obfuscation using graph-induced encoding. In: ACM CCS 2017, pp. 783–798. ACM (2017)

    Google Scholar 

  24. Halevi, S., Halevi, T., Shoup, V., Stephens-Davidowitz, N.: Implementing BP-obfuscation using graph-induced encoding (2017). https://github.com/shaih/BPobfus

  25. Lin, H.: Indistinguishability obfuscation from constant-degree graded encoding schemes. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 28–57. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49890-3_2

    Chapter  Google Scholar 

  26. Lin, H.: Indistinguishability obfuscation from SXDH on 5-linear maps and locality-5 PRGs. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10401, pp. 599–629. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63688-7_20

    Chapter  Google Scholar 

  27. Lin, H., Tessaro, S.: Indistinguishability obfuscation from trilinear maps and block-wise local PRGs. In: Katz, J., Shacham, H. (eds.) CRYPTO 2017. LNCS, vol. 10401, pp. 630–660. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63688-7_21

    Chapter  Google Scholar 

  28. Lin, H., Vaikuntanathan, V.: Indistinguishability obfuscation from DDH-like assumptions on constant-degree graded encodings. In: 57th FOCS, pp. 11–20 (2016)

    Google Scholar 

  29. Ma, F., Zhandry, M.: The MMap strikes back: obfuscation and new multilinear maps immune to CLT13 zeroizing attacks. In: Beimel, A., Dziembowski, S. (eds.) TCC 2018. LNCS, vol. 11240, pp. 513–543. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03810-6_19

    Chapter  Google Scholar 

  30. Micciancio, D., Peikert, C.: Trapdoors for lattices: simpler, tighter, faster, smaller. In: Pointcheval, D., Johansson, T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 700–718. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29011-4_41

    Chapter  Google Scholar 

  31. Miles, E., Sahai, A., Weiss, M.: Protecting obfuscation against arithmetic attacks. IACR Cryptology ePrint Archive 2014:878 (2014)

    Google Scholar 

  32. Pass, R., Seth, K., Telang, S.: Indistinguishability obfuscation from semantically-secure multilinear encodings. In: Garay, J.A., Gennaro, R. (eds.) CRYPTO 2014. LNCS, vol. 8616, pp. 500–517. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44371-2_28

    Chapter  Google Scholar 

  33. Pellet-Mary, A.: Quantum attacks against indistinguishablility obfuscators proved secure in the weak multilinear map model. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10993, pp. 153–183. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96878-0_6

    Chapter  Google Scholar 

  34. Sahai, A., Waters, B.: How to use indistinguishability obfuscation: deniable encryption, and more. In: STOC 2014, pp. 475–484 (2014)

    Google Scholar 

  35. Wichs, D., Zirdelis, G.: Obfuscating compute-and-compare programs under LWE. In: 58th FOCS, pp. 600–611 (2017)

    Google Scholar 

  36. Zimmerman, J.: How to obfuscate programs directly. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9057, pp. 439–467. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46803-6_15

    Chapter  Google Scholar 

Download references

Acknowledgments

We sincerely thank to James Bartusek, Fermi Ma and anonymous reviewers of Eurocrypt 2019 for noting the errors in the earlier version of this paper. We also thank to the anonymous reviewers of Crypto 2019 for their careful comments.

The authors of Seoul National University were supported by Institute for Information & communication Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No. 2016-6-00598, The mathematical structure of functional encryption and its analysis), and the ARO and DARPA under Contract No. W911NF-15-C-0227. The author of ENS de Lyon was supported by the LABEX MILYON (ANR-10-LABX-0070) of Université de Lyon, within the program “Investissements d’Avenir” (ANR-11-IDEX-0007) operated by the French National Research Agency (ANR).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jiseung Kim .

Editor information

Editors and Affiliations

Appendices

A Simple GGH15 Obfuscation

We briefly describe the construction of single input BP obfuscation based GGH15 without safeguard.

For an index to input function \(\mathsf{inp}:[h] \rightarrow [\ell ]\), let

$$\begin{aligned} \mathbf{P}=\left\{ \mathsf{inp}, \{\mathbf{P}_{i,b} \in \{0,1 \}^{w \times w} \}_{i \in [h], b \in \{0,1\} } ,\mathcal {P}_0 = {\varvec{0}}^{w \times w}, \mathcal {P}_1 = {{\mathbb {Z}}}^{w \times w} \setminus \mathcal {P}_0 \right\} \end{aligned}$$

be a single input BP.

For parameters \(w,m,q,B \in {\mathbb {N}}\) and \(\sigma \in {\mathbb {R}}^{+}\), the BP obfuscation based GGH15 consists of the matrices and input function, namely

$$\begin{aligned} \mathcal {O}(\mathbf{P}) = \left\{ \mathsf{inp}, \mathbf{A}_0, \{\mathbf{D}_{i,b} \in {{\mathbb {Z}}}^{m \times m}\}_{i\in [h],b \in \{0,1\}} \right\} . \end{aligned}$$

In this case, the matrix \(\mathbf{T}\) in the abstract model is the identity matrix and \(\mathbf{S}= \mathbf{A}_0\). The output of the obfuscation at \(\mathbf{x}\) is computed as follows: compute the matrix \(\mathbf{A}_0 \cdot \prod _{i=1}^h\mathbf{D}_{i,x_{\mathsf{inp}(i)}} \bmod q\) and compare its \(\Vert \cdot \Vert _{\infty }\) to a zerotest bound B. If it is less than B, outputs zero. Otherwise, outputs 1.

The algorithm to construct an obfuscated program \(\mathcal {O}(\mathbf{P})\) proceeds as follows:

  • Sample matrices \((\mathbf{A}_i,\tau _i) \leftarrow \mathsf{TrapSam}(1^w, 1^m, q)\) for \(i=0,1,\cdots ,h-1\), \(\mathbf{A}_h \leftarrow U({{\mathbb {Z}}}_{q}^{w \times m})\) and \(\mathbf{E}_{i,b} \leftarrow \chi ^{w \times m}\) where \(\chi \) is a distribution related to the hardness of LWE problem.

  • By using the trapdoor \(\tau _i\), sample matrices

    $$\begin{aligned} \mathbf{D}_{i,b} \in {{\mathbb {Z}}}^{m \times m}\leftarrow \mathsf{Sample}(\mathbf{A}_{i-1},\tau _{i-1},\mathbf{P}_{i,b}\cdot \mathbf{A}_i + \mathbf{E}_{i,b},\sigma ) \text { with } 1\le i \le h. \end{aligned}$$
  • Output matrices \(\{\mathbf{A}_0, \{\mathbf{D}_{i,b} \in {{\mathbb {Z}}}^{m \times m}\}_{i\in [h],b \in \{0,1\}} \}\).

Then, we observe the product \(\mathcal {O}(\mathbf{P})(\mathbf{x}) = [\mathbf{A}_0 \cdot \prod _{i=1}^h\mathbf{D}_{i,x_{\mathsf{inp}(i)}}]_q\) is equal to

$$\begin{aligned} \prod _{i=1}^h \mathbf{P}_{i,x_{\mathsf{inp}(i)}} \cdot \mathbf{A}_h+ \sum _{j=1}^h \left( \left( \prod _{i=1}^{j-1} \mathbf{P}_{i,x_{\mathsf{inp}(i)}}\right) \cdot \mathbf{E}_{j,x_{\mathsf{inp}(j)}} \cdot \prod _{k=j+1}^{h} \mathbf{D}_{i,x_{\mathsf{inp}(k)}} \right) \end{aligned}$$

over \({{\mathbb {Z}}}_q\). If \(\prod _{i=1}^h \mathbf{P}_{i,x_{\mathsf{inp}(i)}} = {\varvec{0}}^{w \times w}\), then \(\mathcal {O}(\mathbf{P})(\mathbf{x})\) can be regarded as a summation of matrices over integers instead of \({{\mathbb {Z}}}_q\) under the certain choice of parameters as follows

$$\begin{aligned} \mathcal {O}(\mathbf{P})(\mathbf{x}) = \left[ \mathbf{A}_0 \cdot \prod _{i=1}^h\mathbf{D}_{i,x_{\mathsf{inp}(i)}}\right] _q= \sum _{j=1}^h \left( \left( \prod _{i=1}^{j-1} \mathbf{P}_{i,x_{\mathsf{inp}(i)}}\right) \cdot \mathbf{E}_{j,x_{\mathsf{inp}(j)}} \cdot \prod _{k=j+1}^{h} \mathbf{D}_{i,x_{\mathsf{inp}(k)}} \right) \end{aligned}$$

since the infinity norm of the above matrix is less than \(B \ll q\). Note that the evaluation values only rely on the matrices \(\mathbf{P}_{i,b}\), \(\mathbf{E}_{i,b}\) and \(\mathbf{D}_{i,b}\). Thus, the evaluation result depends on the message matrices \(\mathbf{P}_{i,b}\).

Suppose that we have two functionally equivalent BPs \(\mathbf{M}= \{ \mathbf{M}_{i,b}\}_{i \in [h], b \in \{0,1\}}\) and \(\mathbf{N}= \{ \mathbf{N}_{i,b}\}_{i \in [h], b \in \{0,1\}}\) satisfies

$$\begin{aligned} \mathbf{M}_{i,b}= {\varvec{0}}^{w \times w} \text { for all } i,b \text { and } \mathbf{N}_{i,b} = {\left\{ \begin{array}{ll} {\mathbf{I}}^{w \times w} &{} \text { if } i =1 \\ {\varvec{0}}^{w \times w} &{} \text {otherwise} \end{array}\right. }, \end{aligned}$$

and an obfuscated program \(\mathcal {O}(\mathbf{P})\). The goal of adversary is to determine whether \(\mathbf{P}\) is \(\mathbf{M}\) or not. For all \(\mathbf{x}\in \{0,1 \}^{\ell }\), the evaluation of the obfuscation is of the form

$$\begin{aligned}&\mathcal {O}(\mathbf{M})(\mathbf{x}) = \mathbf{E}_{1,x_{\mathsf{inp}(1)}}\cdot \prod _{k=2}^{h} \mathbf{D}_{k,x_{\mathsf{inp}(k)}} \text { and }\\&\mathcal {O}(\mathbf{N})(\mathbf{x}) = \mathbf{E}_{1,x_{\mathsf{inp}(1)}}\cdot \prod _{k=2}^{h} \mathbf{D}_{k,x_{\mathsf{inp}(k)}} + \mathbf{I}\cdot \mathbf{E}_{2,x_{\mathsf{inp}(2)}}\cdot \prod _{k=3}^{h} \mathbf{D}_{k,x_{\mathsf{inp}(k)}}. \end{aligned}$$

Note that they correspond to the distributions \(\mathcal {D}_\mathbf{M}\) and \(\mathcal {D}_\mathbf{N}\) for a fixed vector \(\mathbf{x}\). These equations show the difference of two distributions in this case.

B Modified CVW Obfuscation

We give a modification of CVW obfuscation, which can obfuscate the permutation matrix branching programs. This modification is, as far as we know, robust against all existing attacks. We first describe the transformation of branching programs. Then, we describe the modification of CVW obfuscation.

1.1 B.1 Transformation of Branching Programs

We first introduce the transformation from single-input permutation matrix branching programs to Type I BP. This transformation is applicable to BPs which outputs 0 when the product of BP matrices is the identity matrix. The output of transformation is a new branching program that outputs 0 when the product of BP matrices is the zero matrix. Through this transformation, the width of branching program is doubled. Note that this is adapted version of [10, Claim 6.2].

We are given a branching program with input size \(\ell \)

$$\begin{aligned} \mathbf{P}= \left\{ \{\mathbf{P}_{i,b} \in \{0,1\}^{w\times w}\}_{i \in [h], b \in \{0,1\}}, \textsf {inp}:[h]\rightarrow [\ell ] \right\} \end{aligned}$$

where the evaluation of \(\mathbf{P}\) at \(\mathbf{x}\in \{0,1\}^{\ell }\) is computed by

$$\begin{aligned} {\mathbf{P}}(\mathbf{x}) = {\left\{ \begin{array}{ll} 0&{}\text {if } \prod _{i=1}^h \mathbf{P}_{i,(x_{\mathsf{inp}(i)})}= \mathbf{I}_w\\ 1&{}\text {otherwise} \end{array}\right. } \end{aligned}$$

Then the transformation is done by changing branching program matrices as

$$\begin{aligned} \mathbf{P}' = \left\{ \left\{ \mathbf{P}'_{i,b} = \begin{pmatrix} \mathbf{P}_{i,b}&{}\mathbf 0\\ \mathbf 0 &{} \mathbf{I}_w \end{pmatrix} \in \{0,1\}^{2w\times 2w}\right\} _{i \in [h], b \in \{0,1\}}, \textsf {inp}:[h]\rightarrow [\ell ] \right\} \end{aligned}$$

and the evaluation is similar but uses new vectors \(\mathbf{v}' = (\mathbf{v}|-\mathbf{v})\) and \(\mathbf{w}' = (\mathbf{w}| \mathbf{w})\) for \(\mathbf{v},\mathbf{w}\in {{\mathbb {Z}}}^w\):

$$\begin{aligned} {\mathbf{P}'}(\mathbf{x}) = {\left\{ \begin{array}{ll} 0&{}\text {if } \mathbf{v}' \cdot \prod _{i=1}^h \mathbf{P}'_{i,(x_{\mathsf{inp}(i)})} \cdot \mathbf{w}'^{T}= 0\\ 1&{}\text {otherwise} \end{array}\right. } \end{aligned}$$

We will choose \(\mathbf{v}\) and \(\mathbf{w}\) as random Gaussian vectors. Note that the resulting branching program is also a permutation BP.

1.2 B.2 Modification of CVW Obfuscation

We give here how to modify the CVW obfuscation to be applicable to the resulting permutation BPs of the above transform. We also assume that the index length \(h =(\lambda +1)\cdot \ell \) and the index-to-input function satisfies \(\mathsf{inp}(i) = (i \mod \ell )\) as in the CVW obfuscation. We also assume that the BP is \((\lambda +1)\)-input repetition BP as in the original construction. The changed parts are written in red. Note that the targeted BPs have width 2w. Thus we set \(t:=(2w+2n\ell )\cdot n\).

  • Sample bundling matrices \(\{\mathbf{R}_{i,b} \in {{\mathbb {Z}}}^{2n\ell \times 2n\ell }\}_{i \in [h], b \in \{0,1\} }\) such that \((\varvec{1}^{1 \times 2\ell }\otimes \mathbf{I}^{n\times n})\cdot \mathbf{R}_{\mathbf{x}'}\cdot (\varvec{1}^{2\ell \times 1}\otimes \mathbf{I}^{n\times n}) = \varvec{0}\) \(\iff \) \(\mathbf{x}' \in \bar{\omega }(\{ 0,1\}^{\ell })\) for all \(\mathbf{x}' \in \{ 0,1\}^{h}\). More precisely, \(\mathbf{R}_{i,b}\) is a block diagonal matrix \(\mathsf{diag}( \mathbf{R}^{(1)}_{i,b},\mathbf{R}^{(2)}_{i,b},\cdots ,\mathbf{R}^{(\ell )}_{i,b})\). Each \(\mathbf{R}^{(k)}_{i,b} \in {{\mathbb {Z}}}^{2n \times 2n}\) is one of the following three cases.

    $$\begin{aligned} \mathbf{R}^{(k)}_{i,b} = {\left\{ \begin{array}{ll} \mathbf{I}^{2n \times 2n} &{} \text { if } \mathsf{inp}(i) \ne k \\ \begin{pmatrix} \tilde{\mathbf{R}}^{(k)}_{i,b} &{} \\ {} &{} \mathbf{I}^{n \times n} \end{pmatrix} , \tilde{\mathbf{R}}^{(k)}_{i,b} \leftarrow \mathcal {D}_{{{\mathbb {Z}}},\sigma }^{n \times n} &{} \text { if } \mathsf{inp}(i) = k \text { and } i \le \lambda \ell \\ \begin{pmatrix} -\mathbf{I}^{n \times n} &{} \\ {} &{} \displaystyle \prod _{j=0}^{\lambda -1} \tilde{\mathbf{R}}^{(k)}_{k+j\ell ,b} \end{pmatrix}&\text { if } \mathsf{inp}(i) = k \text { and } i > \lambda \ell \end{array}\right. } \end{aligned}$$
  • Sample matrices \(\{\mathbf{S}_{i,b} \leftarrow \mathcal {D}^{n \times n}_{{{\mathbb {Z}}}, \sigma } \}_{i \in [h], b \in \{0,1\}}\), bookend vectors \(\mathbf{v}\leftarrow \mathcal {D}_{{{\mathbb {Z}}},\sigma }^w\) and \(\mathbf{w}\leftarrow \mathcal {D}_{{{\mathbb {Z}}},\sigma }^w\) and compute

    $$\begin{aligned}&\mathbf{J}:= ({(\mathbf{v}|-\mathbf{v}|\varvec{1}^{1 \times 2n\ell })} \otimes \mathbf{I}^{n\times n}) \in {{\mathbb {Z}}}^{n \times t} \\&{\hat{\mathbf{S}}}_{i,b} : = \begin{pmatrix} \mathbf{P}_{i,b} \otimes \mathbf{S}_{i,b} &{} \\ {} &{} \mathbf{R}_{i,b} \otimes \mathbf{S}_{i,b} \end{pmatrix} \in {{\mathbb {Z}}}^{t \times t} \\&\mathbf{L}:= ({(\mathbf{w}| \mathbf{w}| \varvec{1}^{1\times 2n\ell })^T}\otimes \mathbf{I}^{n\times n}) \in {{\mathbb {Z}}}^{t \times n} \end{aligned}$$
  • Sample \((\mathbf{A}_i,\tau _i) \leftarrow \mathsf{TrapSam}(1^t,1^m,q)\) for \(0 \le i \le h-1\), \(\mathbf{A}_h \leftarrow U({{\mathbb {Z}}}^{n \times n}_q)\), \( \{\mathbf{E}_{i,b} \leftarrow \mathcal {D}^{t \times m}_{{{\mathbb {Z}}}, \sigma }\}_{i \in [h-1], b \in \{0,1\} }\) and \(\{\mathbf{E}_{h,b}\leftarrow \mathcal {D}^{t \times n}_{{{\mathbb {Z}}}, \sigma } \}_{b \in \{0,1\}}\).

  • Run \(\mathsf{Sample}\) algorithms to obtain

    $$\begin{aligned}&\mathbf{D}_{i,b} \in {{\mathbb {Z}}}^{m \times m}\leftarrow \mathsf{Sample}(\mathbf{A}_{i-1},\tau _{i-1},\hat{\mathbf{S}}_{i,b}\cdot \mathbf{A}_i + \mathbf{E}_{i,b},\sigma ) \text { for } 1\le i \le h-1, \\&\mathbf{D}_{h,b} \in {{\mathbb {Z}}}^{m \times n} \leftarrow \mathsf{Sample}(\mathbf{A}_{h-1},\tau _{h-1},{\hat{\mathbf{S}}}_{h,b} \cdot \mathbf{L}\cdot \mathbf{A}_h + \mathbf{E}_{h,b},\sigma ). \end{aligned}$$
  • Define \(\mathbf{A}_{\mathbf{J}}\) as a matrix \(\mathbf{J}\cdot \mathbf{A}_0 \in {{\mathbb {Z}}}^{n \times m}\) and outputs matrices

    $$\begin{aligned} \left\{ \mathsf{inp}, \mathbf{A}_{\mathbf{J}}, \{\mathbf{D}_{i,b}\}_{i \in [h], b \in \{0,1\}} \right\} . \end{aligned}$$

We omit the procedure and correctness of evaluation that are almost the same as the original one.

C Assumptions of Lattice Preimage Sampling

In this section we provide the experimental results of Assumption 1. Our experiments are built upon the preimage sampling algorithm in the [24], an implementation of BP obfuscation [23].Footnote 6 The results imply that the variance and kurtosis move almost the same as one assumed independency, the correctness of attack only requires much relaxed assumption (Table 1).

Table 1. Experiment results on statistical value of preimage sampling. #products stands for the number of producted preimage matrices, \(\sigma _x^2\) the variance of preimage sampling, \(S^2\) the sample variance, \(E[X^4]/\sigma ^4\) the sample kurtosis and \(\sigma ^2\) the expected variance. Every experiment is done using 100 samples. The expected variance is computed under the assumption on independency of D’s. Every expected kurtosis assuming independency of D’s is about 3.

Rights and permissions

Reprints and permissions

Copyright information

© 2019 International Association for Cryptologic Research

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Cheon, J.H., Cho, W., Hhan, M., Kim, J., Lee, C. (2019). Statistical Zeroizing Attack: Cryptanalysis of Candidates of BP Obfuscation over GGH15 Multilinear Map. In: Boldyreva, A., Micciancio, D. (eds) Advances in Cryptology – CRYPTO 2019. CRYPTO 2019. Lecture Notes in Computer Science(), vol 11694. Springer, Cham. https://doi.org/10.1007/978-3-030-26954-8_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-26954-8_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-26953-1

  • Online ISBN: 978-3-030-26954-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics