Protecting the privacy of input data is of growing importance as machine
learning methods reach new application domains. In this paper, we provide a
unified training and inference framework for large DNNs while protecting input
privacy and computation integrity. Our approach called DarKnight uses a novel
data blinding strategy using matrix masking to create input obfuscation within
a trusted execution environment (TEE). Our rigorous mathematical proof
demonstrates that our blinding process provides information-theoretic privacy
guarantee by bounding information leakage. The obfuscated data can then be
offloaded to any GPU for accelerating linear operations on blinded data. The
results from linear operations on blinded data are decoded before performing
non-linear operations within the TEE. This cooperative execution allows
DarKnight to exploit the computational power of GPUs to perform linear
operations while exploiting TEEs to protect input privacy. We implement
DarKnight on an Intel SGX TEE augmented with a GPU to evaluate its performance.