#加密解密 #文件加密 #解密 #加速 #加密 #并行

app hermetica

硬件加速的文件加密/解密

1 个不稳定版本

0.1.3 2024年7月12日
0.1.2 2024年7月12日
0.1.1 2024年7月12日
0.1.0 2024年7月12日

#337命令行工具

Download history 203/week @ 2024-07-09 35/week @ 2024-07-23

238 每月下载量

GPL-3.0-only

1MB
769

Hermetica

硬件加速的文件加密和解密

概述

Hermetica 是一个高性能的 Rust 应用程序,用于快速文件加密和解密。它利用硬件加速和高效的线程多路复用来最大化所有可用 CPU 核心的性能。

重要安全免责声明:Hermetica 使用自定义的从头开始实现的 AES-GCM。它尚未经过正式的安全审计,不推荐在没有彻底审查和测试的情况下用于生产或安全关键的应用程序。

主要功能

  • 使用 x86 AES-NIPCLMULQDQ 指令集的硬件加速
  • 利用所有可用 CPU 核心的非常高效的线程多路复用
  • Rust 和 x86 汇编的无缝集成以获得最佳性能

技术细节

  • 算法: AES-GCM
  • 硬件要求:支持 AES-NIPCLMULQDQ 的 x86 处理器
  • 使用的工具
    • Rust 用于应用程序逻辑和安全并发
    • x86 汇编用于性能关键型加密操作
  • 并发模型: Rust 的 std::thread 用于低开销并行处理

性能

Hermetica 是为速度和效率而设计的

  • 充分利用所有可用的 CPU 线程进行并行处理
  • 专用指令集显著优于纯软件实现
  • 性能比基于 Rayon 的并行性快几个数量级
    • 对于这个特定用例,Rayon 没有带来性能改进
  • 速度受限于磁盘 I/O 操作
    • 加密操作高度优化,密集计算不是限制因素

入门

  1. 运行 cargo install hermetica

用法

Hermetica 提供简单的命令行操作用于文件加密和解密

  • 加密: hermetica -e <文件>
  • 解密: hermetica -d <文件>

限制和注意事项

  • 仅与支持AES-NIPCLMULQDQ指令的x86处理器兼容
  • 未经彻底审查和测试,不适合用于生产或安全关键应用

许可证

本项目采用GNU通用公共许可证v3.0(GPLv3)。有关详细信息,请参阅LICENSE文件。

依赖项

~4–17MB
~177K SLoC