1. A method for recognizing a speech unit stored at a client using hidden Markov models (HMMs) stored at a server, each HMM corresponds to a unit of recognizable speech, wherein the speech unit is represented as feature vectors, and wherein each feature vector is partitioned into two random additive shares such that the server receives only one random additive share from the client, the method comprising the steps of: determining iteratively by the server, in response to receiving a random additive share of each feature vector, an additive share of a likelihood of the speech unit with respect to the each HMM using at least one secure multi-party computation protocol to produce additive shares of likelihoods of units of recognizable speech, wherein the secure multi-party computation protocol uses as inputs the two random additive shares of a corresponding feature vector, each of the two random additive shares is provided by the client and by the server respectively; and transmitting the additive shares of the likelihoods for recognizing the speech unit.