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

kvsp 的项目扩展与二次开发

2025-06-18 07:22:04作者:裴麒琰

项目的基础介绍

KVSP(Kyoto Virtual Secure Platform)是一个基于全同态加密(FHE)的虚拟安全平台,它允许用户在不解密的情况下运行加密的 C 语言程序。KVSP 是 VSP(Virtual Secure Platform)的第一个实现,VSP 是一个用于安全多方计算(SMPC)的工具链,旨在保护数据以及在其上评估的函数免受对手的侵害,适用于云计算等安全计算卸载场景。

项目的核心功能

KVSP 的核心功能是提供了一个能够在全同态加密环境下运行的编译器链,使得加密的 C 程序能够在不解密的情况下执行。它包括以下功能:

  • 生成密钥对以进行加密和解密操作。
  • 将 C 程序编译为可以在加密状态下运行的格式。
  • 运行加密程序并控制执行时钟周期。
  • 对执行结果进行解密以获取输出。

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

KVSP 项目使用了以下框架或库:

  • LLVM:一个模块化和可重用的编译器和工具链技术的集合。
  • CUDA:NVIDIA 提供的用于通用计算的并行计算平台和编程模型。
  • cuFHE:一个基于 CUDA 的全同态加密库。

项目的代码目录及介绍

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

kvsp/
├── examples/             # 示例代码
├── kvsp/                 # 主要的 kvsp 工具和库代码
├── llvm-cahp/            # LLVM 编译器后端相关的代码
├── share/                # 公共文件
├── .dockerignore         # Docker 忽略文件
├── .gitignore            # Git 忽略文件
├── .gitmodules           # Git 子模块配置文件
├── Dockerfile            # Docker 容器构建文件
├── LICENSE               # 项目许可证文件
├── Makefile              # 编译规则文件
├── README.md             # 项目说明文件
├── test.sh               # 测试脚本
└── toolbox.sh            # 工具箱脚本

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

  1. 增加新的加密算法:可以在项目中集成更多的加密算法,以提供更广泛的选择。
  2. 优化编译器性能:针对不同架构的处理器优化编译器,提高加密程序的执行效率。
  3. 扩展编程语言支持:目前项目支持 C 语言,可以考虑扩展到其他编程语言。
  4. 改善用户界面:改进命令行工具的用户界面,或者开发图形界面以降低用户的使用门槛。
  5. 集成到现有平台:将 KVSP 集成到云计算平台或其他开发环境中,使其更易于部署和使用。
登录后查看全文
热门项目推荐