1 个不稳定版本
0.1.3 | 2024年7月12日 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#337 在 命令行工具
238 每月下载量
1MB
769 行
Hermetica
硬件加速的文件加密和解密
概述
Hermetica 是一个高性能的 Rust 应用程序,用于快速文件加密和解密。它利用硬件加速和高效的线程多路复用来最大化所有可用 CPU 核心的性能。
重要安全免责声明:Hermetica 使用自定义的从头开始实现的 AES-GCM。它尚未经过正式的安全审计,不推荐在没有彻底审查和测试的情况下用于生产或安全关键的应用程序。
主要功能
- 使用 x86
AES-NI
和PCLMULQDQ
指令集的硬件加速 - 利用所有可用 CPU 核心的非常高效的线程多路复用
- Rust 和 x86 汇编的无缝集成以获得最佳性能
技术细节
- 算法: AES-GCM
- 硬件要求:支持
AES-NI
和PCLMULQDQ
的 x86 处理器 - 使用的工具
- Rust 用于应用程序逻辑和安全并发
- x86 汇编用于性能关键型加密操作
- 并发模型: Rust 的
std::thread
用于低开销并行处理
性能
Hermetica 是为速度和效率而设计的
- 充分利用所有可用的 CPU 线程进行并行处理
- 专用指令集显著优于纯软件实现
- 性能比基于 Rayon 的并行性快几个数量级
- 对于这个特定用例,Rayon 没有带来性能改进
- 速度受限于磁盘 I/O 操作
- 加密操作高度优化,密集计算不是限制因素
入门
- 运行
cargo install hermetica
用法
Hermetica 提供简单的命令行操作用于文件加密和解密
- 加密:
hermetica -e <文件>
- 解密:
hermetica -d <文件>
限制和注意事项
- 仅与支持
AES-NI
和PCLMULQDQ
指令的x86处理器兼容 - 未经彻底审查和测试,不适合用于生产或安全关键应用
许可证
本项目采用GNU通用公共许可证v3.0(GPLv3)。有关详细信息,请参阅LICENSE文件。
依赖项
~4–17MB
~177K SLoC