Skip to main content

Secure Multi-party Computation with Legally-Enforceable Fairness

  • Conference paper
  • First Online:
Information and Communications Security (ICICS 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14252))

Included in the following conference series:

Abstract

Fairness is a security notion of secure computation and cannot always be achieved if an adversary corrupts a majority of parties in standard settings. Lindell (CT-RSA 2008) showed that imposing a monetary penalty on an adversary can circumvent the impossibility. He formalized such a security notion as “legally enforceable fairness" for the two-party setting based on the ideal trusted bank functionality and showed a protocol achieving the requirements. Based on the same framework, we introduce secure multi-party computation with legally enforceable fairness that is applicable for an arbitrary number of parties. Further, we propose two protocols that realize our introduced functionality. The first one achieves O(n) rounds, \(O(n^2)\) communications, and \(O(n \alpha )\) fees, where n is the number of parties, and \(\alpha \) is a parameter for the penalty amount. The fee refers to the balance amount in the bank required at the beginning of the protocol, which evaluates the difficulty of participating in the protocol in a financial sense. The second one achieves O(1) rounds, O(n) communications, and \(O(n^2 \alpha )\) fees.

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

References

  1. Yao, A.C.-C.: How to generate and exchange secrets. In: Proceedings of the 27th Annual Symposium on Foundations of Computer Science, FOCS 1986, pp. 162–167. IEEE Computer Society (1986). https://doi.org/10.1109/SFCS.1986.25

  2. Cleve, R.: Limits on the security of coin flips when half the processors are faulty. In: Proceedings of the Eighteenth Annual ACM Symposium on Theory of Computing, STOC 1986, pp. 364–369. Association for Computing Machinery (1986). https://doi.org/10.1145/12130.12168

  3. Beaver, D., Goldwasser, S.: Multiparty computation with faulty majority. In: 30th Annual Symposium on Foundations of Computer Science, pp. 468–473 (1989). https://doi.org/10.1109/SFCS.1989.63520

  4. Goldwasser, S., Levin, L.: Fair computation of general functions in presence of immoral majority. In: Menezes, A.J., Vanstone, S.A. (eds.) CRYPTO 1990. LNCS, vol. 537, pp. 77–93. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-38424-3_6

    Chapter  Google Scholar 

  5. Asokan, N., Schunter, M., Waidner, M.: Optimistic protocols for fair exchange. In: Proceedings of the 4th ACM Conference on Computer and Communications Security, CCS 1997, pp. 7–17. Association for Computing Machinery (1997). https://doi.org/10.1145/266420.266426

  6. Micali, S.: Secure protocols with invisible trusted parties. In: Workshop for Multi-Party Secure Protocols, Weizmann Institute of Science (1998)

    Google Scholar 

  7. Lindell, A.Y.: Legally-enforceable fairness in secure two-party computation. In: Malkin, T. (ed.) CT-RSA 2008. LNCS, vol. 4964, pp. 121–137. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-79263-5_8

    Chapter  Google Scholar 

  8. Bentov, I., Kumaresan, R.: How to use bitcoin to design fair protocols. In: Garay, J.A., Gennaro, R. (eds.) CRYPTO 2014. LNCS, vol. 8617, pp. 421–439. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44381-1_24

    Chapter  Google Scholar 

  9. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system. Cryptography Mailing list (2009). https://metzdowd.com

  10. Kumaresan, R., Moran, T., Bentov, I.: How to use bitcoin to play decentralized poker. In: Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, CCS 2015, pp. 195–206. Association for Computing Machinery (2015). https://doi.org/10.1145/2810103.2813712

  11. Bentov, I., Kumaresan, R., Miller, A.: Instantaneous decentralized poker. In: Takagi, T., Peyrin, T. (eds.) ASIACRYPT 2017. LNCS, vol. 10625, pp. 410–440. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70697-9_15

    Chapter  Google Scholar 

  12. Baum, C., David, B., Dowsley, R.: Insured MPC: efficient secure computation with financial penalties. In: Bonneau, J., Heninger, N. (eds.) FC 2020. LNCS, vol. 12059, pp. 404–420. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51280-4_22

    Chapter  MATH  Google Scholar 

  13. Nakai, T., Shinagawa, K.: Secure computation with non-equivalent penalties in constant rounds. In: 3rd International Conference on Blockchain Economics, Security and Protocols (Tokenomics 2021), Vol. 97 of Open Access Series in Informatics (OASIcs), pp. 5:1–5:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2022). https://doi.org/10.4230/OASIcs.Tokenomics.2021.5

  14. Nakai, T., Shinagawa, K.: Constant-round linear-broadcast secure computation with penalties. Theor. Comput. Sci. 959, 113874 (2023). https://doi.org/10.1016/j.tcs.2023.113874

    Article  MathSciNet  MATH  Google Scholar 

  15. Canetti, R.: Universally composable signature, certification, and authentication. In: Proceedings 17th IEEE Computer Security Foundations Workshop, 2004, pp. 219–233 (2004). https://doi.org/10.1109/CSFW.2004.1310743

  16. Kilian, J.: Founding crytpography on oblivious transfer. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing, STOC 1988, pp. 20–31. Association for Computing Machinery (1988). https://doi.org/10.1145/62212.62215

  17. Ishai, Y., Prabhakaran, M., Sahai, A.: Founding cryptography on oblivious transfer – efficiently. In: Wagner, D. (ed.) CRYPTO 2008. LNCS, vol. 5157, pp. 572–591. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85174-5_32

    Chapter  Google Scholar 

  18. Zhu, R., Ding, C., Huang, Y.: Efficient publicly verifiable 2pc over a blockchain with applications to financially-secure computations. In: Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, CCS 2019, pp. 633–650. Association for Computing Machinery (2019). https://doi.org/10.1145/3319535.3363215

  19. Faust, S., Hazay, C., Kretzler, D., Schlosser, B.: Financially backed covert security. In: Public-Key Cryptography - PKC 2022–25th IACR International Conference on Practice and Theory of Public-Key Cryptography, Virtual Event, Proceedings, Part II, Lecture Notes in Computer Science, vol. 13178, pp. 99–129. Springer, Heidelberg (2022). https://doi.org/10.1007/978-3-030-97131-1_4

