Abstract
The AES is a standardized symmetric block cipher, whose efficiency has been studied widely. This has resulted in very efficient software and hardware implementations of AES, which allow for the encryption of millions of blocks per second. However, AES was not designed with Multi-Party Computation in mind. Though there are many real-world applications of MPC requiring block ciphers, standard ciphers such as AES are far from being efficient for real-world applications of MPC. In this paper, we study how to improve the efficiency of AES modes of operation in the actively secure MPC setting with dishonest majority with precomputation as put forward by SPDZ and its variants. We propose two new protocols. The first one is aimed at improving the efficiency of the Sbox computation, the only non-linear layer in the AES. In particular, we use an (equally secure) inverse Sbox computation instead of the standard forward Sbox. The second protocol improves on the overall AES computation by optimizing the off-line phase and computing special (Beaver)-tuples specifically designed to improve the performance of the Sbox AES computation. Our proposals, result in an overall improvement of 3.33. The on-line phase of the protocols is fully implemented using the MP-SPDZ framework.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
See [16] for comparisons of various implementations.
- 2.
This approach has been implemented in the MP-SPDZ library, which we have used for our implementation.
- 3.
If stored, then it requires storage per player and the amount is equal to the amount transferred during the computation. If the protocol is “on-the-fly”, then no storage is required but the pre-computed data has to be available realtime and on request when needed. In practice, it is likely that storage will be required since the offline phase is much slower than the online phase.
- 4.
A more detailed explaination is given in Sect. 4.2.
- 5.
Excluding side-channel attacks attacks.
References
The Advanced Encryption Standard, Nov 26, 2001. FIPS PUB 197: Federal Information Processing Standard https://csrc.nist.gov/csrc/media/publications/fips/197/final/documents/fips-197.pdf
Araki, T., Furukawa, J., Lindell, Y., Nof, A., Ohara, K.: High-throughput semi-honest secure three-party computation with an honest majority. In: Weippl, E.R., Katzenbeisser, S., Kruegel, C., Myers, A.C., Halevi, S., (eds.), ACM SIGSAC Conference on Computer and Communications Security – CCS 2016, pp. 805–817. ACM, 24–28 October 2016
Barkan, E., Biham, E.: In how many ways can you write rijndael? In: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 160–175. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36178-2_10
Beaver, D.: Efficient multiparty protocols using circuit randomization. In: Feigenbaum, J. (ed.) CRYPTO 1991. LNCS, vol. 576, pp. 420–432. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-46766-1_34
Bogdanov, D., Laur, S., Willemson, J.: Sharemind: a framework for fast privacy-preserving computations. In: Jajodia, S., Lopez, J. (eds.) ESORICS 2008. LNCS, vol. 5283, pp. 192–206. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88313-5_13
Brakerski, Z., Gentry, C., Vaikuntanathan, V.: (Leveled) Fully Homomorphic Encryption without Bootstrapping. ACM Trans. Comput. Theor. 6(3), 1–36 (2014)
Chen, H., Kim, M., Razenshteyn, I., Rotaru, D., Song, Y., Wagh, S.: Maliciously secure matrix multiplication with applications to private deep learning. In: Moriai, S., Wang, H. (eds.) ASIACRYPT 2020. LNCS, vol. 12493, pp. 31–59. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64840-4_2
Chida, K., Hamada, K., Ikarashi, D., Kikuchi, R., Pinkas, B.: High-throughput secure AES computation. In: Brenner, M., Rohloff, K., (eds.), 6th Workshop on Encrypted Computing & Applied Homomorphic Cryptography, WAHC@CCS 2018, pp. 13–24. ACM, 19 October 2018
Cramer, R., Damgård, I., Ishai, Y.: Share conversion, pseudorandom secret-sharing and applications to secure computation. In: Kilian, J. (ed.) TCC 2005. LNCS, vol. 3378, pp. 342–362. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30576-7_19
Damgård, I., Keller, M.: Secure multiparty AES. In: Sion, R. (ed.) FC 2010. LNCS, vol. 6052, pp. 367–374. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14577-3_31
Damgård, I., Keller, M., Larraia, E., Miles, C., Smart, N.P.: Implementing AES via an actively/Covertly secure dishonest-majority MPC protocol. In: Visconti, I., De Prisco, R. (eds.) SCN 2012. LNCS, vol. 7485, pp. 241–263. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32928-9_14
Damgård, I., Keller, M., Larraia, E., Pastro, V., Scholl, P., Smart, N.P.: Practical covertly secure MPC for dishonest majority – or: breaking the SPDZ limits. In: Crampton, J., Jajodia, S., Mayes, K. (eds.) ESORICS 2013. LNCS, vol. 8134, pp. 1–18. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40203-6_1
Damgård, I., Pastro, V., Smart, N., Zakarias, S.: Multiparty computation from somewhat homomorphic encryption. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 643–662. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32009-5_38
Chaum, D., Crepeau, C., Damgård, I.: Multiparty unconditionally secure protocols. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing, STOC 1988, New York, ACM (1988)
Gentry, C., Halevi, S., Smart, N.P.: Homomorphic evaluation of the AES circuit. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 850–867. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32009-5_49
Hastings, M., Hemenway, B., Noble, D., Zdancewic, S.: Sok: general purpose compilers for secure multi-party computation. In: 2019 IEEE Symposium on Security and Privacy (SP), pp. 1220–1237 (2019)
Keller, M.: MP-SPDZ: a versatile framework for multi-party computation. In: Ligatti, J., Ou, X., Katz, J., Vigna, G., (eds.), 2020 ACM SIGSAC Conference on Computer and Communications Security, CCS. Virtual Event, pp. 1575–1590. ACM (2020)
Keller, M., Orsini, E., Rotaru, D., Scholl, P., Soria-Vazquez, E., Vivek, S.: Faster secure multi-party computation of AES and DES using lookup tables. In: Gollmann, D., Miyaji, A., Kikuchi, H. (eds.) ACNS 2017. LNCS, vol. 10355, pp. 229–249. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-61204-1_12
Keller, M., Pastro, V., Rotaru, D.: Overdrive: making SPDZ great again. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10822, pp. 158–189. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78372-7_6
Kocher, P., et al.: Spectre attacks: exploiting speculative execution. In: 2019 IEEE Symposium on Security and Privacy, SP 2019, pp. 1–19. IEEE, 19–23 May 2019
Lipp, M., et al.: Meltdown: reading kernel memory from user space. In: 27th USENIX Security Symposium, USENIX Security 2018, pp. 973–990. USENIX Association, 15–17 August 2018
Malkhi, D., Nisan, N., Pinkas, B., Sella, Y.: Fairplay - secure two-party computation system. In: Proceedings of the 13th USENIX Security Symposium, pp. 287–302. USENIX, 9–13 August 2004
Mohassel, P., Zhang, Y.: SecureML: a system for scalable privacy-preserving machine learning. In: 2017 IEEE Symposium on Security and Privacy (SP), pp. 19–38 (2017)
Goldreich, O., Micali, S., Wigderson, A.: How to play any mental game. In: Proceedings of the Nineteenth Annual ACM Symposium on Theory of Computing, STOC 1987, New York, ACM (1987)
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 (2015)
Yao, A.C.: Protocols for secure computations. In: 23rd Annual Symposium on Foundations of Computer Science, vol. 1982, pp. 160–164. IEEE (1982)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
6 Appendix
6 Appendix
1.1 6.1 \( \textsf {AES}\text {-}\mathsf{LT}\) with Masked Table [18]
In a table look-up based implementation of the AES standard, the table representing the Sbox is publicly available. Such look-ups happen securely by the key owner who knows all the internal states.Footnote 5 On the other hand, in MPC, the internal states as well as the secret key are secrets which are distributed among participants and therefore it is not possible to perform a table look-up based on secret state information. The idea in [18] is to generate a pair \(( x, \textsf {MaskedTable})\) such that \(x \oplus \textsf {MaskedTable} = \textsf {Sbox}\) in the offline phase and distribute it as secret shares to each participant: \(( \llbracket x \rrbracket , \llbracket \textsf {MaskedTable} \rrbracket )\). Therefore, in MPC, instead of looking up a public entry with a secret internal state, we look up a secret table with a (public) masked internal state. The \(\textsf {MaskedTable}\) generation is described in [18]. We observe that every single Sbox computation requires one pair \((\llbracket x \rrbracket , \llbracket \textsf {MaskedTable} \rrbracket )\). Thus, even though the online phase is a lot faster than other methods, it requires a lot more data to be communicated and stored from the offline phase. The online computations of a single Sbox in \( \textsf {AES}\text {-}\mathsf{LT}\) [18] is shown in Protocol 7.
Offline Phase. For 10 rounds and 16 bytes per round, Protocol 7 must prepare 160 \(\textsf {MaskedTable}\) for a block of AES requiring 48 KBytes of communication during the offline phase [18]. Communicating 160 tables for the online phase requires 410 KBytes per party.
Online Phase. The online phase requirements are as follows:
-
Storage: the protocol needs one masked table per Sbox operation. Each table has 256 \( \mathsf {GF}(2^{40})\)-elements. Thus, to process one full AES block, 410 KBytes of storage are required per participant.
-
Round trip: Per Sbox, we need one round trip of communication between players for a reveal. For the whole AES 160 rounds are required.
-
Communication: Per Sbox, one reveal operation is performed, which requires 10 bytes of communication. Thus, 1600 bytes of communication needed in total for a full AES block.
1.2 6.2 Details of \(\textsf {BDEmbed}\)
In this section, we describe the bit decomposition of an embedded value in MP-SPDZ which is important to understand our optimization techniques given in 4.3. The following algorithm is used to compute \(\textsf {BDEmbed}\) of an embedded secret input \(\llbracket x \rrbracket \). This computation is run in Step 2 in Protocol 3. In total, Protocol 3 requires 13 rounds of communication. This is summarized in Table 4.
-
1.
Take a secret pair \((\langle a \rangle , \langle a' \rangle )\) where \(\langle a' \rangle \) is the output of \(\textsf {InverseBD}\)\(\textsf {Embedding}(a)\) computed during the offline phase.
-
2.
Compute \(\langle \bar{x} \rangle = \langle x \rangle + \langle a \rangle \) and reveal \(\bar{x}\).
-
3.
Compute the bits of the clear value \(\bar{x}\). Call it \(x'\).
-
4.
Compute \(\langle y' \rangle = x' + \langle a' \rangle \)
-
5.
Return \(\langle y \rangle \) which is the composition of \(\langle y' \rangle \).
1.3 6.3 Regarding The Embedding from \( \mathsf {GF}(2^8)\) to \( \mathsf {GF}(2^{40})\)
We further clarify the notation used in Sect. 4 and some aspects of the embedding used, originally introduced in [11]. As previously mentioned, given an element \(x \in \mathsf {GF}(2^8)\), one can map this to an element in \( \mathsf {GF}(2^{40}) \cong \mathsf {GF}((2^8)^5)\), using the irreducible polynomial \(Q(X) = X^{40} + X^{20} + X^{15} + X^{10} +1\). Thus, \(x \in \mathsf {GF}(2^8)\) gets mapped to the element \(X^5+1 \in \mathsf {GF}(2^{40})\). We observe the following equivalences:
It has been observed [11, 17] that this representation can be used to extract the \( \mathsf {GF}(2^8)\) element representation by extracting indeces that are a multiple of 5 in the corresponding \( \mathsf {GF}(2^{40})\) representation. In Sect. 4, we have abused notation and written \(\mathbf {0x20}_{16} = (0010\,0000)_2\) to mean \(X^5 \in \mathsf {GF}(2^{40})\) (as the 5th bit of \(\mathbf {0x20}_{16}\) is set to 1).
Rights and permissions
Copyright information
© 2021 International Financial Cryptography Association
About this paper
Cite this paper
Durak, F.B., Guajardo, J. (2021). Improving the Efficiency of AES Protocols in Multi-Party Computation. In: Borisov, N., Diaz, C. (eds) Financial Cryptography and Data Security. FC 2021. Lecture Notes in Computer Science(), vol 12674. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-64322-8_11
Download citation
DOI: https://doi.org/10.1007/978-3-662-64322-8_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-64321-1
Online ISBN: 978-3-662-64322-8
eBook Packages: Computer ScienceComputer Science (R0)