Nothing Special   »   [go: up one dir, main page]

Skip to main content

On Single-Server Delegation of RSA

  • Conference paper
  • First Online:
Innovative Security Solutions for Information Technology and Communications (SecITC 2022)

Abstract

In delegated computation research, the main problem asks how a computationally weaker client device can obtain help from one or more computationally stronger servers to perform some computation. Desirable solution requirements include correctness of the computation, privacy of the inputs, high probability detection of any malicious behavior of a server, low client online runtime, low communication complexity, low client storage complexity, and minimal server trust.

In this paper we investigate the problem of single-server delegated computation of the encryption and decryption algorithms in the ubiquitously applied RSA public-key cryptosystem. Our contribution includes state-of-the-art summaries, the first delegated computation protocol for small-exponent RSA encryption, a delegated computation protocol for RSA decryption with improved server runtime and client storage, and an upper bound on the impact of communication on client device energy, which may be of independent interest.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Similar content being viewed by others

References

  1. Abadi, M., Feigenbaum, J., Kilian, J.: On hiding information from an oracle. In J. Comput. Syst. Sci. 39(1), 21–50 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  2. Bouillaguet, C., Martinez, F., Vergnaud, D.: Cryptanalysis of modular exponentiation outsourcing protocols. Comput. J. 65(9), 2299–2314 (2022)

    Article  MathSciNet  Google Scholar 

  3. Canard, S., Devigne, J., Sanders, O.: Delegating a pairing can be both secure and efficient. In: Boureanu, I., Owesarski, P., Vaudenay, S. (eds.) ACNS 2014. LNCS, vol. 8479, pp. 549–565. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07536-5_32

    Chapter  MATH  Google Scholar 

  4. Cavallo, B., Di Crescenzo, G., Kahrobaei, D., Shpilrain, V.: Efficient and secure delegation of group exponentiation to a single server. In: Mangard, S., Schaumont, P. (eds.) RFIDSec 2015. LNCS, vol. 9440, pp. 156–173. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24837-0_10

    Chapter  Google Scholar 

  5. Chen, X., Li, J., Ma, J., Tang, Q., Lou, W.: New algorithms for secure outsourcing of modular exponentiations. Comput. Secur.-ESORICS 2012, 541–556 (2012)

    MATH  Google Scholar 

  6. Chevallier-Mames, B., Coron, J.-S., McCullagh, N., Naccache, D., Scott, M.: Secure delegation of elliptic-curve pairing. In: Gollmann, D., Lanet, J.-L., Iguchi-Cartigny, J. (eds.) CARDIS 2010. LNCS, vol. 6035, pp. 24–35. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12510-2_3. eprint.iacr.org/2005/150

  7. Chevalier, C., Laguillaumie, F., Vergnaud, D.: Privately outsourcing exponentiation to a single server: cryptanalysis and optimal constructions. Algorithmica 83, 72–115 (2021). also, Proc. ESORICS ’16: 261–278, Springer

    Google Scholar 

  8. Di Crescenzo, G., Khodjaeva, M., Kahrobaei, D., Shpilrain, V.: Practical and secure outsourcing of discrete log group exponentiation to a single malicious server. In: Proceedings of 9th ACM CCSW, pp. 17–28 (2017)

    Google Scholar 

  9. Di Crescenzo, G., Khodjaeva, M., Kahrobaei, D., Shpilrain, V.: Efficient and secure delegation of exponentiation in general groups to a single malicious server. Math. Comput. Sci. 14(3), 641–656 (2020). Also in IMCS 2018

    Google Scholar 

  10. Di Crescenzo, G., Khodjaeva, M., Kahrobaei, D., Shpilrain, V.: Secure delegation to a single malicious server: exponentiation in RSA-type Groups. In: Proceedings of 7th IEEE Conference on Communications and Network Security, CNS 2019, pp. 1–9 (2019)

    Google Scholar 

  11. Di Crescenzo, G., Khodjaeva, M., Kahrobaei, D., Shpilrain, V.: Secure and efficient delegation of elliptic-curve pairing. In: Conti, M., Zhou, J., Casalicchio, E., Spognardi, A. (eds.) ACNS 2020. LNCS, vol. 12146, pp. 45–66. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-57808-4_3

    Chapter  MATH  Google Scholar 

  12. Di Crescenzo, G., Khodjaeva, M., Kahrobaei, D., Shpilrain, V.: Secure and efficient delegation of pairings with online inputs. In: Liardet, P.-Y., Mentens, N. (eds.) CARDIS 2020. LNCS, vol. 12609, pp. 84–99. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-68487-7_6

    Chapter  Google Scholar 

  13. Di Crescenzo, G., Khodjaeva, M., Shpilrain, V., Kahrobaei, D., Krishnan, R.: Single-server delegation of ring multiplications from quasilinear-time clients. In: Proceedings of 14th International Conference on Security of Information and Networks (SIN), pp. 1–8 (2021)

    Google Scholar 

  14. Di Crescenzo, G., Khodjaeva, M., Kahrobaei, D., Shpilrain, V.: A survey on delegated computation. In: Proceedings of DLT 2022. LNCS, vol. 13257, pp. 33–53. Springer, Heidelberg (2022). https://doi.org/10.1007/978-3-031-05578-2_3

  15. Di Crescenzo, G., Khodjaeva, M., Krishnan, R., Shur, D.: Single-server delegation of small-exponent exponentiation from quasi-linear clients and applications. In: Proceedings of the ACM CCS 4th Workshop on CPS & IoT Security (CPSIoTSec 2022) (2022)

    Google Scholar 

  16. Dijk, M., Clarke, D., Gassend, B., Suh, G., Devadas, S.: Speeding up exponentiation using an untrusted computational resource. Des. Codes Cryptogr. 39(2), 253–273 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  17. Ding, Y., Xu, Z., Ye, J., Choo, K.-K.R.: Secure outsourcing of modular exponentiations under single untrusted program model. Int. J. Comput. Syst. Sci. 90, 1–13 (2017)

    Article  MATH  Google Scholar 

  18. Feigenbaum, J.: Encrypting problem instances: or ..., can you take advantage of someone without having to trust him? In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 477–488. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-39799-X_38

    Chapter  Google Scholar 

  19. Fu, A., Li, S., Yu, S., Zhang, Y., Sun, Y.: Privacy-preserving composite modular exponentiation outsourcing with optimal checkability in single untrusted cloud server. J. Netw. Comp. App. 118, 102–112 (2018)

    Article  Google Scholar 

  20. Fu, A., Zhu, Y., Yang, G., Yu, S., Yu, Y.: Secure outsourcing algorithms of modular exponentiations with optimal checkability based on a single untrusted cloud server. Cluster Comput. 21, 1933–1947 (2018)

    Article  Google Scholar 

  21. Galbraith, S.: Mathematics of Public-Key Cryptography. Cambridge Press, Cambridge (2018). version 2.0

    Google Scholar 

  22. Gennaro, R., Gentry, C., Parno, B.: Non-interactive verifiable computing: outsourcing computation to untrusted workers. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 465–482. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14623-7_25

    Chapter  Google Scholar 

  23. Hohenberger, S., Lysyanskaya, A.: How to securely outsource cryptographic computations. In: Kilian, J. (ed.) TCC 2005. LNCS, vol. 3378, pp. 264–282. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30576-7_15

    Chapter  Google Scholar 

  24. Horng, G.: A secure server-aided RSA signature computation protocol for smart cards. J. Inf. Sci. Eng. 16, 847–855 (2000)

    Google Scholar 

  25. Kaminski, M.: A note on probabilistically verifying integer and polynomial products. J. ACM 36(1), 142–149 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  26. Kawamura, S., Shimbo, A.: Fast server-aided secret computation protocols for modular exponentiation. IEEE J. Sel. Areas Commun. 11(5), 778–784 (1993)

    Article  Google Scholar 

  27. Ma, X., Li, J., Zhang, F.: Outsourcing computation of modular exponentiations in cloud computing. Cluster Comput. 16(4), 787–796 (2013)

    Article  Google Scholar 

  28. Matsumoto, T., Kato, K., Imai, H.: Speeding up secret computations with insecure auxiliary devices. In: Goldwasser, S. (ed.) CRYPTO 1988. LNCS, vol. 403, pp. 497–506. Springer, New York (1990). https://doi.org/10.1007/0-387-34799-2_35

    Chapter  Google Scholar 

  29. Mefenza, T., Vergnaud, D.: Cryptanalysis of server-aided RSA protocols with private-key splitting. Comput. J. 62(8), 1194–1213 (2019)

    MathSciNet  Google Scholar 

  30. Meulenaer, G., Gosset, F., Standaert, F.-X., Pereira, O.: On the energy cost of communication and cryptography in wireless sensor networks. In: IEEE International Conference on Wireless & Mobile Computing, Networking & Communication (2008)

    Google Scholar 

  31. Rangasamy, J., Kuppusamy, L.: Revisiting single-server algorithms for outsourcing modular exponentiation. In: Chakraborty, D., Iwata, T. (eds.) INDOCRYPT 2018. LNCS, vol. 11356, pp. 3–20. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-05378-9_1

    Chapter  Google Scholar 

  32. Ren, Y., Dong, M., Qian, Z., Zhang, X., Feng, G.: Efficient algorithm for secure outsourcing of modular exponentiation with single server. IEEE Trans. Cloud Comput. 9, 145–154 (2021)

    Article  Google Scholar 

  33. Su, Q., Zhang, R., Xue, R.: Secure outsourcing algorithms for composite modular exponentiation based on single untrusted cloud. Comput. J. 63, 1271 (2020)

    Article  MathSciNet  Google Scholar 

  34. Wang, Y., et al.: Securely outsourcing exponentiations with single untrusted program for cloud storage. In: Kutyłowski, M., Vaidya, J. (eds.) ESORICS 2014. LNCS, vol. 8712, pp. 326–343. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11203-9_19

    Chapter  Google Scholar 

  35. Wasserman, H., Blum, M.: Software reliability via run-time result-checking. J. ACM 44(6), 826–849 (2019). Proceedings of IEEE FOCS 94, 2019

    Google Scholar 

  36. Ye, J., Wang, J.: Secure outsourcing of modular exponentiation with single untrusted server. In: 18th International Conference on Network-Based Information Systems (2015)

    Google Scholar 

  37. Yao, A.: A lower bound to palindrome recognition by probabilistic Turing Machines. Technical Report STAN-CS-77-647 (1977)

    Google Scholar 

  38. https://www.silabs.com/mcu/32-bit-microcontrollers/efm32-giant-gecko

