Optimized and Privacy-Preserving MAX/MIN Protocols for Large-Scale Data
Abstract
1. Introduction
Contribution
- We design efficient and privacy-preserving protocols that compute the exact Maximum/minimum value over large-scale data under a dual non-colluding cloud server model.
- We present an explicit privacy–efficiency trade-off through two variants: a secure version and an efficient version. The checking bit set in the efficient version enables multi-level choices between security and efficiency).
- Through a protocol-level fusion redesign, we structurally eliminate redundant costs that scale with the number of input data points, making the protocols well suited for large-scale data.
- While maintaining the privacy level and accuracy of the state-of-the-art scheme, the proposed protocol reduces communication rounds by 25%, the communication volume by 50%, the computation cost by 42%, and the execution time by 22%.
2. Preliminaries
2.1. System Model
2.2. Adversary Model and Security Definition
2.3. Additively Homomorphic Encryption
2.4. Efficiency Evaluation
2.5. Secure Equality (SEQ) Functionality:
2.6. Prior Protocol
| Algorithm 1 ppMAX/ppMIN protocols [20] | |
|
Input: where and Output: , where if the corresponding data is the maximum, and otherwise, . | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
3. Improved Privacy-Preserving Maximum/Minimum (ipMAX/ipMIN) Protocols
- Functionality : It receives the encrypted input datasets from DH and a decryption key SK from CSP. It then returns the encrypted output datasets to the DH, where if the corresponding data point, , is the maximum/minimum, and otherwise, . The functionality is represented as follows:
3.1. Secure Version of the ipMAX/ipMIN Protocols
3.1.1. Secure Version of the ipMAX Protocol
- Auxiliary data : The value indicates whether the corresponding input is the maximum candidates, i.e., the data points still considered possible maxima. More precisely, means that is still a candidate, whereas means that it has already been eliminated from the set of maximum candidates. Initially, all data points belong to the candidate set. As the protocol proceeds, some candidates are discarded on the basis of bitwise computations. By the end of the procedure, the remaining data point(s) with are determined as the maximum value(s). The maximum value is determined from the candidate set, and once a data point is removed from the candidate dataset (that is, once changes from 1 to 0), it cannot re-enter in later iterations; the transition is permitted, whereas is not.
- Intuitive Idea: The ipMAX protocol finds the maximum by updating the auxiliary data bit by bit, using the current bit in each iteration, starting from bit position and moving down to bit position 0. At a given iteration, candidate data points whose current bit is 1 (i.e., those satisfying ) are regarded as the predicted maximum candidates. This follows from the observation that, when two binary values, such as and , are compared from the most significant bit downward, the higher-order bits (bits 7 through 4) are identical (1101), and thus, no ordering can yet be determined. However, at the third bit, and , which clearly indicates that a > b, regardless of the remaining lower (2-0)-th bits. In the last step, the ipMAX protocol removes the unpredicted maximum data—which are determined to be smaller—from the candidate set, and thus the candidate data is consistently greater than the non-candidate data. Each iteration of the proposed protocol consists of three steps, whose ideas are as follows:
- Step 1: The protocol privately computes , where s denotes the number of predicted maximum candidates (), and is a random value used to blind the number s. This step corresponds to lines 3–5 of Algorithm 1.
- Step 2: The protocol uses the SEQ functionality to privately determine whether is equal to , which is equivalent to checking whether . If (i.e., ), the protocol sets , and otherwise (i.e., ), it sets . This step corresponds to line 6 of Algorithm 1.
- Step 3: Based on the value of s, the protocol privately updates the auxiliary data , according to . If (equivalently, , meaning that at least one predicted maximum candidate exists), all non-predicted data are removed from the candidate set, and only the predicted data remain, i.e., . If (equivalently, , meaning that no predicted maximum candidate exists), then all , so the candidate set remains unchanged, i.e., , and the protocol proceeds to the next iteration. This step corresponds to lines 7–8 of Algorithm 1.
| Algorithm 2 Secure version of the ipMAX protocol. | |
| Input: , where , and Output: , where if the corresponding data is the maximum, and otherwise, . | |
DH:
| |
| |
| |
| |
| |
| |
| |
CSP:
| |
| |
| |
| |
| |
DH & CSP:
| |
DH:
| |
| |
CSP:
| |
| |
| |
| |
DH:
| |
| |
| |
- (Step 1: lines 3–12) privately computing the number of predicted maximum data: DH first generates and , corresponding to and , as follows (lines 3–4).
- (Step 2: line 13) privately comparing the number of predicted maximum data to zero: The DH and CSP privately compute q, which indicates whether (= ) is equal to , which is equivalent to checking whether . To do this, the protocol uses the SEQ functionality introduced in Section 2.5. That is, DH and CSP interact with a third party that is assumed to implement the SEQ functionality ideally.
- (Step 3: lines 14–21) privately updating the auxiliary data : The DH computes to blind q as follows and sends it to the CSP (lines 14–15).
- Correctness: We now verify that, in Step 1, , where denotes the number of predicted maximum data. Indeed, when the corresponding data point is a predicted maximum data, and otherwise.
- Security: We now formally prove the security of the secure version of the ipMAX protocol. Let denote the secure version of the ipMAX protocol described in Algorithm 2. We then prove the following theorem.
3.1.2. Secure Version of the ipMIN Protocol
3.2. Efficient Version of the ipMAX/ipMIN Protocols
3.2.1. Efficient Version of the ipMAX Protocol
- (Checking step: lines 22–36) privately comparing the number of candidate data points to one: First, the DH checks whether the current bit (iteration) corresponds to a checking bit in the set V (line 22). If it is in the checking bit set, the DH proceeds with the following computations. The DH computes the value and sends it to the CSP (lines 23–25).
| Algorithm 3 Efficient version of the ipMAX Protocol. | |
| |
DH:
| |
| |
| |
| |
| |
| |
| |
CSP:
| |
| |
| |
| |
| |
DH & CSP:
| |
DH:
| |
| |
CSP:
| |
| |
| |
| |
DH:
| |
| |
| |
| |
| |
| |
CSP:
| |
DH:
| |
- Efficiency Evaluation: Because the efficient version can stop before reaching the l-th iteration when the maximum value is found early, it executes all l iterations only in the worst case. By contrast, the secure version always runs for exactly l iterations, regardless of the intermediate outcomes, where l denotes the bit length of the data. Consequently, the efficient version requires at most communication rounds, and its communication-volume complexity is bounded by , including the communication cost of the SEQ protocol. Note that the round cost, which directly affects the execution time, is independent of the number n of input data points, as in the secure version. Table 10 shows the communication costs (communication rounds and volume) and the computation costs (number of encryption/decryption and exponentiation operations) performed by the DH and CSP at each step of the protocol.
3.2.2. Efficient Version of the ipMIN Protocol
4. Experimental Results
5. Related Works
6. Conclusions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Memon, M.A.; Soomro, S.; Jumani, A.K.; Kartio, M.A. Big data analytics and its applications. arXiv 2017, arXiv:1710.04135. [Google Scholar] [CrossRef]
- Dash, S.; Shakyawar, S.K.; Sharma, M.; Kaushik, S. Big data in healthcare: Management, analysis and future prospects. J. Big Data 2019, 6, 54. [Google Scholar] [CrossRef]
- Berisha, B.; Mëziu, E.; Shabani, I. Big data analytics in Cloud computing: An overview. J. Cloud Comput. 2022, 11, 24. [Google Scholar] [CrossRef]
- Ulybyshev, D.; Bhargava, B.; Villarreal-Vasquez, M.; Alsalem, A.O.; Steiner, D.; Li, L.; Kobes, J.; Halpin, H.; Ranchal, R. Privacy-preserving data dissemination in untrusted cloud. In 2017 IEEE 10th International Conference on Cloud Computing (CLOUD); IEEE: Piscataway, NJ, USA, 2017; pp. 770–773. [Google Scholar]
- Kennedy, D.M. 2022 Cloud Computing TechReport; American Bar Association: Chicago, IL, USA, 2022. [Google Scholar]
- Acar, A.; Aksu, H.; Uluagac, A.S.; Conti, M. A survey on homomorphic encryption schemes: Theory and implementation. ACM Comput. Surv. 2018, 51, 79. [Google Scholar] [CrossRef]
- Dai, H.; Ji, Y.; Xiao, F.; Yang, G.; Yi, X.; Chen, L. Privacy-preserving MAX/MIN query processing for WSN-as-a-service. In 2019 IFIP Networking Conference (IFIP Networking); IEEE: Piscataway, NJ, USA, 2019; pp. 1–9. [Google Scholar]
- Sciancalepore, S.; Di Pietro, R. PPRQ: Privacy-preserving MAX/MIN range queries in IoT networks. IEEE Internet Things J. 2020, 8, 5075–5092. [Google Scholar] [CrossRef]
- Meng, Q.; Liang, Z.; Shen, Z.; Liu, Y.; Liu, Y.; Hu, J. RAMA: Robust auction scheme with multiple authorities in IoT. In 2022 21st International Symposium on Communications and Information Technologies (ISCIT); IEEE: Piscataway, NJ, USA, 2022; pp. 227–232. [Google Scholar]
- Samanthula, B.K.; Elmehdwi, Y.; Jiang, W. K-nearest neighbor classification over semantically secure encrypted relational data. IEEE Trans. Knowl. Data Eng. 2014, 27, 1261–1273. [Google Scholar] [CrossRef]
- Park, J.; Lee, D.H. Parallelly running and privacy-preserving k-nearest neighbor classification in outsourced cloud computing environments. Electronics 2022, 11, 4132. [Google Scholar] [CrossRef]
- Nateghizad, M.; Erkin, Z.; Lagendijk, R.L. An efficient privacy-preserving comparison protocol in smart metering systems. EURASIP J. Inf. Secur. 2016, 2016, 11. [Google Scholar] [CrossRef]
- Damgård, I.; Fitzi, M.; Kiltz, E.; Nielsen, J.B.; Toft, T. Unconditionally secure constant-rounds multi-party computation for equality, comparison, bits and exponentiation. In Theory of Cryptography Conference; Springer: Berlin/Heidelberg, Germany, 2006; pp. 285–304. [Google Scholar]
- Nishide, T.; Ohta, K. Multiparty computation for interval, equality, and comparison without bit-decomposition protocol. In International Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2007; pp. 343–360. [Google Scholar]
- Karakoç, F.; Nateghizad, M.; Erkin, Z. SET-OT: A secure equality testing protocol based on oblivious transfer. In 14th International Conference on Availability, Reliability and Security; Association for Computing Machinery: New York, NY, USA, 2019; pp. 1–9. [Google Scholar]
- Ben-David, A.; Nisan, N.; Pinkas, B. FairplayMP: A system for secure multi-party computation. In 15th ACM Conference on Computer and Communications Security; Association for Computing Machinery: New York, NY, USA, 2008; pp. 257–266. [Google Scholar]
- Dai, H.; Wang, M.; Yi, X.; Yang, G.; Bao, J. Secure max/min queries in two-tiered wireless sensor networks. IEEE Access 2017, 5, 14478–14489. [Google Scholar] [CrossRef]
- Sun, X.; Sun, Z.; Wang, T.; Feng, J.; Wei, J.; Hu, G. A Privacy-Preserving Reinforcement Learning Approach for Dynamic Treatment Regimes on Health Data. Wirel. Commun. Mob. Comput. 2021, 2021, 8952219. [Google Scholar] [CrossRef]
- Park, J. Extremely efficient and privacy-preserving max/min protocol based on multiparty computation in big data. IEEE Trans. Consum. Electron. 2024, 70, 3042–3055. [Google Scholar] [CrossRef]
- Park, J.; Lee, D.H. Parallelly Running and Privacy-Preserving Agglomerative Hierarchical Clustering in Outsourced Cloud Computing Environments. IEEE Trans. Big Data 2024, 11, 174–189. [Google Scholar] [CrossRef]
- Lee, H.; Choi, J.; Lee, Y. Approximating Max Function in Fully Homomorphic Encryption. Electronics 2023, 12, 1724. [Google Scholar] [CrossRef]
- Cheon, J.H.; Kim, A.; Kim, M.; Song, Y. Homomorphic encryption for arithmetic of approximate numbers. In Proceedings of the Advances in Cryptology–ASIACRYPT 2017: 23rd International Conference on the Theory and Applications of Cryptology and Information Security, Hong Kong, China, 3–7 December 2017; Proceedings, Part I 23; Springer: Cham, Switzerland, 2017; pp. 409–437. [Google Scholar]
- Dai, H.; Wei, T.; Huang, Y.; Xu, J.; Yang, G. Random secure comparator selection based privacy-preserving MAX/MIN query processing in two-tiered sensor networks. J. Sens. 2016, 2016, 6301404. [Google Scholar] [CrossRef]
- 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.; et al. Secure multiparty computation goes live. In Proceedings of the Financial Cryptography and Data Security: 13th International Conference, FC 2009, Accra Beach, Barbados, 23–26 February 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 325–343. [Google Scholar]
- Dupin, A.; Robert, J.M.; Bidan, C. Location-proof system based on secure multi-party computations. In Provable Security: 12th International Conference, ProvSec 2018, Jeju, Republic of Korea, 25–28 October 2018, Proceedings; Springer: Cham, Switzerland, 2018; pp. 22–39. [Google Scholar]
- Ohata, S.; Nuida, K. Communication-efficient (client-aided) secure two-party protocols and its application. In Proceedings of the Financial Cryptography and Data Security: 24th International Conference, FC 2020, Kota Kinabalu, Malaysia, 10–14 February 2020; Springer: Cham, Switzerland, 2020; pp. 369–385. [Google Scholar]
- Goldwasser, S.; Micali, S.; Rackoff, C. The knowledge complexity of interactive proof-systems. 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. 203–225. [Google Scholar]
- Chor, B.; Goldwasser, S.; Micali, S.; Awerbuch, B. Verifiable secret sharing and achieving simultaneity in the presence of faults. In 26th Annual Symposium on Foundations of Computer Science (sfcs 1985); IEEE: Piscataway, NJ, USA, 1985; pp. 383–395. [Google Scholar]
- Goldreich, O. Foundations of Cryptography: Volume 2, Basic Applications; Cambridge University Press: Cambridge, UK, 2001; Volume 2. [Google Scholar]
- Nateghizad, M.; Veugen, T.; Erkin, Z.; Lagendijk, R.L. Secure equality testing protocols in the two-party setting. In 13th International Conference on Availability, Reliability and Security; Association for Computing Machinery: New York, NY, USA, 2018; pp. 1–10. [Google Scholar]
- Elmehdwi, Y.; Samanthula, B.K.; Jiang, W. Secure k-nearest neighbor query over encrypted data in outsourced environments. In 2014 IEEE 30th International Conference on Data Engineering; IEEE: Piscataway, NJ, USA, 2014; pp. 664–675. [Google Scholar]
- Bethencourt, J. Paillier Library. Available online: https://acsc.cs.utexas.edu/libpaillier/ (accessed on 5 July 2025).
- Dehouche, N. Facebook Live Sellers in Thailand. UCI Machine Learning Repository. 2018. Available online: https://archive.ics.uci.edu/dataset/488/facebook+live+sellers+in+thailand (accessed on 15 February 2026).
- Gao, J.; Zhang, Y.; Zhong, S. Revisiting privacy-preserving min and k-th min protocols for mobile sensing. IEEE Trans. Dependable Secur. Comput. 2023, 21, 3211–3226. [Google Scholar] [CrossRef]
- Zhang, Y.; Chen, Q.; Zhong, S. Efficient and privacy-preserving min and k th min computations in mobile sensing systems. IEEE Trans. Dependable Secur. Comput. 2015, 14, 9–21. [Google Scholar] [CrossRef]
- Yu, J.; Wang, K.; Zeng, D.; Zhu, C.; Guo, S. Privacy-preserving data aggregation computing in cyber-physical social systems. ACM Trans. Cyber-Phys. Syst. 2018, 3, 8. [Google Scholar] [CrossRef]
- Shi, R.h.; Li, Y.f. Privacy-preserving quantum protocol for finding the maximum value. EPJ Quantum Technol. 2022, 9, 13. [Google Scholar] [CrossRef]
- Shi, R.H.; Fang, X.Q. Quantum scheme for privacy-preserving range max/min query in edge-based internet of things. IEEE Trans. Netw. Serv. Manag. 2024, 21, 6827–6838. [Google Scholar] [CrossRef]


