Implementing Indistinguishability Obfuscation Using GGH15

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10726)


Obfuscation is an extraordinarily powerful object that has been shown to enable a whole set of new cryptographic possibilities. Because of the impossibility of the general-purpose virtual black-box (VBB) obfuscation, Barak et al. suggested to implement a weak variant which is called the indistinguishability obfuscation (iO). The iO is the substrate of various cryptographic primitives such as the universal function encryption, the self-bilinear map and so on. However, current obfuscation is too cumbersome to implement in practice.

In this paper, we implement an obfuscation for NC1 circuits by using the GGH15 multilinear map. Several techniques are proposed to improve the efficiency and adaptability of the implementation. We reduce the matrix dimension and the depth of encoding graph to increase the speed of confusion. Splitting the matrix into block matrix and encoding each block instead of using the entire matrix will reduce the size of matrix effectively. The plaintext matrix will be one block of the matrix. Besides, we put matrices into groups and encode one group on path \(u\,\rightsquigarrow \,v\). Then the depth of the graph depends on the number of groups rather than the number of matrices. Those methods have led to a significant reduction in the rate of obfuscation.


Multilinear map iO Implementation GGH15 



This work is supported by the National Natural Science Foundation of China (No. 61672550, No. 61379154) and the Fundamental Research Funds for the Central Universities (No. 17lgjc45).


  1. 1.
    Ajtai, M.: Generating hard instances of the short basis problem. In: Wiedermann, J., van Emde Boas, P., Nielsen, M. (eds.) ICALP 1999. LNCS, vol. 1644, pp. 1–9. Springer, Heidelberg (1999). CrossRefGoogle Scholar
  2. 2.
    Ananth, P., Gupta, D., Ishai, Y., Sahai, A.: Optimizing obfuscation: avoiding Barrington’s theorem. In: 2014 ACM SIGSAC CCS, pp. 646–658. ACM (2014)Google Scholar
  3. 3.
    Arora, S., Ge, R.: New algorithms for learning in presence of errors. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011. LNCS, vol. 6755, pp. 403–415. Springer, Heidelberg (2011). CrossRefGoogle Scholar
  4. 4.
    Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sahai, A., Vadhan, S., Yang, K.: On the (Im)possibility of obfuscating programs. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 1–18. Springer, Heidelberg (2001). CrossRefGoogle Scholar
  5. 5.
    Barrington, D.A.: Bounded-width polynomial-size branching programs recognize exactly those languages in NC\(^1\). In: ACM STOC 1986, pp. 1–5. ACM (1986)Google Scholar
  6. 6.
    Boneh, D., Silverberg, A.: Applications of multilinear forms to cryptography. Contemp. Mathe. 324(1), 71–90 (2003)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Brakerski, Z., Gentry, C., Halevi, S., Lepoint, T., Sahai, A., Tibouchi, M.: Cryptanalysis of the quadratic zero-testing of GGH. Cryptology ePrint Archive, Report 2015/845 (2015)Google Scholar
  8. 8.
    Canetti, R.: Towards realizing random oracles: hash functions that hide all partial information. In: Kaliski, B.S. (ed.) CRYPTO 1997. LNCS, vol. 1294, pp. 455–469. Springer, Heidelberg (1997). CrossRefGoogle Scholar
  9. 9.
    Canetti, R., Rothblum, G.N., Varia, M.: Obfuscation of hyperplane membership. In: Micciancio, D. (ed.) TCC 2010. LNCS, vol. 5978, pp. 72–89. Springer, Heidelberg (2010). CrossRefGoogle Scholar
  10. 10.
    Cheon, J.H., Fouque, P.-A., Lee, C., Minaud, B., Ryu, H.: Cryptanalysis of the new CLT multilinear map over the integers. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 509–536. Springer, Heidelberg (2016). CrossRefGoogle Scholar
  11. 11.
    Cheon, J.H., Han, K., Lee, C., Ryu, H., Stehlé, D.: Cryptanalysis of the multilinear map over the integers. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9056, pp. 3–12. Springer, Heidelberg (2015). Google Scholar
  12. 12.
    Coron, J.-S., Gentry, C., Halevi, S., Lepoint, T., Maji, H.K., Miles, E., Raykova, M., Sahai, A., Tibouchi, M.: 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). CrossRefGoogle Scholar
  13. 13.
    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). CrossRefGoogle Scholar
  14. 14.
    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). CrossRefGoogle Scholar
  15. 15.
    Garg, S., Gentry, C., Halevi, S., Raykova, M., Sahai, A., Waters, B.: Candidate indistinguishability obfuscation and functional encryption for all circuits. In: FOCS 2013, pp. 40–49, October 2013Google Scholar
  16. 16.
    Garg, S., Gentry, C., Halevi, S., Sahai, A., Waters, B.: Attribute-based encryption for circuits from multilinear maps. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8043, pp. 479–499. Springer, Heidelberg (2013). CrossRefGoogle Scholar
  17. 17.
    Gentry, C.: Fully homomorphic encryption using ideal lattices. In: ACM STOC 2009, pp. 169–178. ACM (2009)Google Scholar
  18. 18.
    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). CrossRefGoogle Scholar
  19. 19.
    Gentry, C., Halevi, S., Smart, N.P.: Homomorphic evaluation of the AES circuit. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 850–867. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  20. 20.
    Gentry, C., Peikert, C., Vaikuntanathan, V.: Trapdoors for hard lattices and new cryptographic constructions. In: ACM STOC 2008, pp. 197–206. ACM (2008)Google Scholar
  21. 21.
    Halevi, S., Halevi, T., Shoup, V., Stephens-Davidowitz, N.: Implementing BP-obfuscation using graph-induced encoding. Cryptology ePrint Archive, Report 2017/104 (2017)Google Scholar
  22. 22.
    Hu, Y., Jia, H.: Cryptanalysis of GGH map. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 537–565. Springer, Heidelberg (2016). CrossRefGoogle Scholar
  23. 23.
    Kilian, J.: Founding crytpography on oblivious transfer. In: ACM STOC 1988, pp. 20–31. ACM (1988)Google Scholar
  24. 24.
    Klein, P.: Finding the closest lattice vector when it’s unusually close. In: ACM-SIAM SODA 2000, pp. 937–941. SIAM (2000)Google Scholar
  25. 25.
    Linn, C., Debray, S.: Obfuscation of executable code to improve resistance to static disassembly. In: ACM CCS 2003, pp. 290–299. ACM (2003)Google Scholar
  26. 26.
    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). CrossRefGoogle Scholar
  27. 27.
    Miles, E., Sahai, A., Zhandry, M.: Annihilation attacks for multilinear maps: cryptanalysis of indistinguishability obfuscation over GGH13. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9815, pp. 629–658. Springer, Heidelberg (2016). CrossRefGoogle Scholar
  28. 28.
    Sauerhoff, M., Wegener, I., Werchner, R.: Relating branching program size and formula size over the full binary basis. In: Meinel, C., Tison, S. (eds.) STACS 1999. LNCS, vol. 1563, pp. 57–67. Springer, Heidelberg (1999). CrossRefGoogle Scholar
  29. 29.
    Wroblewski, G.: General method of program code obfuscation. Ph.D. thesis, Institute of Engineering Cybernetics, Wroclaw University of Technology (2002)Google Scholar
  30. 30.
    Coron, J.-S., Lee, M.S., Lepoint, T., Tibouchi, M.: Cryptanalysis of GGH15 multilinear maps. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9815, pp. 607–628. Springer, Heidelberg (2016). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.School of Data and Computer ScienceSun Yat-sen UniversityGuangzhouChina
  2. 2.Guangdong Key Laboratory of Information SecurityGuangzhouChina

Personalised recommendations