  Privacy preserving multi-party computation has many applications in areas
such as medicine and online advertisements. In this work, we propose a
framework for distributed, secure machine learning among untrusted individuals.
The framework consists of two parts: a two-step training protocol based on
homomorphic addition and a zero knowledge proof for data validity. By combining
these two techniques, our framework provides privacy of per-user data, prevents
against a malicious user contributing corrupted data to the shared pool,
enables each user to self-compute the results of the algorithm without relying
on external trusted third parties, and requires no private channels between
groups of users. We show how different ML algorithms such as Latent Dirichlet
Allocation, Naive Bayes, Decision Trees etc. fit our framework for distributed,
secure computing.
