diff --git a/Gemfile b/Gemfile index d5810e3..1059778 100644 --- a/Gemfile +++ b/Gemfile @@ -5,3 +5,5 @@ gem "jekyll", "~> 4.3.3" # installed by `gem jekyll` gem "just-the-docs", "0.8.1" # pinned to the current release # gem "just-the-docs" # always download the latest release + +gem "jekyll-redirect-from", "0.16.0" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index f6571c4..f572f3f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -34,10 +34,15 @@ GEM webrick (~> 1.7) jekyll-include-cache (0.2.1) jekyll (>= 3.7, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) jekyll-sass-converter (3.0.0) sass-embedded (~> 1.54) jekyll-seo-tag (2.8.0) jekyll (>= 3.8, < 5.0) + jekyll-target-blank (2.0.2) + jekyll (>= 3.0, < 5.0) + nokogiri (~> 1.10) jekyll-watch (2.2.1) listen (~> 3.0) just-the-docs (0.8.1) @@ -54,9 +59,14 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.4.0) + nokogiri (1.16.3-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.3-x86_64-linux) + racc (~> 1.4) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (5.0.4) + racc (1.7.3) rake (13.1.0) rb-fsevent (0.11.2) rb-inotify (0.10.1) @@ -79,6 +89,8 @@ PLATFORMS DEPENDENCIES jekyll (~> 4.3.3) + jekyll-redirect-from (= 0.16.0) + jekyll-target-blank (= 2.0.2) just-the-docs (= 0.8.1) BUNDLED WITH diff --git a/_config.yml b/_config.yml index faa6eaa..055098b 100644 --- a/_config.yml +++ b/_config.yml @@ -1,8 +1,22 @@ -title: Just the Docs Template -description: A starter template for a Jeykll site using the Just the Docs theme! +title: zkFHE +description: A collection of ressources on combining fully homomorphic encryption and zero-knowledge proofs for flexible and robust computation on encrypted data fit for the real world. theme: just-the-docs +color_scheme: zkfhe_light -url: https://just-the-docs.github.io +url: https://zkFHE.github.io +logo: "/assets/images/zkFHE.png" +favicon_ico: "/assets/images/favicon.ico" -aux_links: - Template Repository: https://github.com/just-the-docs/just-the-docs-template +search_enabled: true + +mermaid: + version: "10.9.0" + +ga_tracking: G-F930FL5DGM +ga_tracking_anonymize_ip: true + +plugins: + - jekyll-redirect-from + +whitelist: + - jekyll-redirect-from \ No newline at end of file diff --git a/_sass/color_schemes/custom/setup.scss b/_sass/color_schemes/custom/setup.scss new file mode 100644 index 0000000..8ce30f2 --- /dev/null +++ b/_sass/color_schemes/custom/setup.scss @@ -0,0 +1,2 @@ +$link-color: rgba(144,0,132,1); +$link-gradient: linear-gradient(20deg, rgba(11,0,212,1) 0%, $link-color 100%); \ No newline at end of file diff --git a/_sass/color_schemes/zkfhe_light.scss b/_sass/color_schemes/zkfhe_light.scss new file mode 100644 index 0000000..313b0c8 --- /dev/null +++ b/_sass/color_schemes/zkfhe_light.scss @@ -0,0 +1,17 @@ +@import "./color_schemes/light"; +@import "./custom/setup.scss"; + +a { + background-image: $link-gradient !important; + background-clip: text !important; + color: transparent !important; +} + +a:not([class]) { + text-decoration-color: $link-color !important; +} + +body { + font-family: 'Helvetica Neue' !important; + font-weight: 400; +} \ No newline at end of file diff --git a/assets/images/Homomorphic-MCSS.pptx b/assets/images/Homomorphic-MCSS.pptx new file mode 100644 index 0000000..12e78a2 Binary files /dev/null and b/assets/images/Homomorphic-MCSS.pptx differ diff --git a/assets/images/favicon.ico b/assets/images/favicon.ico new file mode 100644 index 0000000..5a6f9dd Binary files /dev/null and b/assets/images/favicon.ico differ diff --git a/assets/images/zkFHE.png b/assets/images/zkFHE.png new file mode 100644 index 0000000..faa21b0 Binary files /dev/null and b/assets/images/zkFHE.png differ diff --git a/content/blog/fhe_arithmetization.md b/content/blog/fhe_arithmetization.md new file mode 100644 index 0000000..246e3a2 --- /dev/null +++ b/content/blog/fhe_arithmetization.md @@ -0,0 +1,5 @@ +--- +title: Arithmetizing FHE in Circom +parent: Blog +redirect_to: https://pps-lab.com/blog/fhe_arithmetization/ +--- \ No newline at end of file diff --git a/content/blog/fhew_tfhe.md b/content/blog/fhew_tfhe.md new file mode 100644 index 0000000..d7358b4 --- /dev/null +++ b/content/blog/fhew_tfhe.md @@ -0,0 +1,5 @@ +--- +title: A primer on the FHEW & TFHE schemes +parent: Blog +redirect_to: https://pps-lab.com/blog/fhew_tfhe/ +--- \ No newline at end of file diff --git a/content/blog/index.md b/content/blog/index.md new file mode 100644 index 0000000..58dac7a --- /dev/null +++ b/content/blog/index.md @@ -0,0 +1,6 @@ +--- +title: Blog +layout: default +nav_order: 1 +has_children: true +--- \ No newline at end of file diff --git a/content/code/circomlib-fhe.md b/content/code/circomlib-fhe.md new file mode 100644 index 0000000..7132268 --- /dev/null +++ b/content/code/circomlib-fhe.md @@ -0,0 +1,5 @@ +--- +title: circomlib-FHE +parent: Code +redirect_to: https://github.com/zkFHE/circomlib-fhe +--- \ No newline at end of file diff --git a/content/code/index.md b/content/code/index.md new file mode 100644 index 0000000..c47b8d0 --- /dev/null +++ b/content/code/index.md @@ -0,0 +1,7 @@ +--- +title: Code +layout: default +nav_order: 2 +has_children: true +redirect_to: https://github.com/zkFHE +--- \ No newline at end of file diff --git a/content/code/zkOpenFHE.md b/content/code/zkOpenFHE.md new file mode 100644 index 0000000..37c9bd1 --- /dev/null +++ b/content/code/zkOpenFHE.md @@ -0,0 +1,5 @@ +--- +title: zkOpenFHE +parent: Code +redirect_to: https://github.com/zkFHE/zkOpenFHE +--- \ No newline at end of file diff --git a/content/ressources/index.md b/content/ressources/index.md new file mode 100644 index 0000000..529d62c --- /dev/null +++ b/content/ressources/index.md @@ -0,0 +1,6 @@ +--- +title: Ressources +layout: default +nav_order: 3 +has_children: true +--- \ No newline at end of file diff --git a/content/ressources/vFHE.md b/content/ressources/vFHE.md new file mode 100644 index 0000000..d943945 --- /dev/null +++ b/content/ressources/vFHE.md @@ -0,0 +1,5 @@ +--- +title: Verifiable FHE [FHE.org'23] +parent: Ressources +redirect_to: https://www.youtube.com/watch?v=8bVHYi7avCU +--- \ No newline at end of file diff --git a/index.md b/index.md index ca0c545..b442566 100644 --- a/index.md +++ b/index.md @@ -1,35 +1,28 @@ --- title: Home layout: home +nav_order: 1 --- -This is a *bare-minimum* template to create a Jekyll site that uses the [Just the Docs] theme. You can easily set the created site to be published on [GitHub Pages] – the [README] file explains how to do that, along with other details. +This is a collections of ressources on combining fully homomorphic encryption and zero-knowledge proofs to achieve flexible and robust computation on encrypted data fit for real-world deployments. -If [Jekyll] is installed on your computer, you can also build and preview the created site *locally*. This lets you test changes before committing them, and avoids waiting for GitHub Pages.[^1] And you will be able to deploy your local build to a different platform than GitHub Pages. +Browse our ressources (code, blog, and presentations) to learn more about what we're trying to solve, what we've done, and the challenges that remain. -More specifically, the created site: +## What are we trying to solve? -- uses a gem-based approach, i.e. uses a `Gemfile` and loads the `just-the-docs` gem -- uses the [GitHub Pages / Actions workflow] to build and publish the site on GitHub Pages +Fully Homomorphic Encryption (FHE) has been dubbed the "Holy Grail of Cryptography"[^1], as it enables (arbitrary!) computations to be performed on encrypted data. +However, all known standard FHE schemes break catastrophically when used in realistic threat models like the ones we expect from the real world. If you want to learn more, read our blog post "[FHE's dirty little secret -- A decade of reaction attacks](blog/fhe_dirty_little_secret.md)". -Other than that, you're free to customize sites that you create with this template, however you like. You can easily change the versions of `just-the-docs` and Jekyll it uses, as well as adding further plugins. +We believe that FHE holds tremendous potential to enable more secure and private applications, and we really want to see FHE deployed in the wild. +That's why we're trying to tackle this challenge, both with theoretical work and practically-oriented solutions. -[Browse our documentation][Just the Docs] to learn more about how to use this theme. +## Who we are -To get started with creating a site, simply: +We are a loose collective that originally started in the [privacy-preserving systems lab](https://pps-lab.com) at [ETH Zurich](https://ethz.ch/en.html). Core contributors include: +- [Christian Knabenhans](https://cknabs.github.io) (EPFL), maintainer +- [Alexander Viand](https://pps-lab.com/people/alexanderviand/) (Intel Labs) +- [Anwar Hithnawi](https://pps-lab.com/people/anwarhithnawi/) (ETH Zurich) +- [Antonio Merino Gallardo](https://amerigal.github.io/) (ETH Zurich) -1. click "[use this template]" to create a GitHub repository -2. go to Settings > Pages > Build and deployment > Source, and select GitHub Actions - -If you want to maintain your docs in the `docs` directory of an existing project repo, see [Hosting your docs from an existing project repo](https://github.com/just-the-docs/just-the-docs-template/blob/main/README.md#hosting-your-docs-from-an-existing-project-repo) in the template README. - ----- - -[^1]: [It can take up to 10 minutes for changes to your site to publish after you push the changes to GitHub](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll#creating-your-site). - -[Just the Docs]: https://just-the-docs.github.io/just-the-docs/ -[GitHub Pages]: https://docs.github.com/en/pages -[README]: https://github.com/just-the-docs/just-the-docs-template/blob/main/README.md -[Jekyll]: https://jekyllrb.com -[GitHub Pages / Actions workflow]: https://github.blog/changelog/2022-07-27-github-pages-custom-github-actions-workflows-beta/ -[use this template]: https://github.com/just-the-docs/just-the-docs-template/generate +--- +[^1]: It is surprisingly hard to figure out where the "holy grail" characterization first appeared; the first written mention seems to be by Micciancio in [_Communications of the ACM (2010)_](https://dl.acm.org/doi/10.1145/1666420.1666445). \ No newline at end of file