Download references

Acknowledgements

Many thanks to the SEC-ITC 2022 reviewers for very useful comments. Work by Matluba Khodjaeva was supported by the NSF CNS - CISE MSI Research Expansion grant N2131182 and PSC CUNY Cycle 53. Work by Giovanni Di Crescenzo, Ta Chen, Rajesh Krishnan and David Shur was supported by the Defense Advanced Research Projects Agency (DARPA), contract n. HR001120C0156. Approved for Public Release, Distribution Unlimited. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation hereon. Disclaimer: The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of DARPA, or the U.S. Government.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matluba Khodjaeva .

Editor information

Editors and Affiliations

Appendices

On Delegation of RSA Decryption

Previous Work. In [28], the first paper proposing delegation of cryptographic algorithms, the authors presented two protocols for the delegation of RSA decryption. The basic idea of such a protocols was as follows: the client sends some randomized masking of exponent d to the server; the server computes exponentiations to exponents related to the masking, and sends the results to the client; finally, the client uses the mask computation to turn the received exponentiation results into the desired \(x^d\mod n\) exponentiation. The specific masking used in the first of their protocols was

$$ d=f_1d_1+\cdots +f_Md_M\mod \phi (n), $$

for some random integers \(d_1,\ldots ,d_M\) send by the client to the server, some random bits \(f_1,\ldots ,f_M\) kept secret by the client, and some small value M. While this might seem an interesting approach, in that recovering d might seem to require exhaustive search of all possible vectors \((f_1,\ldots ,f_M)\), about 20 papers were published containing faster attacks to their protocols and/or proposing protocol variants and improvements, as well as faster attacks to these variants. The reader is referred to Sect. 2 of [24] and Sect. 1.2 of [29] for a detailed discussion of these papers. All of these results were published before the introduction of a formal delegation model [23], and therefore protocols were described without proofs for their properties, other than sometimes claiming security against all previous attacks. For some of these papers, it might be interesting to study if their techniques suffice to provably achieve some of the properties formally defined in the more recent delegation models. In particular, some of these attacks were based on an attacker’s knowledge of signatures, which would not necessarily be part of the adversary model when considering decryption delegation.