| Number of Input Data Points (n) | Execution Time (s) | |
|---|---|---|
| [16] | 4 | 5.38 |
| [24] | 1230 | 1800 |
| [20] | 7050 | 212 |
| [Ours (Secure version)] | 7050 | 166 |
| Notation | Description |
|---|---|
| The set for . | |
| The set for . | |
| The 1’s complement of d with , which is computed by toggling each bit of the value d. For example, the 1’s complement of the binary number d = 0110 0101 is . | |
| The 1’s complement of a single bit , which is computed as . | |
| The dataset for a set , where . | |
| As a special case of a dataset, the bit-decomposed form of a value d for . It is denoted by where and . | |
| The encrypted bit-decomposed data of a value d for . It is denoted by where and . | |
| The encrypted 1’s complement of the bit-decomposed data for a value d. It is denoted by where and . | |
| The operations for a dataset. They are performed in parallel on each data point, but for succinctness, we simplify them. For example, the notation in the Notation column means the following operations: | |
| for each do end for | |
| The operation notation for a dataset can be appropriately modified according to the operation. | |
| For a set, S, the notation denotes that a value, r, is chosen from the set S uniformly at random. | |
| This notation denotes that DH sends a message to CSP. | |
| The ordinary multiplication for two values, x and y. | |
| The homomorphic addition of two encrypted data, and , as introduced in Section 2.3. |
| (a) Communication costs | ||||
| Rounds | Volume | |||
| DH & CSP | DH | CSP | ||
| Costs | 1 | |||
| (b) Computation costs | ||||
| Case | DH | CSP | ||
| Enc/Dec | Exp | Enc/Dec | Exp | |
| Normal case | 0 | 0 | ||
| Precomputation | 0 | 0 | ||
| Parallel execution | 0 | 3 | 2 | 0 |
| j | s | |||||
|---|---|---|---|---|---|---|
| · | · | · | · | · | · | |
| 7 | 0 | 3 | ||||
| 6 | 3 | 7 | ||||
| 5 | 0 | 4 | ||||
| 4 | 2 | 6 | ||||
| 3 | 0 | 1 | ||||
| 2 | 1 | 5 | ||||
| 1 | 0 | 2 | ||||
| 0 | 1 | 3 |
| (a) Communication costs | |||||
| Step | Rounds | Volume | |||
| DH | CSP | ||||
| Step 1 | 1 | ||||
| Step 2 | 1 | ||||
| Step 3 | 1 | ||||
| Total | 3 | ||||
| (b) Computation costs | |||||
| Case | Step | DH | CSP | ||
| Enc/Dec | Exp | Enc/Dec | Exp | ||
| Normal case | Step 1 | 0 | |||
| Step 2 | 0 | 0 | |||
| Step 3 | 0 | ||||
| Total | 0 | ||||
| Precom- putation | Step 1 | 0 | 0 | ||
| Step 2 | 0 | 0 | |||
| Step 3 | 0 | 0 | |||
| Total | 0 | 0 | |||
| Parallel execution | Step 1 | 1 | 1 | 2 | 0 |
| Step 2 | 0 | 3 | 2 | 0 | |
| Step 3 | 1 | 1 | 2 | 0 | |
| Total | 2 | 5 | 6 | 0 | |
| Input Data (Bits) | Output Data (Bits) | |
|---|---|---|
| One input data point | C | |
| n input data points | ||
| m parallel processing of the n input data points |
| DH (Bits) | CSP (Bits) | |
|---|---|---|
| One input data point | ||
| n input data points | ||
| m parallel processing of the n input data points |
| j | s | |||||
|---|---|---|---|---|---|---|
| · | · | · | · | · | · | |
| 7 | 5 | 2 | ||||
| 6 | 3 | 6 | ||||
| 5 | 0 | 3 | ||||
| 4 | 2 | 4 | ||||
| 3 | 2 | 1 | ||||
| 2 | 1 | 8 | ||||
| 1 | 0 | 5 | ||||
| 0 | 0 | 7 |
| j | s | ||||||
|---|---|---|---|---|---|---|---|
| · | · | · | · | · | · | · | |
| 7 | 0 | 3 | r | ||||
| 6 | 3 | 7 | r | ||||
| 5 | 0 | 4 | r | ||||
| 4 | 2 | 6 | r | ||||
| 3 | 0 | 1 | r | ||||
| 2 | 1 | 5 | 0 |
| (a) Communication costs | |||||
| Step | Rounds | Volume | |||
| DH | CSP | ||||
| Steps 1–3 | 3 | ||||
| Checking step | 1 | 1 | |||
| Total | 4 | ||||
| (b) Computation costs | |||||
| Case | Step | DH | CSP | ||
| Enc/Dec | Exp | Enc/Dec | Exp | ||
| Normal case | Steps 1–3 | 0 | |||
| Checking step | 0 | 1 | 1 | 0 | |
| Total | 0 | ||||
| Precom- putation | Steps 1–3 | 0 | 0 | ||
| Checking step | 0 | 1 | 1 | 0 | |
| Total | 0 | 0 | |||
| Parallel execution | Steps 1–3 | 2 | 5 | 6 | 0 |
| Checking step | 0 | 1 | 1 | 0 | |
| Total | 2 | 6 | 7 | 0 | |
| Protocol | Communication Volume | Execution Time | |||
|---|---|---|---|---|---|
| DH (MB) | CSP (MB) | Ratio (%) | Time (s) | Ratio (%) | |
| Prior protocol [20] | 110.21 | 55.11 | 100% | 212 | 100% |
| Secure version | 55.2 | 27.59 | 50% | 166 | 78% |
| Ref. | Privacy | Accuracy of Result | Practical Feasibility | Key Techniques | Limitations |
|---|---|---|---|---|---|
| [8] | Low | Approximate | Real Experiment | Hash, Probabilistic | Leaks Max value to aggregator, Potential false positives |
| [9] | Low | Approximate | Real Experiment | Hash, Probabilistic | Leaks Max value to aggregator, Potential false positives |
| [34] | Low-Moderate | Approximate | Simulation | Probabilistic, Optimization | Probabilistic errors, Lacks real-world evaluation |
| [18] | Moderate | Approximate | Simulation | Homomorphic encryption | Numerical errors, High computation cost for comparisons |
| [21] | Moderate | Approximate | Simulation | Homomorphic encryption | Accuracy depends on parameter k, High computation cost for comparisons |
| [37] | High | Exact | Simulation | Quantum | Requires unavailable quantum infrastructure |
| [38] | High | Exact | Simulation | Quantum, Bloom filter | Dependent on specialized quantum hardware |
| [19] | High | Exact | Real Experiment | Multiparty computation | High communication overhead |
| [Ours] | High | Exact | Real Experiment | Homomorphic encryption | The cost of the efficient version can converge to that of the secure version |
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. |
© 2026 by the author. 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.
Share and Cite
Park, J. Optimized and Privacy-Preserving MAX/MIN Protocols for Large-Scale Data. Appl. Sci. 2026, 16, 2580. https://doi.org/10.3390/app16052580
Park J. Optimized and Privacy-Preserving MAX/MIN Protocols for Large-Scale Data. Applied Sciences. 2026; 16(5):2580. https://doi.org/10.3390/app16052580
Chicago/Turabian StylePark, Jeongsu. 2026. "Optimized and Privacy-Preserving MAX/MIN Protocols for Large-Scale Data" Applied Sciences 16, no. 5: 2580. https://doi.org/10.3390/app16052580
APA StylePark, J. (2026). Optimized and Privacy-Preserving MAX/MIN Protocols for Large-Scale Data. Applied Sciences, 16(5), 2580. https://doi.org/10.3390/app16052580

