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, 加密工具, 后量子密码学, 密码学, 密钥交换, 并行加密, 手动系统调用, 数据压缩, 数据擦除, 文件加密, 硬件加速, 量子安全, 高性能计算