Abstract
Many MPC protocols, such as GMW and SPDZ, have a round complexity that is dependent on the circuit’s depth. When deploying these protocols in real world network settings, with network latencies in the range of tens or hundreds of milliseconds, the round complexity quickly becomes a significant performance bottleneck. In this chapter, we describe compiler extension to CBMC-GC (This chapter is based on our paper “Compiling Low Depth Circuits for Practical Secure Computation” (Büscher et al. ESORICS 2016: 21st European Symposium on Research in Computer Security, Part II. Springer, Heidelberg, 2016).) that optimizes circuits for a minimal depth. We first introduce novel optimized building blocks that are up to 50% shallower than previous constructions. Second, we present multiple high- and low-level depth-minimization techniques. Our implementation achieves significant depth reductions over hand-optimized circuits (for some applications up to 2.5). Moreover, evaluating exemplary functionalities in the GMW protocol, we show that depth reductions lead to significant speed-ups in real-world network setting.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Even though, MPC is often benchmarked in a LAN setting, a WAN setting is the more natural deployment model of MPC.
References
Asharov, G., Lindell, Y., Schneider, T., Zohner, M.: More efficient oblivious transfer and extensions for faster secure computation. In: Sadeghi, A.R., Gligor, V.D., Yung, M. (eds.) ACM CCS 13: 20th Conference on Computer and Communications Security, pp. 535–548. ACM Press, New York (2013)
Barni, M., Bernaschi, M., Lazzeretti, R., Pignata, T., Sabellico, A.: Parallel implementation of GC-based MPC protocols in the semi-honest setting. In: Data Privacy Management and Autonomous Spontaneous Security - 8th International Workshop, DPM 2013, and 6th International Workshop, SETOP 2013, Egham, September 12–13, 2013, Revised Selected Papers, pp. 66–82 (2013)
Beaver, D.: Efficient multiparty protocols using circuit randomization. In: Feigenbaum, J. (ed.) Advances in Cryptology – CRYPTO’91. Lecture Notes in Computer Science, vol. 576, pp. 420–432. Springer, Heidelberg (1992)
Beaver, D., Micali, S., Rogaway, P.: The round complexity of secure protocols (extended abstract). In: 22nd Annual ACM Symposium on Theory of Computing, pp. 503–513. ACM Press, New York (1990)
Bellare, M., Hoang, V.T., Keelveedhi, S., Rogaway, P.: Efficient garbling from a fixed-key blockcipher. In: 2013 IEEE Symposium on Security and Privacy, pp. 478–492. IEEE Computer Society Press, New York (2013)
Ben-Or, M., Goldwasser, S., Wigderson, A.: Completeness theorems for non-cryptographic fault-tolerant distributed computation (extended abstract). In: 20th Annual ACM Symposium on Theory of Computing, pp. 1–10. ACM Press, New York (1988)
Berkeley logic synthesis and verification group, ABC: a system for sequential synthesis and verification, release 30916. http://www.eecs.berkeley.edu/~alanmi/abc/
Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: Tools and Algorithms for Construction and Analysis of Systems, 5th International Conference, TACAS ’99, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS’99, Amsterdam, March 22–28, 1999, Proceedings, pp. 193–207 (1999)
Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press, Amsterdam (2009)
Bilogrevic, I., Jadliwala, M., Hubaux, J., Aad, I., Niemi, V.: Privacy-preserving activity scheduling on mobile devices. In: First ACM Conference on Data and Application Security and Privacy, CODASPY 2011, San Antonio, TX, February 21–23, 2011, Proceedings, pp. 261–272 (2011)
Bjesse, P., Borälv, A.: Dag-aware circuit compression for formal verification. In: International Conference on Computer-Aided Design ICCAD (2004)
Bogdanov, D., Laur, S., Willemson, J.: Sharemind: A framework for fast privacy-preserving computations. In: Jajodia, S., López, J. (eds.) ESORICS 2008: 13th European Symposium on Research in Computer Security. Lecture Notes in Computer Science, vol. 5283, pp. 192–206. Springer, Heidelberg (2008)
Bogetoft, P., Christensen, D.L., Damgård, I., Geisler, M., Jakobsen, T., Krøigaard, M., Nielsen, J.D., Nielsen, J.B., Nielsen, K., Pagter, J., Schwartzbach, M.I., Toft, T.: Secure multiparty computation goes live. In: Dingledine, R., Golle, P. (eds.) FC 2009: 13th International Conference on Financial Cryptography and Data Security. Lecture Notes in Computer Science, vol. 5628, pp. 325–343. Springer, Heidelberg (2009)
Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical automatic polyhedral parallelizer and locality optimizer. In: Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, Tucson, AZ, June 7–13, 2008, pp. 101–113 (2008)
Buchfuhrer, D., Umans, C.: The complexity of Boolean formula minimization. J. Comput. Syst. Sci. 77(1), 142–153 (2011)
Büscher, N., Katzenbeisser, S.: Faster secure computation through automatic parallelization. In: 24th USENIX Security Symposium, USENIX Security 15, Washington, DC, August 12–14, 2015, pp. 531–546 (2015)
Büscher, N., Holzer, A., Weber, A., Katzenbeisser, S.: Compiling low depth circuits for practical secure computation. In: Askoxylakis, I.G., Ioannidis, S., Katsikas, S.K., Meadows, C.A. (eds.) ESORICS 2016: 21st European Symposium on Research in Computer Security, Part II. Lecture Notes in Computer Science, vol. 9879, pp. 80–98. Springer, Heidelberg (2016)
Büscher, N., Kretzmer, D., Jindal, A., Katzenbeisser, S.: Scalable secure computation from ANSI-C. In: IEEE International Workshop on Information Forensics and Security, WIFS 2016, Abu Dhabi, December 4–7, 2016, pp. 1–6 (2016)
Canet, G., Cuoq, P., Monate, B.: A value analysis for C programs. In: IEEE SCAM (2009)
Choi, S.G., Hwang, K.W., Katz, J., Malkin, T., Rubenstein, D.: Secure multi-party computation of Boolean circuits with applications to privacy in on-line marketplaces. In: Dunkelman, O. (ed.) Topics in Cryptology – CT-RSA 2012. Lecture Notes in Computer Science, vol. 7178, pp. 416–432. Springer, Heidelberg (2012)
Clarke, E.M., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs. In: Tools and Algorithms for the Construction and Analysis of Systems, 10th International Conference, TACAS 2004, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, Barcelona, March 29–April 2, 2004, Proceedings, pp. 168–176 (2004)
Clarke, E.M., Kroening, D., Yorav, K.: Behavioral consistency of C and Verilog programs using bounded model checking. In: Proceedings of the 40th Design Automation Conference, DAC 2003, Anaheim, CA, June 2–6, 2003, pp. 368–371 (2003)
Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-c - A software analysis perspective. In: Software Engineering and Formal Methods - 10th International Conference, SEFM 2012, Thessaloniki, October 1–5, 2012. Proceedings, pp. 233–247 (2012)
Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-c - A software analysis perspective. In: SEFM (2012)
Dagum, L., Menon, R.: OpenMP an industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46–55 (1998)
Damgård, I., Pastro, V., Smart, N.P., Zakarias, S.: Multiparty computation from somewhat homomorphic encryption. In: Safavi-Naini, R., Canetti, R. (eds.) Advances in Cryptology – CRYPTO 2012. Lecture Notes in Computer Science, vol. 7417, pp. 643–662. Springer, Heidelberg (2012)
Darringer, J.A., Joyner, W.H., Berman, C.L., Trevillyan, L.: Logic synthesis through local transformations. IBM J. Res. Dev. 25(4), 272–280 (1981)
Demmler, D., Dessouky, G., Koushanfar, F., Sadeghi, A.R., Schneider, T., Zeitouni, S.: Automated synthesis of optimized circuits for secure computation. In: Ray, I., Li, N., Kruegel, C. (eds.) ACM CCS 15: 22nd Conference on Computer and Communications Security, pp. 1504–1517. ACM Press, New York (2015)
Demmler, D., Schneider, T., Zohner, M.: ABY - A framework for efficient mixed-protocol secure two-party computation. In: ISOC Network and Distributed System Security Symposium – NDSS 2015. The Internet Society, San Diaego (2015)
Earle, J.: Latched carry-save adder. IBM Technical Disclosure Bulletin (1965)
Erkin, Z., Franz, M., Guajardo, J., Katzenbeisser, S., Lagendijk, I., Toft, T.: Privacy-preserving face recognition. In: Privacy Enhancing Technologies, 9th International Symposium, PETS 2009, Seattle, WA, August 5–7, 2009. Proceedings, pp. 235–253 (2009)
Franz, M., Holzer, A., Katzenbeisser, S., Schallhart, C., Veith, H.: CBMC-GC: an ANSI C compiler for secure two-party computations. In: Compiler Construction - 23rd International Conference, CC 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, April 5–13, 2014. Proceedings, pp. 244–249 (2014)
Freedman, M.J., Nissim, K., Pinkas, B.: Efficient private matching and set intersection. In: Cachin, C., Camenisch, J. (eds.) Advances in Cryptology – EUROCRYPT 2004. Lecture Notes in Computer Science, vol. 3027, pp. 1–19. Springer, Heidelberg (2004)
Furukawa, J., Lindell, Y., Nof, A., Weinstein, O.: High-throughput secure three-party computation for malicious adversaries and an honest majority. In: Advances in Cryptology - EUROCRYPT 2017 - 36th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, April 30–May 4, 2017, Proceedings, Part II, pp. 225–255 (2017)
Ganai, M.K., Gupta, A., Ashar, P.: DiVer: Sat-based model checking platform for verifying large scale systems. In: Tools and Algorithms for the Construction and Analysis of Systems, 11th International Conference, TACAS 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, April 4–8, 2005, Proceedings, pp. 575–580 (2005)
Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(3), 413 (1991)
Goldreich, O., Micali, S., Wigderson, A.: How to play any mental game or A completeness theorem for protocols with honest majority. In: Aho, A. (ed.) 19th Annual ACM Symposium on Theory of Computing, pp. 218–229. ACM Press, New York (1987)
Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious rams. J. ACM 43(3), 431–473 (1996)
Harris, D.: A taxonomy of parallel prefix networks. In: IEEE ASILOMAR (2003)
Henecka, W., Kögl, S., Sadeghi, A.R., Schneider, T., Wehrenberg, I.: TASTY: tool for automating secure two-party computations. In: Al-Shaer, E., A.D. Keromytis, V. Shmatikov (eds.) ACM CCS 10: 17th Conference on Computer and Communications Security, pp. 451–462. ACM Press, New York (2010)
Henecka, W., Schneider, T.: Faster secure two-party computation with less memory. In: Chen, K., Xie, Q., Qiu, W., Li, N., Tzeng, W.G. (eds.) ASIACCS 13: 8th ACM Symposium on Information, Computer and Communications Security, pp. 437–446. ACM Press, New York (2013)
Holzer, A., Franz, M., Katzenbeisser, S., Veith, H.: Secure two-party computations in ANSI C. In: T. Yu, G. Danezis, V.D. Gligor (eds.) ACM CCS 12: 19th Conference on Computer and Communications Security, pp. 772–783. ACM Press, New York (2012)
Huang, Y., Evans, D., Katz, J., Malka, L.: Faster secure two-party computation using garbled circuits. In: 20th USENIX Security Symposium, San Francisco, CA, August 8–12, 2011, Proceedings (2011)
Husted, N., Myers, S., Shelat, A., Grubbs, P.: GPU and CPU parallelization of honest-but-curious secure two-party computation. In: Annual Computer Security Applications Conference, ACSAC ’13, New Orleans, LA, December 9–13, 2013, pp. 169–178 (2013)
Irigoin, F., Jouvelot, P., Triolet, R.: Semantical interprocedural parallelization: an overview of the PIPS project. In: ICS (1991)
Ishai, Y., Kilian, J., Nissim, K., Petrank, E.: Extending oblivious transfers efficiently. In: Boneh, D. (ed.) Advances in Cryptology – CRYPTO 2003. Lecture Notes in Computer Science, vol. 2729, pp. 145–161. Springer, Heidelberg (2003)
Keller, M., Orsini, E., Scholl, P.: Actively secure OT extension with optimal overhead. In: Gennaro, R., Robshaw, M.J.B. (eds.) Advances in Cryptology – CRYPTO 2015, Part I. Lecture Notes in Computer Science, vol. 9215, pp. 724–741. Springer, Heidelberg (2015)
Kerschbaum, F., Schneider, T., Schröpfer, A.: Automatic protocol selection in secure two-party computations. In: Boureanu, I., Owesarski, P., Vaudenay, S. (eds.) ACNS 14: 12th International Conference on Applied Cryptography and Network Security. Lecture Notes in Computer Science, vol. 8479, pp. 566–584. Springer, Heidelberg (2014)
Kolesnikov, V., Schneider, T.: Improved garbled circuit: Free XOR gates and applications. In: L. Aceto, I. Damgård, L.A. Goldberg, M.M. Halldórsson, A. Ingólfsdóttir, I. Walukiewicz (eds.) ICALP 2008: 35th International Colloquium on Automata, Languages and Programming, Part II. Lecture Notes in Computer Science, vol. 5126, pp. 486–498. Springer, Heidelberg (2008)
Kolesnikov, V., Sadeghi, A.R., Schneider, T.: Improved garbled circuit building blocks and applications to auctions and computing minima. In: Garay, J.A., Miyaji, A., Otsuka, A. (eds.) CANS 09: 8th International Conference on Cryptology and Network Security. Lecture Notes in Computer Science, vol. 5888, pp. 1–20. Springer, Heidelberg (2009)
Kreuter, B., Shelat, A., Shen, C.: Billion-gate secure computation with malicious adversaries. In: Proceedings of the 21th USENIX Security Symposium, Bellevue, WA, August 8–10, 2012, pp. 285–300 (2012)
Kreuter, B., Shelat, A., Mood, B., Butler, K.R.B.: PCF: a portable circuit format for scalable two-party secure computation. In: Proceedings of the 22th USENIX Security Symposium, Washington, DC, August 14–16, 2013, pp. 321–336 (2013)
Kuehlmann, A.: Dynamic transition relation simplification for bounded property checking. In: 2004 International Conference on Computer-Aided Design, ICCAD 2004, San Jose, CA, November 7–11, 2004, pp. 50–57 (2004)
Lindell, Y., Pinkas, B.: A proof of security of Yao’s protocol for two-party computation. Journal of Cryptology 22(2), 161–188 (2009)
Liu, C., Huang, Y., Shi, E., Katz, J., Hicks, M.W.: Automating efficient RAM-model secure computation. In: 2014 IEEE Symposium on Security and Privacy, pp. 623–638. IEEE Computer Society Press, New York (2014)
Liu, C., Wang, X.S., Nayak, K., Huang, Y., Shi, E.: ObliVM: A programming framework for secure computation. In: 2015 IEEE Symposium on Security and Privacy, pp. 359–376. IEEE Computer Society Press, New York (2015)
Malkhi, D., Nisan, N., Pinkas, B., Sella, Y.: Fairplay - secure two-party computation system. In: Proceedings of the 13th USENIX Security Symposium, August 9–13, 2004, San Diego, CA, pp. 287–302 (2004)
McCreary, C., Gill, H.: Efficient exploitation of concurrency using graph decomposition. In: Proceedings of the 1990 International Conference on Parallel Processing, Urbana-Champaign, IL, August 1990. Volume 2: Software, pp. 199–203 (1990)
Mishchenko, A., Chatterjee, S., Brayton, R.K.: Dag-aware AIG rewriting a fresh look at combinational logic synthesis. In: Design Automation Conference, DAC (2006)
Mishchenko, A., Chatterjee, S., Brayton, R.K., Eén, N.: Improvements to combinational equivalence checking. In: 2006 International Conference on Computer-Aided Design, ICCAD 2006, San Jose, CA, November 5–9, 2006, pp. 836–843 (2006)
Mood, B., Gupta, D., Carter, H., Butler, K.R.B., Traynor, P.: Frigate: A validated, extensible, and efficient compiler and interpreter for secure computation. In: IEEE European Symposium on Security and Privacy, EuroS&P 2016, Saarbrücken, March 21–24, 2016, pp. 112–127 (2016)
Mood, B., Letaw, L., Butler, K.: Memory-efficient garbled circuit generation for mobile devices. In: Keromytis, A.D. (ed.) FC 2012: 16th International Conference on Financial Cryptography and Data Security. Lecture Notes in Computer Science, vol. 7397, pp. 254–268. Springer, Heidelberg (2012)
Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco (1997)
Naor, M., Pinkas, B., Sumner, R.: Privacy preserving auctions and mechanism design. In: EC, pp. 129–139 (1999)
Nayak, K., Wang, X.S., Ioannidis, S., Weinsberg, U., Taft, N., Shi, E.: GraphSC: Parallel secure computation made easy. In: 2015 IEEE Symposium on Security and Privacy, pp. 377–394. IEEE Computer Society Press, New York (2015)
Nielsen, J.B., Nordholt, P.S., Orlandi, C., Burra, S.S.: A new approach to practical active-secure two-party computation. In: Safavi-Naini, R., Canetti, R. (eds.) Advances in Cryptology – CRYPTO 2012. Lecture Notes in Computer Science, vol. 7417, pp. 681–700. Springer, Heidelberg (2012)
Pinkas, B., Schneider, T., Smart, N.P., Williams, S.C.: Secure two-party computation is practical. In: Matsui, M. (ed.) Advances in Cryptology – ASIACRYPT 2009. Lecture Notes in Computer Science, vol. 5912, pp. 250–267. Springer, Heidelberg (2009)
Pouchet, L.N.: Polyhedral Compiler Collection (PoCC) (2012)
Pullonen, P., Siim, S.: Combining secret sharing and garbled circuits for efficient private IEEE 754 floating-point computations. In: Financial Cryptography and Data Security - FC 2015 International Workshops, BITCOIN, WAHC, and Wearable, San Juan, Puerto Rico, January 30, 2015, Revised Selected Papers, pp. 172–183 (2015)
Robertson, J.E.: A new class of digital division methods. IRE Trans. Electron. Comput. (3), 218–222 (1958)
Schneider, T., Zohner, M.: GMW vs. Yao? Efficient secure two-party computation with low depth circuits. In: Sadeghi, A.R. (ed.) FC 2013: 17th International Conference on Financial Cryptography and Data Security. Lecture Notes in Computer Science, vol. 7859, pp. 275–292. Springer, Heidelberg (2013)
Schröpfer, A., Kerschbaum, F., Müller, G.: L1 - an intermediate language for mixed-protocol secure computation. In: Proceedings of the 35th Annual IEEE International Computer Software and Applications Conference, COMPSAC 2011, Munich, 18–22 July 2011, pp. 298–307 (2011)
Songhori, E.M., Hussain, S.U., Sadeghi, A.R., Schneider, T., Koushanfar, F.: TinyGarble: Highly compressed and scalable sequential garbled circuits. In: 2015 IEEE Symposium on Security and Privacy, pp. 411–428. IEEE Computer Society Press, New York (2015)
Wallace, C.S.: A suggestion for a fast multiplier. IEEE Trans. Electron. Comput. EC-13(1), 14–17 (1964)
Yao, A.C.C.: Protocols for secure computations (extended abstract). In: 23rd Annual Symposium on Foundations of Computer Science, pp. 160–164. IEEE Computer Society Press (1982)
Yao, A.C.C.: How to generate and exchange secrets (extended abstract). In: 27th Annual Symposium on Foundations of Computer Science, pp. 162–167. IEEE Computer Society Press, New York (1986)
Zahur, S., Evans, D.: Obliv-c: A language for extensible data-oblivious computation. IACR Cryptology ePrint Archive 2015, 1153 (2015)
Zahur, S., Rosulek, M., Evans, D.: Two halves make a whole - reducing data transfer in garbled circuits using half gates. In: Oswald, E., Fischlin, M. (eds.) Advances in Cryptology – EUROCRYPT 2015, Part II. Lecture Notes in Computer Science, vol. 9057, pp. 220–250. Springer, Heidelberg (2015)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2017 The Author(s)
About this chapter
Cite this chapter
Büscher, N., Katzenbeisser, S. (2017). Compiling Depth-Optimized Circuits for Multi-Round MPC Protocols. In: Compilation for Secure Multi-party Computation. SpringerBriefs in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-319-67522-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-67522-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-67521-3
Online ISBN: 978-3-319-67522-0
eBook Packages: Computer ScienceComputer Science (R0)