  In the classical multi-party computation setting, multiple parties jointly
compute a function without revealing their own input data. We consider a
variant of this problem, where the input data can be shared for machine
learning training purposes, but the data are also encrypted so that they cannot
be recovered by other parties. We present a rotation based method using flow
model, and theoretically justified its security. We demonstrate the
effectiveness of our method in different scenarios, including supervised secure
model training, and unsupervised generative model training. Our code is
available at https://github.com/ duchenzhuang/flowencrypt.
