1. A method for classifying data to determine hidden states of a machine, comprising: acquiring, by a client, data from the machine, wherein the data include samples; permuting randomly the data, according to a permutation, to generate permuted data; inserting, by the client, chaff in the permuted data at locations to generate private data; transmitting, by the client to the server, the private data; transmitting, by the client to the third-party the locations of the chaff and a permutation ordering; classifying, by the server, each sample of the private data independently according to a hidden Markov model (HMM) to obtain permuted noisy estimates of states of the machine and the chaff; transmitting, by the server to the third-party, the permuted noisy estimates of the states and the chaff; removing, by the third-party, the chaff using the locations; inverting, by the third-party after removing the chaff, the permuted noisy estimates using the permutation ordering to obtain unpermuted noisy estimates of the states of the machine.