More recently, protocols were proposed [17, 19, 20, 32, 34, 36] where the RSA exponent was hidden in one or more linear equations depending on a random value t in the exponent group. According to our analysys of these protocols: (a) a full-domain value t would perfectly hide the RSA secret key from the server, but require client work comparable to non-delegated computation of RSA decryption; (b) a smaller-size value t would reduce the client’s work but also proportionally reduce the work needed to derive the RSA secret key. Properties (a) and (b) imply that these protocols do not simultaneously satisfy input privacy and client resource efficiency. Indeed, the variant of this approach used in [34] was broken by [7] using lattice-based cryptanalysis techniques.

Other exponent masking attempts were proposed in [31, 33], where the exponent was masked by a multiple of the group order. This would seem a potentially interesting and valid idea, since, on one hand the random value would mask d, and on the other hand the server’s exponentiation to a multiple of the group order would cancel out and allow C to recover an exponentiation to the original exponent. However, these protocols were broken in [2] using lattice-based cryptanalysis techniques.

Finally, [7] proves, in the generic group model, lower bounds on the efficiency of delegation protocols for a class of functions, including one that has some similarity to RSA decryption: public-online-base private-offline-exponent exponentiation in prime-order groups. These results are summarized in Table 4. We note that it is yet unknown if these results can be extended to RSA groups. Even if they were, it would still be possible to design RSA decryption delegation protocols with non-trivial improvements over non-delegated computation.

