Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
30 lines (27 loc) · 8.44 KB
/
Copy pathindex.html
File metadata and controls
30 lines (27 loc) · 8.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html><html lang=""><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CrypTen · A research tool for secure machine learning in PyTorch</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="A research tool for secure machine learning in PyTorch"/><meta property="og:title" content="CrypTen · A research tool for secure machine learning in PyTorch"/><meta property="og:type" content="website"/><meta property="og:url" content="https://facebookresearch.github.io/CrypTen//CrypTen/"/><meta property="og:description" content="A research tool for secure machine learning in PyTorch"/><meta property="og:image" content="https://facebookresearch.github.io/CrypTen//CrypTen/img/undraw_online.svg"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://facebookresearch.github.io/CrypTen//CrypTen/img/undraw_tweetstorm.svg"/><link rel="shortcut icon" href="/CrypTen/img/crypten-icon.png"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="js/code-block-buttons.js"></script><script type="text/javascript" src="/js/redirect.js"></script><script src="/CrypTen/js/scrollSpy.js"></script><link rel="stylesheet" href="/CrypTen/css/main.css"/><script src="/CrypTen/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/CrypTen/"><img class="logo" src="/CrypTen/img/crypten-logo-full-white.png" alt="CrypTen"/><h2 class="headerTitleWithLogo">CrypTen</h2></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="https://github.com/facebookresearch/crypten" target="_blank">GitHub</a></li><li class=""><a href="https://crypten.readthedocs.io/en/latest/" target="_blank">Docs</a></li></ul></nav></div></header></div></div><div class="navPusher"><div><div class="homeContainer"><div class="homeSplashFade"><div class="wrapper homeWrapper"><div class="inner"><h2 class="projectTitle"><img src="/CrypTen/img/crypten-logo-full.png" alt="CrypTen"/><small>A research tool for secure machine learning in PyTorch</small></h2><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="https://github.com/facebookresearch/crypten">GitHub</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="https://crypten.readthedocs.io/en/latest/">Docs</a></div></div></div></div><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="#try">Get Started</a></div></div></div></div></div></div></div></div><div class="mainContainer"><div class="container paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><h2><div><span><p>Secure Machine Learning</p>
</span></div></h2><div><span><p>CrypTen is a new framework built on PyTorch to facilitate research in secure and privacy-preserving machine learning. CrypTen enables machine learning researchers, who may not be cryptography experts, to easily experiment with machine learning models using secure computing techniques. CrypTen lowers the barrier for machine learning researchers by integrating with the common PyTorch API.</p>
</span></div></div></div><div class="blockElement alignCenter fourByGridBlock imageAlignBottom"><div class="blockContent"><div></div></div><div class="blockImage"><img src="/CrypTen/img/crypten-diagram.jpg"/></div></div></div></div></div><div class="container darkBackground paddingBottom paddingTop" id="try"><div class="wrapper"><div class="gridBlock"><div class="blockElement alignCenter twoByGridBlock"><div class="blockContent"><h2><div><span><p>Installation Script</p>
</span></div></h2><div><span><p>Please see the <a href="https://github.com/facebookresearch/crypten#installing-crypten">CrypTen Docs</a>.</p>
<pre><code class="hljs css language-bash">
conda create -n crypten python=3.7
conda activate crypten
conda install pytorch torchvision -c pytorch
<span class="hljs-comment"># clone</span>
git <span class="hljs-built_in">clone</span> https://github.com/facebookresearch/CrypTen.git
<span class="hljs-built_in">cd</span> CrypTen; pip install -e .
</code></pre>
</span></div></div></div><div class="blockElement alignCenter twoByGridBlock"><div class="blockContent"><h2><div><span><p>CrypTensors</p>
</span></div></h2><div><span><p>CrypTensors encrypt data using familiar PyTorch syntax. For example:</p>
<pre><code class="hljs css language-python"> <span class="hljs-comment"># PyTorch </span>
x = torch.tensor([<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>])
y = torch.tensor([<span class="hljs-number">4</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>])
z = x + y
<span class="hljs-comment"># CrypTen</span>
x_enc = crypten.cryptensor([<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>])
y_enc = crypten.cryptensor([<span class="hljs-number">4</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>])
z_enc = x_enc + y_enc```</code></pre>
</span></div></div></div></div></div></div><div style="text-align:center"><p background="dark" id="tutorials">For more, checkout the<a href="https://github.com/facebookresearch/CrypTen#how-crypten-works"> Tutorials</a></p></div><div class="productShowcaseSection" style="text-align:left" id="tasks"><br/><br/><h2>How CrypTen Works</h2></div><div class="container paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><h2><div><span><p>Overview</p>
</span></div></h2><div><span><p>CrypTen currently implements a cryptographic method called secure multiparty computation (MPC), and we expect to add support for homomorphic encryption and secure enclaves in futue releases. It works in the “honest but curious” model (assumes the absence of malicious and adversarial agents) that is usedfrequently in cryptographic research, but additional safeguards must be added before Crypten is ready to be used in production settings</p>
</span></div></div></div><div class="blockElement alignCenter fourByGridBlock imageAlignBottom"><div class="blockContent"><div></div></div><div class="blockImage"><img src="/CrypTen/img/crypten-pytorch-diagram.gif"/></div></div></div></div></div><div class="container paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement alignCenter fourByGridBlock imageAlignBottom"><div class="blockContent"><div></div></div><div class="blockImage"><img src="/CrypTen/img/crypten-multiplication.png"/></div></div><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><h2><div><span><p>Multi-Party Compute: An Example</p>
</span></div></h2><div><span><p>MPC encrypts information by dividing data between multiple parties, who can each perform calculations on their share (in this example, 5 and 7) but are not able to read the original data (12). <br> <br>Each party then computes (“multiply by 3”). When the outputs are combined, the result (36) 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 (36) they can not deduce the original data point (12).</p>
</span></div></div></div></div></div></div><div class="container paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><div></div></div></div><div class="blockElement alignCenter fourByGridBlock"><div class="blockContent"><div></div></div></div></div></div></div></div></div><footer class="nav-footer" id="footer"><a href="https://opensource.facebook.com/" target="_blank" rel="noreferrer noopener" class="fbOpenSource" style="text-align:center"><img src="/CrypTen/img/oss_logo.png" alt="Facebook Open Source" width="150" height="45"/></a><section class="copyright">Copyright © 2019 Facebook</section></footer></div></body></html>