piyushS3V3N/piqme

GitHub: piyushS3V3N/piqme

PiQME 是一个基于 CSIDH 的高性能后量子加密工具,用于在量子计算威胁下安全地加密和解密文件。

Stars: 0 | Forks: 0

# PiQME - Pi 量子金属引擎 v1.1.0 ## 概述 PiQME 是一款高性能、跨平台的后量子加密工具。它利用 **交换超奇异同源迪菲-赫尔曼 (CSIDH)** 进行量子安全的密钥交换,并使用 **ChaCha20** 实现大规模并行加密。 ## 平台支持 - **macOS:** 通过 Metal API 提供原生 Apple Silicon 支持。 - **Linux:** 通过 OpenCL 支持 AMD、NVIDIA 和 Intel GPU。 - **CPU 回退:** 为没有兼容 GPU 的系统提供优化的 C++ 回退方案。 - **Windows:** 明确不支持。 ## 核心特性 - **量子安全:** 基于 CSIDH-512 构建,提供了抵御量子计算攻击的基础。 - **硬件无关性:** 自动检测并选择最佳后端(Metal > OpenCL > CPU)。 - **数据高效性:** 内置 **LZ4 压缩**,在加密前减小文件体积并线性化数据。 - **隐私至上:** 通过密码派生密钥确保您的文件私密安全。 ## 快速入门 ### 前置条件 - macOS 或 Linux(推荐 Ubuntu/Debian) - CMake 3.13+(`-B` 标志所需) - LZ4 库(`brew install lz4` 或 `apt-get install liblz4-dev`) - OpenCL 驱动(用于 Linux GPU 支持) ### 安装与构建 **一键自动构建(现代 CMake):** ``` cmake -S . -B build && cmake --build build ``` **分步构建:** ``` # re, "binaries" is often translated. Let's see the example: 'API Reference' -> 'API 参考', so 'API' is kept, 'Reference' is translated. Similarly, here, "binaries" might be translated. cmake -S . -B build # - "All binaries" -> "所有二进制文件" or "所有二进制程序". cmake --build build ``` 这将生成 `piqme` 二进制文件,并且在 Apple 系统上,会在 `build/` 文件夹内生成所需的 `kernel.metallib`。 ### 用法 ``` # - "are located in" -> "位于". ./build/piqme enc sensitive_doc.pdf ./build/piqme dec sensitive_doc.pdf.piqme ``` ## 安全披露 本工具是 CSIDH-512 的高性能实现。尽管 CSIDH 是后量子椭圆曲线密码学的主要候选方案,但在更广泛的密码学界中仍被视为实验性技术。用于高风险安全场景时,应配合标准的分层加密(例如 PGP)。 ## 作者 **Piyush Parashar** ## 许可证 本项目根据 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
标签:Bash脚本, C++, ChaCha20, CMake, CSIDH, LZ4压缩, Metal API, OpenCL, Veh, 加密工具, 后量子密码学, 密码学, 密钥交换, 并行加密, 手动系统调用, 数据压缩, 数据擦除, 文件加密, 硬件加速, 量子安全, 高性能计算