Table 4. Summary of lower bound results from Theorems in [7] for protocols for the delegation of public-online-base private-offline-exponent exponentiation in prime order groups, in the generic group model, where s is an arbitrary integer. Each row represents a barrier in the sense that a protocol with a better improvement factor than what written in the 2nd column, in a scenario with protocol parameters as described in columns 3–5, would imply an efficient attack that successfully violates input privacy.

Properties of Our Protocol. \(\mathcal{P}_{2,d}\). The efficiency properties are verified by protocol inspection; in particular,

  • C’s online runtime complexity consists of \(k+1\) multiplications, which improves over non-delegated multiplication by a multiplicative factor of \(\ge \log b\);

  • S’s runtime complexity consists of only k exponentiations, and \(b+k-2\) multiplications in \(\mathbb {Z}_n^*\);

  • the offline runtime complexity consists of 1 product of k exponentiations with k random bases, 1 inversion in \(\mathbb {Z}_n^*\), and time linear in |d|;

  • with respect to round complexity, \(\mathcal{P}_{d,2}\) requires 3 messages between C and S;

  • with respect to communication complexity, the online phase of \(\mathcal{P}_{d,2}\) requires the transfer of \(b+k-1\) values in \(\mathbb {Z}_{n}^*\).

To show the correctness property, we note that if C and S follow the protocol, C outputs \(m=c^d \mod n\) since \(d = (d_{k-1},\ldots , d_1, d_0)_b=\sum _{i=0}^{k-1} d_i\cdot b^i\) and

$$\begin{aligned} m= & {} w_0\cdot v_0 = \prod _{i=0}^k z_i^{b^i} \cdot (\prod _{i=0}^k u_i^{b^i})^{-1} \\= & {} \prod _{i=0}^k (B_{d_i}\cdot u_i)^{b^i} \cdot \prod _{i=0}^k u_i^{-b^i}= \prod _{i=0}^k (B_{d_i})^{b^i} = \prod _{i=0}^k (c^{d_i})^{b^i} = c^{\sum _{i=0}^k d_i\cdot b^i} = c^d \end{aligned}$$

