How to securely compute AES where the key is splitted across different servers? How can we use secure multiparty computation in evaluating one AES circuit, where the key would not be stored at one computer instead it would be divided into pieces and given to multiple servers. Is there any good reference to follow ?
If you only use secret sharing, then upon reconstruction the key could be stolen. Therefore, secure multiparty computation can be used. There are many different methods, depending on your setting. If you are interested in two-party computation with semi-honest adversaries then simple Yao works (e.g., http://eprint.iacr.org/2015/751.pdf); if you are interested in two-party computation with malicious adversaries and a single execution then http://eprint.iacr.org/2016/762.pdf is a good option; if you are interested in two-party computation with malicious adversaries and many executions then http://eprint.iacr.org/2015/987.pdf or http://eprint.iacr.org/2016/632.pdf; if you are interested in 3 party secure computation for malicious adversaries and with at most one party corrupted then http://eprint.iacr.org/2015/931.pdf is easy to implement but you can get much faster with http://eprint.iacr.org/2016/944.pdf; if you are interested in 3 party secure computation for semi-honest adversaries and with at most one corrupted then http://eprint.iacr.org/2016/768.pdf is by far the fastest; if you are interested in multiparty (more than 3 parties) and semi-honest then http://eprint.iacr.org/2011/257.pdf or http://eprint.iacr.org/2016/1066.pdf; if you are interested in multiparty (more than 3 parties) and malicious then http://eprint.iacr.org/2016/505.pdf. All of these are the state-of-the-art for their settings (but there are many other options) and the state-of-the-art is likely to change very quickly.