Secure Machine Learning Research with CrypTen

Source: Deep Learning on Medium

Secure Machine Learning Research with CrypTen

The new release of PyTorch includes some interesting open source projects for deep learning researchers and developers. One of the more interesting projects is CrypTen. Data privacy, especially in healthcare, is one of the big challenges of modern machine learning applications. In order to build machine learning models, researchers need to have complete access to datasets that often contain sensitive data. With CrypTen, researchers can create models built on Pytorch that work with encrypted datasets. CrypTen enables machine learning researchers, who may not be cryptography experts, to easily experiment with machine learning models using secure computing techniques.

How CrypTen works

CrypTen currently implements a cryptographic method called secure multiparty computation (MPC), with future plans to add support for homomorphic encryption and secure enclaves in future releases.

MPC example

MPC encrypts information by diving data between multiple parties, who can each perform calculations on their share but are not able to read the original data. Each party then computes. When the outputs are combined, the result is identical to the result of performing the calculation on the data directly. Since party A and Party B do not know the end result, they can not deduce the original data point.

CrypTensors encrypt data using familiar PytTorch syntax

Crypten definitely has some benefits in the current privacy library space. One benefit is that it is PyTorch based. Develpers using CrypTen have access to the entire PyTorch stack and it has been optimized for machine learning without requiring any special changes. Another benefit is that CrypTen was built to address privacy in real world machine learning scenarios. The framework supports privacy across different structures ranging from basic linear models to complex neural networks. Tutorials on how to install and use CrypTen can be found here.