The privacy property of the protocol against a malicious S follows by observing that C’s message to S is a sequence of pseudo-random values in \(\mathbb {Z}_n^{*}\) and is thus pseudo-independent from d. Specifically, the values sent by C to S are \(z_0,\ldots , z_k\) where \(z_i=B_{d_i}\cdot u_i \mod n\) for all \(i=0,\ldots , k-1\) and \(z_k = m\cdot u_k \mod n\). Note that as \(u_0\ldots , u_k\) are chosen as pseudo-random values in \(\mathbb {Z}_n^{*}\) using G’s output on input a random seed s, even \(z_0, \dots , z_k\) are pseudo-random values in \(\mathbb {Z}_n^{*}\). Thus, under the assumption that G is pseudo-random, the probability that any efficient malicious S learns some additional information about private exponent d, is negligible.

Delegation of Multiplication in \(\mathbb {Z}_n^*\)

We show how a quasilinear-time client can delegate modular multiplication in the group \(\mathbb {Z}_n^*\), where n is an RSA group, in the input case where both factors are public online. (Here, by quasilinear-time client we mean a client that only performs modular additions/subtractions, reductions modulo small primes, and/or multiplications of small integers modulo small primes). The delegation protocol is obtained as a direct generalization of the analogue protocol in [13] for modular multiplication in the group \(\mathbb {Z}_p^*\), where p is a prime. It turns out that after replacing a prime modulus with a non-prime modulus in the protocol from [13], all protocol’s poperties still hold, with only syntactic changes to their proofs.

Informal Description of \({\mathcal {P}}_{m}\). The protocol in [13] improves Yao’s generalization [37] of Pippenger’s idea (see, e.g., example 2 in [25]) to efficiently verify integer equations modulo small primes, and adapts it from \(\mathbb {Z}\) to \(\mathbb {Z}^*_p\). In that protocol, a server would send the product w of the two input integers a and b, and the integer equation \(w=a\cdot b\) is verified modulo a small random prime chosen by the client. Directly extending the protocol from [13], a server sends quotient \(w_0\) and reminder \(w_1\) of the division of w by n, and the integer equation \(w_0\cdot n+w_1=a\cdot b\) is verified modulo a small random prime by the client, which can then obtain \(w_1\) as the desired \(a\cdot b\mod n\) value.

Formal Description of \({\mathcal {P}}_{m}\). Consider algebraic group \(\mathbb {Z}^*_n\). We now formally describe a 1-server protocol \({\mathcal {P}}_m=(C, S)\) for the delegation of multiplication of public online group values a and b in \(\mathbb {Z}^*_n\), where \(|a|=|b|= \sigma \), and with statistical parameter \(\lambda \). By \(\pi (x)\) we denote the number of prime integers \(\le x\).

Offline Input: \(1^\sigma ,1^\lambda \), \(n\in \{0,1\}^\sigma \)

