Security Proof of Single-Source Shortest Distance Protocols Built on Secure Multiparty Computation Protocols
Abstract
:1. Introduction
2. Materials and Methods
2.1. Secure Multiparty Computation
2.1.1. Universal Composability
2.1.2. Arithmetic Black Box
2.1.3. Sharemind Protocols Set
2.2. Graphs
Shortest Path
2.3. Bellman–Ford Protocols on Top of MPC
Algorithm 1: Privacy-preserving Bellman–Ford algorithm, main program |
Algorithm 2: GenIndicesVector | |
[41] |
Algorithm 3: PrefixMin2 (version 1) |
Algorithm 4: PrefixMin2 (version 2) |
3. Results
3.1. Security of Protocols Built on Top of an ABB
- The input parameters, encompassing n (denoting the number of vertices) and s (indicating the source vertex).
- The handles to private values, identified within variables denoted as in the algorithm, regardless of whether these values manifest as individual elements, vectors, or an adjacency matrix.
- Declassified values, which may assume the form of integer values, individual elements, or complete vectors.
- In scenarios where the adversary assumes an active role, they gain insight into the ABB’s responses to efforts by the corrupted parties to deviate from the prescribed SSSD protocols.
3.2. Detailed Security Proof for Privacy-Preserving Bellman–Ford
- Arithmetic. The arithmetic operations, encompassing addition and multiplication, necessitate the provision of two handles, each corresponding to integers. Subsequently, these operations yield a handle to an integer, given that both input integers are private.
- Comparison. The comparison operations, encompassing “less than” (<), “less than or equal to” (≤), “equal to” (==), and ”not equal to” (≠), among others, necessitate two handles corresponding to integers (or floating-point values). These operations yield a handle to a boolean value. It is worth noting that for the “equal to” (==) and “not equal to” (≠) operations, the input data may also include boolean values.
- Logic. The logical operation on private vectors is employed using the “choose” function, denoted as (, , ). It is imperative to note that , , and all represent vectors of handles. The outcome of this operation is a vector of handles, pointing to elements within either or , contingent upon the specific values that the elements within point to. It is pertinent to mention that the data type of the vectors and can encompass integers, floating-point values, and booleans, all of which are exclusively accessible via handles. Furthermore, it is noteworthy that the results derived from the choose operation are exclusively of boolean type, similarly accessible solely through handles.
- Declassification. This operation entails declassifying private data and making it publicly accessible. The input data for this operation comprise private integers, denoted as —a vector of handles. The output, in turn, consists of a public vector of integers, represented as x.
- Sorting. This operation takes private integers as input values, residing within the vector . The operation’s outcome consists of sorted private integers stored in the private vector . The sorted vector comprises handles to values, reflecting the result of sorting the vector of values referenced by handles within .
- Random permutation. This operation is designed to generate a private permutation of n elements randomly. It takes a public integer n as input and yields a private permutation, denoted as , via a handle. Subsequently, this permutation can be applied to a private vector using the operation (, ), resulting in a private vector . Specifically, for all i∈, . Furthermore, it is feasible to apply the inverse of to v using the operation (, ).
- prepareRead and performRead. These operations facilitate the retrieval of data from a vector using a private index. The reading process involves the application of the performRead operation, which takes two arguments: an integer vector of length n and a second argument derived from prepareRead (n, ), where represents the indices of the m elements intended for retrieval. Subsequently, this operation yields a private vector of length m via a handle. The length of corresponds to the first argument used in prepareRead, while the second argument of performRead is the output of prepareRead. It is crucial to note that if these conditions are not met, the behavior of may be arbitrary. The return value of the performRead operation is a handle referencing a private vector of integers. The vector within the return value is denoted as , and each element is represented by = .
- Upon receiving inputs from all honest computing parties (, for ), these parties abstain from performing any computations themselves. Instead, their role involves exclusively providing inputs to and receiving outputs from either the machines ,…, or the ideal functionality . In the context of the SSSD operation facilitated by Bellman–Ford and supported by , when all honest parties collectively initiate the SSSD operation, they do so with specified arguments: , , , s, and N. Here, and represent the locations of the edges, signifies the weights of the said edges, s denotes the source vertex, and N corresponds to the total number of vertices. Subsequently, completes the SSSD computation and furnishes the outcome as a vector of handles to each participating computing party. These handles serve as pointers to the shortest distances from the source vertex s. Notably, the length of the returned vector is equal to N. It is essential to highlight that the ideal functionality maintains ongoing communication with the adversary , ensuring that they are apprised of the ongoing computations, as elaborated in Section 2.1.2.
- Upon completion of their computations, each honest computing party transmits their respective SSSD results to the corresponding party . These results manifest as a vector denoting the shortest distances from the single source vertex s to all vertices, represented as .
- If the command is non-SSSD in nature, relays it to as a message that came from .
- If the command originates from to and pertains to SSSD, then relays an SSSD command from each machine to to the adversary . Additionally, sends a series of commands to as if they came from . These commands correspond to the commands that receives in order to run Algorithms 1–3.
4. Discussion
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
SMC | Secure multiparty computation |
SSSD | Single-source shortest distance |
SIMD | Single-instruction-multiple-data |
BFS | Breadth-first search |
APC | Algebraic path computation |
UC | Universal composability |
ABB | Arithmetic Black Box |
References
- Bogdanov, D.; Laur, S.; Willemson, J. Sharemind: A framework for fast privacy-preserving computations. In Proceedings of the Computer Security-ESORICS 2008: 13th European Symposium on Research in Computer Security, Málaga, Spain, 6–8 October 2008; Proceedings 13. Springer: Berlin/Heidelberg, Germany, 2008; pp. 192–206. [Google Scholar]
- Bogdanov, D.; Niitsoo, M.; Toft, T.; Willemson, J. High-performance secure multi-party computation for data mining applications. Int. J. Inf. Secur. 2012, 11, 403–418. [Google Scholar] [CrossRef]
- Bogdanov, D.; Jagomägis, R.; Laur, S. A universal toolkit for cryptographically secure privacy-preserving data mining. In Pacific-Asia Workshop on Intelligence and Security Informatics; Springer: Berlin/Heidelberg, Germany, 2012; pp. 112–126. [Google Scholar]
- Ostrak, A.; Randmets, J.; Sokk, V.; Laur, S.; Kamm, L. Implementing Privacy-Preserving Genotype Analysis with Consideration for Population Stratification. Cryptography 2021, 5, 3. [Google Scholar] [CrossRef]
- Kamm, L.; Bogdanov, D.; Laur, S.; Vilo, J. A new way to protect privacy in large-scale genome-wide association studies. Bioinformatics 2013, 29, 886–893. [Google Scholar] [CrossRef]
- Anagreh, M.; Vainikko, E.; Laud, P. Parallel Privacy-preserving Computation of Minimum Spanning Trees. In Proceedings of the International Conference on Information Systems Security and Privacy, ICISSP, Virtual Event, 11–13 February 2021; pp. 181–190. [Google Scholar]
- Anagreh, M.; Laud, P.; Vainikko, E. Privacy-Preserving Parallel Computation of Minimum Spanning Forest. SN Comput. Sci. 2022, 3, 448. [Google Scholar] [CrossRef]
- Pankova, A.; Jääger, J. Short Paper: Secure multiparty logic programming. In Proceedings of the 15th Workshop on Programming Languages and Analysis for Security, Virtual Event, 13 November 2020; pp. 3–7. [Google Scholar]
- Jääger, J.; Pankova, A. PrivaLog: A privacy-aware logic programming language. In Proceedings of the 23rd International Symposium on Principles and Practice of Declarative Programming, Virtual Event, 7–9 April 2021; pp. 1–14. [Google Scholar]
- Bogdanov, D.; Kamm, L.; Kubo, B.; Rebane, R.; Sokk, V.; Talviste, R. Students and taxes: A privacy-preserving social study using secure computation. Proc. Priv. Enhancing Technol. 2015, 2016, 117–135. [Google Scholar] [CrossRef]
- Bogdanov, D.; Kamm, L.; Laur, S.; Pruulmann-Vengerfeldt, P.; Talviste, R.; Willemson, J. Privacy-preserving statistical data analysis on federated databases. In Proceedings of the Privacy Technologies and Policy: Second Annual Privacy Forum, APF 2014, Athens, Greece, 20–21 May 2014; Proceedings 2. Springer International Publishing: Berlin/Heidelberg, Germany, 2014; pp. 30–55. [Google Scholar]
- Anagreh, M.; Laud, P.; Vainikko, E. Parallel privacy-preserving shortest path algorithms. Cryptography 2021, 5, 27. [Google Scholar] [CrossRef]
- Anagreh, M.; Vainikko, E.; Laud, P. Parallel privacy-preserving shortest paths by radius-stepping. In Proceedings of the 2021 29th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), Valladolid, Spain, 10–12 March 2021; pp. 276–280. [Google Scholar]
- Anagreh, M.; Laud, P.; Vainikko, E. Privacy-preserving Parallel Computation of Shortest Path Algorithms with Low Round Complexity. In Proceedings of the International Conference on Information Systems Security and Privacy, ICISSP, Virtual Event, 9–11 February 2022; pp. 37–47. [Google Scholar]
- Anagreh, M.; Laud, P. A Parallel Privacy-Preserving Shortest Path Protocol from a Path Algebra Problem. In Proceedings of the 17th International Workshop on Data Privacy Management (DPM 2022), DPM 2022/CBT, Copenhagen, Denmark, 29–30 September 2022; LNCS 13619. pp. 1–16. [Google Scholar]
- Bogdanov, D.; Laud, P.; Randmets, J. Domain-polymorphic programming of privacy-preserving applications. In Proceedings of the Ninth Workshop on Programming Languages and Analysis for Security, Uppsala, Sweden, 28 July–1 August 2014; pp. 53–65. [Google Scholar]
- Laud, P. Parallel Oblivious Array Access for Secure Multiparty Computation and Privacy-Preserving Minimum Spanning Trees. Proc. Priv. Enhancing Technol. 2015, 2015, 188–205. [Google Scholar] [CrossRef]
- Laud, P. Stateful abstractions of secure multiparty computation. Appl. Secur. Multiparty Comput. 2015, 13, 26–42. [Google Scholar]
- Canetti, R. Security and composition of multiparty cryptographic protocols. J. Cryptol. 2000, 13, 143–202. [Google Scholar] [CrossRef]
- Laur, S.; Pullonen-Raudvere, P. Foundations of programmable secure computation. Cryptography 2021, 5, 22. [Google Scholar] [CrossRef]
- Cramer, R.; Damgård, I.B. Secure Multiparty Computation; Cambridge University Press: Cambridge, UK, 2015. [Google Scholar]
- Yao, A.C. Protocols for secure computations. In Proceedings of the 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982), Chicago, IL, USA, 3–5 November 1982; pp. 160–164. [Google Scholar]
- Chaum, D.; Crépeau, C.; Damgard, I. Multiparty unconditionally secure protocols. In Proceedings of the twentieth annual ACM symposium on Theory of computing, Chicago, IL, USA, 2–4 May 1988; pp. 11–19. [Google Scholar]
- Goldreich, O.; Micali, S.; Wigderson, A. How to play any mental game, or a completeness theorem for protocols with honest majority. In Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali; Association for Computing Machinery: New York, NY, USA, 2019; pp. 307–328. [Google Scholar]
- Damgård, I.; Nielsen, J.B. Universally composable efficient multiparty computation from threshold homomorphic encryption. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 17–21 August 2003; Springer: Berlin/Heidelberg, Germany, 2003; pp. 247–264. [Google Scholar]
- Henecka, W.; K ögl, S.; Sadeghi, A.R.; Schneider, T.; Wehrenberg, I. TASTY: Tool for automating secure two-party computations. In Proceedings of the 17th ACM conference on Computer and Communications Security, Chicago IL, USA, 4–8 October 2010; pp. 451–462. [Google Scholar]
- Gennaro, R.; Rabin, M.O.; Rabin, T. Simplified VSS and fast-track multiparty computations with applications to threshold cryptography. In Proceedings of the seventeenth annual ACM symposium on Principles of Distributed Computing, Puerto Vallarta, Mexico, 28 June–2 July 1998; pp. 101–111. [Google Scholar]
- Burkhart, M.; Strasser, M.; Many, D.; Dimitropoulos, X. SEPIA:Privacy-Preserving Aggregation of Multi-Domain Network Events and Statistics. In Proceedings of the 19th USENIX Security Symposium (USENIX Security 10), Washington, DC, USA, 11–13 August 2010. [Google Scholar]
- Damgård, I.; Geisler, M.; Krøigaard, M.; Nielsen, J.B. Asynchronous multiparty computation: Theory and implementation. In Proceedings of the International Workshop on Public Key Cryptography, Irvine, CA, USA, 18–20 March 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 160–179. [Google Scholar]
- Pankova, A. Efficient Multiparty Computation Secure Against Covert and Active Adversaries. Ph.D. Thesis, University of Tartu, Tartu, Estonia, 2017. [Google Scholar]
- Canetti, R. Universally composable security: A new paradigm for cryptographic protocols. In Proceedings of the 42nd IEEE Symposium on Foundations of Computer Science, Newport Beach, CA, USA, 8–11 October 2001; pp. 136–145. [Google Scholar]
- West, D.B. Introduction to Graph Theory; Prentice Hall: Upper Saddle River, NJ, USA, 2001; Volume 2. [Google Scholar]
- Bollobás, B. Modern Graph Theory; Springer Science & Business Media: Berlin/Heidelberg, Germany, 1998; Volume 184. [Google Scholar]
- Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms; MIT Press: Cambridge, MA, USA, 2022. [Google Scholar]
- Dijkstra, E.W. A note on two problems in connexion with graphs. In Edsger Wybe Dijkstra: His Life, Work, and Legacy; Association for Computing Machinery: New York, NY, USA, 2022; pp. 287–290. [Google Scholar]
- Batchelor, G.K. Heat transfer by free convection across a closed cavity between vertical boundaries at different temperatures. Q. Appl. Math. 1954, 12, 209–233. [Google Scholar] [CrossRef]
- Thorup, M. Integer priority queues with decrease key in constant time and the single source shortest paths problem. In Proceedings of the Thirty-Fifth Annual ACM Symposium on Theory of Computing, San Diego, CA, USA, 9–11 June 2003; pp. 149–158. [Google Scholar]
- Meyer, U.; Sanders, P. δ-stepping: A parallelizable shortest path algorithm. J. Algorithms 2003, 49, 114–152. [Google Scholar] [CrossRef]
- Blelloch, G.E.; Gu, Y.; Sun, Y.; Tangwongsan, K. Parallel shortest paths using radius stepping. In Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures, Pacific Grove, CA, USA, 11–13 July 2016; pp. 443–454. [Google Scholar]
- Fink, E. A Survey of Sequential and Systolic Algorithms for the Algebraic Path Problem. 1992. Available online: https://kilthub.cmu.edu/articles/journal_contribution/A_survey_of_sequential_and_systolic_algorithms_for_the_algebraic_path_problem/6602726?file=12092768 (accessed on 25 September 2024).
- Bogdanov, D.; Laur, S.; Talviste, R. A practical analysis of oblivious sorting algorithms for secure multi-party computation. In Nordic Conference on Secure IT Systems; Springer International Publishing: Cham, Switzerland, 2014; pp. 59–74. [Google Scholar]
- Ladner, R.E.; Fischer, M.J. Parallel prefix computation. J. ACM (JACM) 1980, 27, 831–838. [Google Scholar] [CrossRef]
- Hillis, W.D.; Steele, G.L., Jr. Data parallel algorithms. Commun. ACM 1986, 29, 1170–1183. [Google Scholar] [CrossRef]
- Anagreh, M. Privacy-Preserving Parallel Computations for Graph Problems. Ph.D. Thesis, University of Tartu, Tartu, Estonia, 2023. [Google Scholar]
- Riivo, T. Applying Secure Multi-Party Computation in Practice. Ph.D. Thesis, University of Tartu, Tartu, Estonia, 2016. [Google Scholar]
- Carter, H.; Mood, B.; Traynor, P.; Butler, K. Secure outsourced garbled circuit evaluation for mobile devices. J. Comput. Secur. 2016, 24, 137–180. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Anagreh, M.; Laud, P. Security Proof of Single-Source Shortest Distance Protocols Built on Secure Multiparty Computation Protocols. Cryptography 2025, 9, 1. https://doi.org/10.3390/cryptography9010001
Anagreh M, Laud P. Security Proof of Single-Source Shortest Distance Protocols Built on Secure Multiparty Computation Protocols. Cryptography. 2025; 9(1):1. https://doi.org/10.3390/cryptography9010001
Chicago/Turabian StyleAnagreh, Mohammad, and Peeter Laud. 2025. "Security Proof of Single-Source Shortest Distance Protocols Built on Secure Multiparty Computation Protocols" Cryptography 9, no. 1: 1. https://doi.org/10.3390/cryptography9010001
APA StyleAnagreh, M., & Laud, P. (2025). Security Proof of Single-Source Shortest Distance Protocols Built on Secure Multiparty Computation Protocols. Cryptography, 9(1), 1. https://doi.org/10.3390/cryptography9010001