{"id":47444068,"url":"https://github.com/JuliaCrypto/ToyFHE.jl","last_synced_at":"2026-04-06T13:00:55.615Z","repository":{"id":83500477,"uuid":"203917970","full_name":"JuliaCrypto/ToyFHE.jl","owner":"JuliaCrypto","description":"Toy implementation of FHE algorithms","archived":false,"fork":false,"pushed_at":"2020-06-06T04:20:29.000Z","size":255,"stargazers_count":97,"open_issues_count":3,"forks_count":13,"subscribers_count":13,"default_branch":"master","last_synced_at":"2026-03-31T06:34:04.522Z","etag":null,"topics":["bfv","bgv","ckks","cryptography","encryption","homomorphic-encryption","i-see-nothing-nothing","julia","julialang","readability"],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JuliaCrypto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-23T03:35:25.000Z","updated_at":"2026-03-15T16:11:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"5c4f4646-382e-472e-b4c5-e8ca09692715","html_url":"https://github.com/JuliaCrypto/ToyFHE.jl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JuliaCrypto/ToyFHE.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaCrypto%2FToyFHE.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaCrypto%2FToyFHE.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaCrypto%2FToyFHE.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaCrypto%2FToyFHE.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaCrypto","download_url":"https://codeload.github.com/JuliaCrypto/ToyFHE.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaCrypto%2FToyFHE.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31473271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T08:36:52.050Z","status":"ssl_error","status_checked_at":"2026-04-06T08:36:51.267Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bfv","bgv","ckks","cryptography","encryption","homomorphic-encryption","i-see-nothing-nothing","julia","julialang","readability"],"created_at":"2026-03-23T06:00:59.902Z","updated_at":"2026-04-06T13:00:55.592Z","avatar_url":"https://github.com/JuliaCrypto.png","language":"Julia","funding_links":[],"categories":["Cryptography"],"sub_categories":["Homomorphic Encryption"],"readme":"# ToyFHE.jl - A toy implementation of FHE algorithms\n\n\u003e I frequently hear music in the heart of noise. - George Gershwin\n\n\n| **Documentation**                                                               | **Build Status**                                                                                |\n|:-------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------:|\n| [![][docs-dev-img]][docs-dev-url] | [![][travis-img]][travis-url] [![][codecov-img]][codecov-url] |\n\n## Installation\n\nThis package currently depends on a number of modifications\nto upstream packages. The included `Manifest.toml` lists\nknown working versions for these packages. To use those\nversions, first clone this package to a location of your\nchoice:\n\n```\n$ git clone https://github.com/JuliaCrypto/ToyFHE.jl ToyFHE\n```\n\nThen load up the project within Julia:\n```\n$ julia --project=ToyFHE\n```\n\nIf you do not have the correct versions of the dependencies installed, you may be asked to install them via `instantiate`:\n```julia\njulia\u003e using Pkg\n\njulia\u003e Pkg.instantiate()\n```\n\n## Examples\n\n```julia\njulia\u003e cd(\"ToyFHE/examples/encrypted_mnist\")\n\njulia\u003e include(\"train.jl\")\n\njulia\u003e include(\"infer.jl\")\n```\n\n## Documentation\n\n- [**DEVEL**][docs-dev-url] \u0026mdash; *documentation of the in-development version.*\n\n## Features\n\n**WARNING**: The code in this repository is in an extremely alpha quality. You\nmay want to check back in a little bit once things have been cleaned up.\n\nThis repository is a playground for exploring homomorphic encryption protocols.\nThe design goal is ease of use and ease of readability over absolute performance\nor suitability for production HE applications. The goal of this code is to aid\nin research and the quick exploration of HE applications.\n\nThis package currently contains (partial) implementations of the following HE\nschemes:\n\n- Brakerski/Fan-Vercauteren (BFV)\n- Brakerski-Gentry-Vaikuntanathan (BGV)\n- Cheon-Kim-Kim-Song (CKKS)\n\nBoth power-of-two and general cyclotomic rings are supported for homomorphic\noperations. The former is based on a pure Julia FFT implementation and thus\nlikely suitable for multi-threading and GPU applications with little additional\neffort (those this has not been done so far). The latter is based on the\n[Nemo](http://nemocas.org/) stack of Julia packages, which are ultimately using\n[FLINT](http://www.flintlib.org/) as the execution engine.\n\n# Disclaimer\n## Performance notice\n\nThis package has not been optimized for performance. The only implementated\nperformance optimizations are those that were absolutely required to perform\nthe desired algorithmic exploration. PRs are welcome to improve performance\n(as long as readability is preserved), but such work is not currently on the\nroadmap.\n\n## Security Notice\n\nThis package currently has known issues (weak RNG, known timing side channels)\nthat make it unsuitable for use other than for algorithmic research. DO NOT USE\nFOR PRODUCTION APPLICATIONS (I mean it). As with the performance consideration,\nthese issues are addressable, but not currently on the roadmap.\n\n## Omnibus\n\nI am not a cryptographer. I am not your cryptographer. This code is a toy.\nThis code is not intended for production use. This code has not been audited\nor validated. Consult a professional cryptographer, before using cryptography.\nNo warranty (see LICENSE). Don't sue me.\n\n\n[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg\n[docs-dev-url]: https://juliacrypto.github.io/ToyFHE.jl/dev\n\n[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg\n[docs-stable-url]: https://juliacrypto.github.io/ToyFHE.jl/stable\n\n[travis-img]: https://travis-ci.org/JuliaCrypto/ToyFHE.jl.svg?branch=master\n[travis-url]: https://travis-ci.org/JuliaCrypto/ToyFHE.jl\n\n[codecov-img]: https://codecov.io/gh/JuliaCrypto/ToyFHE.jl/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/JuliaCrypto/ToyFHE.jl\n\n[issues-url]: https://github.com/JuliaCrypto/ToyFHE.jl/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJuliaCrypto%2FToyFHE.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJuliaCrypto%2FToyFHE.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJuliaCrypto%2FToyFHE.jl/lists"}