Rust In Paris 2026 - 会议
时间: 2026年3月27日,上午8:30 - 下午5:30 地点: 法国巴黎 形式: 现场 + 在线
主要议题
上午场次:
-
Rust 的小惊喜 (waffle)
- 介绍 Rust 的高级特性和技巧,帮助初学者编写更好的代码
- 内容包括:数组重复表达式、Result 收集、循环返回值、const 函数等
-
Rust GCC 后端:原因与方法 (Guillaume Gomez)
- 讲解 Rust 编译器中代码生成后端的实现方式
- 如何优化生成更好的汇编代码
-
如何将 Clippy 运行时间减半 (Alejandra González)
-
从 NAND 门开始构建 CPU (Simon Sapin)
- 从基础物理和半导体开始,逐步构建可用 Rust 编程的系统
- 深入探讨计算机底层工作原理
-
AAA 多人游戏模式遇见 Rust、Tokio 和 WebAssembly (Christoph Lürig)
- 使用 Rust 为浏览器端棋盘游戏实现客户端托管中继架构
- 讲解如何避免异步 Rust 中复杂的所有权模式
下午场次:
-
统一消息总线:模块化单体的异步 Rust (Bertrand Darbon)
- 介绍消息总线模式连接独立模块的架构
- 提升性能和开发体验
-
与 Panic 处理器玩烫手山芋 (Jana Dönszelmann)
- 讨论 Rust 编译器的最新和未来变化
- 介绍"外部可实现项"新特性
-
维护 Rust (Oli Scherer)
-
在 Thunderbird 中实现 Rust 异步操作队列
- Thunderbird 添加 Microsoft Exchange 支持的技术实现
https://www.rustinparis.com/schedule
Concryptor - Rust多线程加密引擎
项目概述
Concryptor是一个用Rust构建的多线程AEAD加密引擎,通过三重缓冲io_uring管道、Rayon并行块处理和汇编优化密码算法实现千兆字节级的文件加密/解密吞吐量。
⚠️ 重要警告
- 实验性软件,目前不建议用于生产环境或关键任务
- 尚未经过正式安全审计或广泛实际测试
- 推荐使用GnuPG、age或OpenSSL等成熟工具保护敏感数据
核心特性
- 双密码支持:AES-256-GCM(硬件AES-NI加速)和ChaCha20-Poly1305
- 并行加密:基于Rayon的多线程处理,利用所有CPU核心
- 三重缓冲io_uring管道:三个缓冲池轮转,同时处理内核I/O和CPU加密
- Argon2id密钥派生:行业标准密码拉伸(默认256 MiB内存,3次迭代)
- 自描述KDF参数:加密文件头中存储内存成本、迭代次数和并行度
- 块索引nonce:TLS 1.3风格的XOR nonce派生,防止块重排攻击
- 头部认证AAD:完整序列化头部包含在每个块的AAD中
- 原地加密:最小化热循环中的内存分配
- 密码清零:使用后安全擦除密钥和密码
- O_DIRECT + 扇区对齐:4 KiB对齐启用直接I/O,绕过内核页缓存
性能基准
测试环境:AMD Ryzen 5 5600X (6核/12线程),16 GiB DDR4-2666
| 文件大小 | AES-256-GCM加密 | ChaCha20加密 | AES-256-GCM解密 | ChaCha20解密 |
|---|---|---|---|---|
| 64 KiB | 244 MiB/s | 233 MiB/s | 233 MiB/s | 234 MiB/s |
| 1 MiB | 1.08 GiB/s | 882 MiB/s | 1010 MiB/s | 876 MiB/s |
| 16 MiB | 1.10 GiB/s | 923 MiB/s | 1.06 GiB/s | 988 MiB/s |
| 256 MiB | 1.00 GiB/s | 1015 MiB/s | 1.01 GiB/s | 1.02 GiB/s |
性能特点
- AES-256-GCM在小文件上更快(利用AES-NI硬件指令)
- 峰值吞吐量出现在1-16 MiB文件(Rayon并行效率最高)
- 大文件时两种密码都收敛到~1.0 GiB/s(瓶颈转向I/O提交)
- 在真实NVMe驱动器上,O_DIRECT可实现更高吞吐量
https://github.com/FrogSnot/Concryptor
--
From 日报小组 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论