  We introduce a novel method and implementation architecture to train neural
networks which preserves the confidentiality of both the model and the data.
Our method relies on homomorphic capability of lattice based encryption scheme.
Our procedure is optimized for operations on packed ciphertexts in order to
achieve efficient updates of the model parameters. Our method achieves a
significant reduction of computations due to our way to perform multiplications
and rotations on packed ciphertexts from a feedforward network to a
back-propagation network. To verify the accuracy of the training model as well
as the implementation feasibility, we tested our method on the Iris data set by
using the CKKS scheme with Microsoft SEAL as a back end. Although our test
implementation is for simple neural network training, we believe our basic
implementation block can help the further applications for more complex neural
network based use cases.

Cryptography and Security