Download references

Acknowledgement

This work was supported by JSPS KAKENHI Grant Numbers JP23K16880 and JP21K17702, and JST CREST Grant Number JPMJCR22M1.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Takeshi Nakai .

Editor information

Editors and Affiliations

A Security Proof for Proposed Protocol I

A Security Proof for Proposed Protocol I

This section presents a proof of Theorem 1. Hereafter, for a finite set X, \(\max (X)\) and \(\min (X)\) denote the maximum and minimum element of X, respectively. Let \(\mathcal {A}\) be a (real-world) adversary corrupting \(\{ P_i \}_{i \in C}\). We partition the sets of corrupted parties C as \(C = C_1 \sqcup \dots \sqcup C_{\mu }\) such that each \(C_i\) consists of consecutive elements \(C_i = \{\min (C_i), \min (C_i)+1, \ldots , \min (C_i)+|C_i|\}\) for \(1 \le i \le \mu \) and \(\max (C_i) < \min (C_{i+1})\) for \(1 \le i \le \mu -1\). For example, when \(C=\{ 1,2,5,7,8,9,10\}\), we partition the sets into \(C_1 = \{1,2\}\), \(C_2 = \{5 \}\), \(C_3 = \{ 7,8,9,10 \}\).

figure g
figure h
figure i

Formally, the main computation phase realizes the following functionality.

  • Input: For \(j \in [n]\), \(P_j\) inputs \( ((vk_j,sk_j), \{ vk_i\}_{i \in [n] \setminus \{j \}},(x_j,R_j), \alpha ,\lambda ,cid_j)\), where \(R_1 = \bot \), \(R_i=r_i\) for \(i \in \{2,\dots ,n-1\}\), and \(R_n= \{ r_{n,i} \}_{i\in [n-1]}\).

  • Output: \(P_1\) receives \(\textsf{chq}^2_1\) and the other parties receive nothing. (The property of \(\textsf{chq}^2_1\) is as in the protocol.)