Offline phase instructions:

  1. 1.

    Randomly chooses a prime \(t<2^\eta \), where \(\eta =\lceil \lambda +\log _2\lambda +\log _2(\pi (2\sigma ))\rceil \)

  2. 2.

    Compute \(n'=n\mod t\)

  3. 3.

    Return: \((t,n')\) and store this pair on C’s device

Online Input to C and S: \(1^\sigma ,1^\lambda \), \(n\in \{0,1\}^\sigma \), \(a,b\in \mathbb {Z}^*_n\)

Online Input to C: \(t,n'\)

Online phase instructions:

  1. 1.

    S computes \(w:=a\cdot b\) (i.e., the product, over \(\mathbb {Z}\), of ab, considered as integers)

    S computes \(w_0,w_1\) such that \(w=w_0\cdot n+w_1\) (over \(\mathbb {Z}\)), where \(0 \le w_1 <n\)

    S sends \(w_0,w_1\) to C

  2. 2.

    C computes \(w_0':=w_0 \mod t\) and \(w_1':=w_1 \mod t\)

    C computes \(a':=a \mod t\) and \(b':=b \mod t\)

    If \(a'\cdot b'\ne w_0'\cdot n'+w_1' \mod t\) then

          C returns: \(\perp \) and the protocol halts

    C returns: \(y:=w_1\)

In [13], protocol \({\mathcal {P}}_{m}\) is proved to satisfy 1-correctness, unbounded \(2^{-\lambda }\)-security and \((t_{F},t_{S},t_{P},t_{C},cc,sc,mc)\)-efficiency, where \(cc=2\), \(sc=2\), \(mc=2\), \(t_F=\) 1 multiplication mod p, \(t_C=\) 4 \(\eta \)-bit-modulus reductions + 2 \(\eta \)-bit-values multiplications + 1 \(\eta \)-bit-value addition, \(t_S=\) 1 multiplication + 1 division \(\mod n\), and \(t_P=\) 1 \(\eta \)-bit random prime generation + 1 \(\eta \)-bit-modulus reduction. In particular, C’s online computations only consist of 4 reductions modulo q and 2 multiplications modulo q, where q is a small, \(\eta \)-bit, modulus.

Public-Base Small-Exponent Exponentiation in \(\mathbb {Z}_n^*\)

We show how to delegate small-exponent exponentiation in the RSA group \(\mathbb {Z}_n^*\), in the input case where the base is public online and the exponent is public offline. This is obtained as a direct extension of the analogue result from [15] in the algebraic group \(\mathbb {Z}_p^*\), where p is a prime. The extension consists of replacing the subprotocol for delegating multiplication mod p with the subprotocol for delegating multiplication mod n from Appendix B. We obtain the following

Theorem 3

Let \(\sigma \) be computational security parameter, let \(\lambda \) be a statistical security parameter, and let \({\mathcal {P}}_{m}\) be the single-server protocol for delegating computation of the multiplication operation in group \(\mathbb {Z}_n^*\), satisfying 1-correctness, unbounded \(2^{-\lambda }\)-security and \((t'_{F},t'_{S},t'_{P},t'_{C},cc',sc',mc')\)-efficiency, as described in Appendix B. There exist (constructively) a single-server protocols \({\mathcal {P}}_{e,pub}\) for delegating computation of small-exponent exponentiation in the same group for the input case where base \(x\in \mathbb {Z}_n^*\) is public online and exponent \(e\in \{0,1\}^a\) is public offline, satisfying unbounded 1-decryption-correctness, unbounded \(2^{-\lambda }\)-security, and \((t_{F},t_{S},t_{P},t_{C},cc,sc,mc)\)-efficiency, where

  • \(t_F\le 2a\cdot t'_F\), \(t_S\le 2a\cdot t'_S\), \(t_P= t'_P\), \(t_C\le 2a\cdot t'_C\),

  • \(cc\le 2a\cdot cc'+2\), \(sc= sc'\), and \(mc=2\).

Informal Description of \({\mathcal {P}}_{e,pub}\). Analogously as in [15], our protocol \({\mathcal {P}}_{e,pub}\) can be seen as an optimized simulation of the (iterative) square and multiply algorithm for modular exponentiation, while using a multiplication delegation subprotocol, such as the scheme \({\mathcal {P}}_{m}\) in Appendix B, to compute squares and multiplications modulo n in this algorithm. A first optimization consists of running all executions of protocol \({\mathcal {P}}_{m}\) in parallel instead of sequentially. Specifically, sequential black-box runs of protocol \({\mathcal {P}}_{m}\) at each squaring or multiplication step would result in up to 2a messages, where \(a=\lceil \log (x+1)\rceil \). Instead, since the online phase of \({\mathcal {P}}_{m}\) only consists of a single message from S to C, and at the end of the protocol, both S and C can compute the computation result, all executions of \({\mathcal {P}}_{m}\) can be run in parallel, and so \({\mathcal {P}}_e\) consists of a single message from S to C. As a second optimization, we observe that the offline phase of \({\mathcal {P}}_{m}\) can be only run once, even if we run the online phase of the same protocol up to 2a times. This follows from the unbounded security property of \({\mathcal {P}}_{m}\), which we use to keep C’s storage complexity independent on a. Finally, we note that in the executions of protocol \({\mathcal {P}}_{m}\), we set statistical parameter \(\lambda _m=\lambda +\lceil \log (2a)\rceil \), where \(\lambda \) is the statistical parameter desired for protocol \({\mathcal {P}}_{e}\), to guarantee enough verification confidence for all (up to) 2a squares or multiplications.

Formal Description of \({\mathcal {P}}_{e,pub}\). By \({\mathcal {P}}_{m}=(\text{ Offline}_{m},S_{m},C_{m})\) we denote a protocol for the delegation of \(a\cdot b\mod n\) with statistical parameter \(\lambda _m\), where a and b are public online, such as the protocol in Appendix B. In particular, the notation \((q,r)\leftarrow S_{m}(out,a,b)\) refers to an execution of the \({\mathcal {P}}_{m}\) server’s algorithm with offline-phase input out and online-phase inputs ab, returning message (qr) for C, such that \(a\cdot b=q\cdot n+r\), where \(0\le r<n\). Similarly, the notation \(d\leftarrow C_{m}(out,q,r)\) refers to an execution of the \({\mathcal {P}}_{m}\) client’s algorithm with offline-phase input out, online-phase inputs ab, and server’s message (qr), and returning decision bit d where \(d=1/0\) depending on whether \(C_{m}\) accepts/does not accept the statement \(r=a\cdot b\mod n\). We now formally describe protocol \({\mathcal {P}}_{e,pub}\) to delegate small-exponent exponentiation \(\mathsf{seExp_{n,e,a}}(x)=x^e\mod n\) in a group \(\mathbb {Z}^*_n\), where x is public online and e is public offline.

Offline Input: \(1^\sigma ,1^\lambda ,1^a\), \(n\in \{0,1\}^\sigma \), public exponent \(e\in \{0,1\}^a\)

Offline phase of \({\mathcal {P}}_e\):

  1. 1.

    Run the offline-phase algorithm \(\text{ Offline}_{m}\) from protocol \({\mathcal {P}}_{m}\)

  2. 2.

    Store the resulting output out on C’s device

Online Input to C and S: \(1^\sigma ,1^\lambda ,1^a\), \(n\in \{0,1\}^\sigma \), \(x\in \mathbb {Z}_n^*\), \(e\in \{0,1\}^a\)

Online phase of \({\mathcal {P}}_e\):

  1. 1.

    S sets \(z=x\), \(y=1\) and \(i=1\)

  2. 2.

    While \(e>1\) do

       if e is even then

          S computes \((q_{1i},r_{1i})=S_{m}(z,z)\)

          S sets \(z=r_{i1}\), \(q_{2i}=r_{2i}=0\), \(i=i+1\) and \(e=e/2\)

       if e is odd then

          S computes \((q_{1i},r_{1i})=S_{m}(z,y)\) and \((q_{2i},r_{2i})=S_{m}(z,z)\)

          S sets \(y=r_{i1}\), \(z=r_{i2}\), \(i=i+1\) and \(e=(e-1)/2\)

  3. 3.

    S computes \((q,r)=S_{m}(z,y)\)

  4. 4.

    S sends \(((q_{11},r_{11},q_{21},r_{21}),\ldots ,(q_{1a},r_{1a},q_{2a},r_{2a}),(q,r))\) to C

  5. 5.

    C sets \(y=1\) and \(i=1\)

  6. 6.

    While \(e>1\) do

       if e is even then

          C computes \(d_{1i}=C_{m}(out,q_{1i},r_{1i})\)

          if \(d_{1i}= 0\) then C halts

             else C sets \(z=r_{i1}\), \(i=i+1\) and \(e=e/2\)

       if e is odd then

          C computes \(d_{1i}=C_{m}(out,q_{1i},r_{1i})\) and \(d_{2i}=C_{m}(out,q_{2i},r_{2i})\)

          if \(d_{1i}= 0\) or \(d_{2i}= 0\) then C halts

             else C sets \(y=r_{i1}\), \(z=r_{i2}\), \(i=i+1\) and \(e=(e-1)/2\)

  7. 7.

    C computes \(l=C_{m}(out,q,r)\)

  8. 8.

    If \(l= 0\) then C halts else C returns: \(y=r\)

Properties of \({\mathcal {P}}_{e,pub}\). The efficiency properties of \({\mathcal {P}}_{e,pub}\) follow by protocol inspection, and by observing that \({\mathcal {P}}_{e,pub}\) runs \({\mathcal {P}}_{m}\) up to 2a times, with statistical parameter \(\lambda _m=\lambda +\lceil \log (2a)\rceil \). In particular, we note that: (1) the online phase of \({\mathcal {P}}_{e,pub}\) consists of a single round message complexity from C to S and then followed by S to C since it parallelizes the \(\le 2a\) executions of protocol \({\mathcal {P}}_{m}\); (2) the offline phase runtime includes the runtime of one execution of the offline phase of \({\mathcal {P}}_{m}\); only one thanks to the unbounded security of \({\mathcal {P}}_{m}\).

The 1-correctness property of \({\mathcal {P}}_{e,pub}\) follows by observing that at the end of the protocol C can compute \(y=x^e \mod n\) with probability 1. This follows by combining these 2 facts: (1) At the end of each execution of subprotocol \({\mathcal {P}}_{m}\) on input (ab), C can compute \(a\cdot b\mod n\); (2) If subprotocol \({\mathcal {P}}_{m}\) allows C to obtain a (delegated) computation of multiplication \(\mod n\), then protocol \({\mathcal {P}}_{e,pub}\) allows C to obtain a (delegated) computation of the output of the iterative version of the square-and-multiply algorithm for exponentiation \(\mod n\) and obtain \(r = z^e \mod n = x^e \mod n\). Fact (1) follows from the 1-correctness of subprotocol \({\mathcal {P}}_{m}\). Fact (2) follows by induction on variable i in the while loops in protocol \({\mathcal {P}}_e\), after observing that protocol \({\mathcal {P}}_{e,pub}\) realizes the square-and-multiply algorithm, where computation of multiplications is delegated via \({\mathcal {P}}_{m}\).

The unbounded \(2^{-\lambda }\)-security property of \({\mathcal {P}}_{e,pub}\) follows from the 1-correctness property of \({\mathcal {P}}_{e,pub}\), the unbounded \(2^{-\lambda }\)-security property of protocol \({\mathcal {P}}_{m}\) and the setting \(\lambda _m=\lambda +\lceil \log (2a)\rceil \). First, we observe that if S returns correct values when running protocol \({\mathcal {P}}_{m}\), then the 1-correctness property implies that C returns a correct output \(y=x^e\mod n\) with probability 1. Thus, the probability \(\epsilon _s\) that C accepts a value \(y\ne x^e \mod n\) is upper bounded by the probability that C accepts an incorrect result in any one of the \(\le 2a\) executions of protocol \({\mathcal {P}}_{m}\). By a union bound, we have that

$$ \epsilon _s\le \sum _{i=1}^{2a}\frac{1}{2^{\lambda _m}}\le \sum _{i=1}^{2a}\frac{1}{2^{\lambda +\lceil \log (2a)\rceil }}\le \frac{1}{2^{\lambda }}\sum _{i=1}^{2a}\frac{1}{2a} = 2^{-\lambda }. $$

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Di Crescenzo, G. et al. (2023). On Single-Server Delegation of RSA. In: Bella, G., Doinea, M., Janicke, H. (eds) Innovative Security Solutions for Information Technology and Communications. SecITC 2022. Lecture Notes in Computer Science, vol 13809. Springer, Cham. https://doi.org/10.1007/978-3-031-32636-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-32636-3_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-32635-6

  • Online ISBN: 978-3-031-32636-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics