首页
/ Cingulata 的项目扩展与二次开发

Cingulata 的项目扩展与二次开发

2025-05-30 02:26:39作者:裘旻烁

Cingulata 是一个开源项目,它提供了一套编译器工具链和运行时环境(RTE),使得 C++ 程序能够在加密数据上运行,利用全同态加密技术来保护数据的隐私。

1、项目的基础介绍

Cingulata 的目标是让开发者能够在不牺牲数据隐私的情况下,对加密数据进行处理和分析。它的核心是一个编译器工具链,这个工具链可以将 C++ 程序转换成能够在加密数据上执行的形式。

2、项目的核心功能

项目的核心功能包括:

  • 支持全同态加密算法,目前支持 B/FV 方案和 TFHE 库。
  • 提供编译器和运行时环境,使得开发人员可以在不接触原始数据的情况下,对加密数据进行处理。
  • 通过编译器优化和运行时支持,提高加密数据处理的速度和效率。

3、项目使用了哪些框架或库?

Cingulata 项目主要使用了以下框架或库:

  • C++:作为主要的编程语言,用于开发编译器和运行时环境。
  • CMake:用于构建系统,管理项目的编译过程。
  • Docker:用于创建可重复的开发环境和容器化应用。

4、项目的代码目录及介绍

项目的代码目录结构如下:

  • circuit/:包含与加密电路相关的代码。
  • include/:包含项目所需的头文件。
  • cmake/:包含 CMake 构建脚本和相关文件。
  • common/:包含通用工具和库。
  • deco/:可能包含与解密操作相关的代码。
  • experiments/:包含实验性质的代码和测试。
  • optim/:包含优化相关的代码。
  • runtime/:包含运行时环境的代码。
  • submodules/:包含项目依赖的子模块。
  • tests/:包含单元测试和集成测试代码。
  • .dockerignore:指定 Docker 构建时需要忽略的文件和目录。
  • .gitignore:指定 Git 忽略的文件和目录。
  • .gitlab-ci.yml:定义 GitLab CI/CD 的配置文件。
  • .gitmodules:用于声明 Git 子模块。
  • CMakeLists.txt:CMake 的主配置文件。
  • Dockerfile.bfvDockerfile.tfhe:分别为 B/FV 方案和 TFHE 库构建 Docker 镜像的文件。
  • LICENSE.txt:项目的许可文件。
  • README.md:项目的说明文件。

5、对项目进行扩展或者二次开发的方向

  • 算法优化:对现有的全同态加密算法进行优化,提高其性能和效率。
  • 新的加密方案支持:增加对其他全同态加密方案的支持,扩大项目的应用范围。
  • 工具链增强:提升编译器工具链的功能,例如增加新的编译优化策略。
  • 运行时环境扩展:扩展运行时环境,以支持更多的平台和操作系统。
  • API 和库的开发:开发更加友好和易用的 API,使得其他开发人员更容易集成和使用 Cingulata。
  • 文档和教程完善:完善项目的文档和教程,帮助新用户更快地上手和使用项目。
登录后查看全文
热门项目推荐