We suppose that this functionality is achieved according to Definition 1 under the \(\mathcal {F}_{\textrm{OT}}\)-hybrid model.

We construct a simulator \(\mathcal {S}\) as follows.

  1. 1.

    \(\mathcal {S}\) invokes \(\mathcal {A}\) with its inputs \(\{ x_i \}_{i \in C}\), a security parameter \(\lambda \), and a penalty amount parameter \(\alpha \).

  2. 2.

    \(\mathcal {S}\) generates a key-pair \((vk'_i,sk'_i) \leftarrow \textsf{Gen}(1^\lambda )\) for \(i\in H\), records the key-pairs, and reply to \(\mathcal {A}\) whenever \(\mathcal {A}\) sends a query intended for \(\mathcal {F}_{\textrm{CA}}\) as follows:

    • If \(\mathcal {A}\) sends \((\textsf{Register}, P_j,vk'_j)\) intended for \(\mathcal {F}_{\textrm{CA}}\), \(\mathcal {S}\) checks if \(j \in C\) and records \(vk'_j\).

    • If \(\mathcal {A}\) sends \((\textsf{Retrieve}, P_i)\) intended for \(\mathcal {F}_{\textrm{CA}}\), \(\mathcal {S}\) replies \((\textsf{Retrieve},P_i,vk'_i)\).

  3. 3.

    \(\mathcal {S}\) gets \(\mathcal {A}\)’s inputs \( ((vk_j,sk_j), \{ vk_i\}_{i \in [n] \setminus \{ j \}},(x_j,R_j), \alpha ,\lambda ,cid_j)\) for \(j \in C\) for the trusted party of the main computation phase, where \(R_1 = \bot \), \(R_i=r_i\) for \(i \in \{2,\dots ,n-1\}\), and \(R_n= \{ r_{n,i} \}_{i\in [n-1]}\). If some key differs from the key chosen in the previous step, \(\mathcal {S}\) sends an invalid input to \(\mathcal {F}^{\ge \alpha }_{n,f}\) and halts.

  4. 4.

    \(\mathcal {S}\) sends \(\{ x_i \}_{i \in C}\) to \(\mathcal {F}^{\ge \alpha }_{n,f}\) and learns the output y.

  5. 5.

    S generates \(cid_i \in _\textrm{R}\{0,1\}^\lambda \) for \(i \in H\) and sets \(cid = cid_1 \parallel \dots \parallel cid_n\).

  6. 6.

    If \(1 \in C_1\), \(\mathcal {S}\) runs Algorithm 7 for \(C_1\) to generate \(\textsf{chq}^1_2\), and sends \(\mathcal {A}\) the cheque. Otherwise, \(\mathcal {S}\) runs Algorithm 8 for \(C_1\) to generate \(\textsf{chq}^{\min (C_1)}_{\min (C_1)+1}\), and sends \(\mathcal {A}\) the cheque.

  7. 7.

    For \(i=1,\dots ,\mu -2\), \(\mathcal {S}\) works depending of \(\mathcal {A}\)’s response as follows:

    • If \(\mathcal {S}\) receives \(\textsf{chq}^{\max (C_i)+1}_{\max (C_i)+2}\), it checks the validity. If it is not valid, \(\mathcal {S}\) ignores the message. Otherwise, \(\mathcal {S}\) runs Algorithm 8 for \(C_{i+1}\) and sends \(\mathcal {A}\) the output.

    • If \(\mathcal {A}\) sends its cheque(s) intended for the bank, \(\mathcal {S}\) checks the validity. If it is not valid, \(\mathcal {S}\) ignores the message. Otherwise, \(\mathcal {S}\) creates \(\textsf{chq}^{\min (C_{i+1})-1}_{\min (C_{i+1})}\) and sends \(\mathcal {A}\) the cheque. Note that \(\mathcal {S}\) performs this process by using honest parties’ keys generated at step 2 and corrupted parties’ keys obtained at step 3.

    • If \(\mathcal {A}\) responds nothing, \(\mathcal {S}\) sends an invalid input to \(\mathcal {F}^{\ge \alpha }_{n,f}\) and halts.

  8. 8.

    Receiving \(\textsf{chq}^{\max (C_{\mu -1})+1}_{\max (C_{\mu -1})+2}\), \(\mathcal {S}\) checks the validity. If it is not valid, \(\mathcal {S}\) ignores the message.

  9. 9.

    If \(n \notin C\), \(\mathcal {S}\) sends \(\textsf{fair}\) to \(\mathcal {F}^{\ge \alpha }_{n,f}\). Further, it creates \(\{ \textsf{chq}^n_i \}_{i \in C}\) as the protocol and sends the cheques to \(\mathcal {A}\). \(\mathcal {S}\) outputs whatever \(\mathcal {A}\) outputs and terminates the simulation.

  10. 10.

    If \(n \in C\), \(\mathcal {S}\) runs Algorithm 9 for \(C_\mu \) and sends \(\mathcal {A}\) the output. It waits for \(\mathcal {A}\)’s response.

    • If \(\mathcal {S}\) receives \(\textsf{chq}^n_i\) for all \(i \in H\), \(\mathcal {S}\) sends \(\textsf{fair}\) to \(\mathcal {F}^{\ge \alpha }_{n,f}\).

    • If \(\mathcal {A}\) sends its cheque(s) intended for the bank, \(\mathcal {S}\) sends \(\textsf{fair}\) to \(\mathcal {F}^{\ge \alpha }_{n,f}\). Further, it creates \(\{\textsf{chq}^{i-1}_{i} \}_{i \in C}\) and sends \(\mathcal {A}\) the cheque.

    • If \(\mathcal {A}\) responds nothing, \(\mathcal {S}\) sends \((\textsf{unfair},\emptyset ,\{\alpha '_i \}_{i \in H},\{j,\beta '_j\}_{j \in C})\) to \(\mathcal {F}^{\ge \alpha }_{n,f}\), where \(\{\alpha '_i \}_{i \in H}\) and \(\{j,\beta '_j\}_{j \in C}\) consist of the same values to the protocol. Further, \(\mathcal {S}\) creates \(\{\textsf{chq}^{i-1}_{i} \}_{i \in C}\) and sends \(\mathcal {A}\) the cheque.

    • If \(\mathcal {A}\) sends the cheques holding y to only some of honest parties \(\{ P_i \}_{i \in H''}\) where \(H'' \subsetneq H\), \(\mathcal {S}\) sends \((\textsf{unfair},H'',\{\alpha '_i \}_{i \in H},\{j,\beta '_j\}_{j \in C})\) to \(\mathcal {F}^{\ge \alpha }_{n,f}\), where \(\{\alpha '_i \}_{i \in H}\) and \(\{j,\beta '_j\}_{j \in C}\) consist of the same values to the protocol. Further, \(\mathcal {S}\) creates \(\{\textsf{chq}^{i-1}_{i} \}_{i \in C}\) and sends \(\mathcal {A}\) the cheque.

  11. 11.

    \(\mathcal {S}\) outputs whatever \(\mathcal {A}\) outputs and terminates the simulation.

We complete making up the simulation. \(\mathcal {A}\)’s view in the simulation is identical to the one’s view in the hybrid execution of Protocol 5.    \(\square \)

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Nakai, T., Shinagawa, K. (2023). Secure Multi-party Computation with Legally-Enforceable Fairness. In: Wang, D., Yung, M., Liu, Z., Chen, X. (eds) Information and Communications Security. ICICS 2023. Lecture Notes in Computer Science, vol 14252. Springer, Singapore. https://doi.org/10.1007/978-981-99-7356-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-981-99-7356-9_10

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-99-7355-2

  • Online ISBN: 978-981-99-7356-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics