confidential-ml-transport - 机密机器学习传输(Confidential ML Transport)
confidential-ml-transport 是一个用于在可信执行环境(TEE)中进行机密AI推理的Rust加密通信库。
核心功能
-
认证绑定会话:会话密钥从认证文档派生,将加密通道绑定到已验证的TEE身份
-
全通道加密:使用X25519+ChaCha20Poly1305加密所有握手后的帧
-
二进制帧协议:13字节固定头部,支持高达32 MiB的有效载荷
-
张量数据传输:专门优化的张量子头部结构,8字节对齐,支持F32/F64/I32等多种数据类型
-
可插拔传输:支持TCP和VSock后端
-
可插拔认证:基于特征的认证提供者/验证者,支持模拟和Nitro实现
安全特性
-
密钥材料保护:对称密钥在销毁时清零,包含DH贡献性检查
-
单调序列强制:每条解密消息都有重放保护
-
加固握手:可配置超时,强制公钥绑定,序列验证
-
测量验证:握手期间验证PCR/测量寄存器
握手协议
三消息协议建立加密会话:
-
客户端发送临时X25519公钥和随机数
-
服务器响应其公钥、随机数和绑定公钥的认证文档
-
客户端验证认证,派生会话密钥,发送确认哈希
快速开始
go
git clone https://github.com/cyntrisec/confidential-ml-transport.git
cd confidential-ml-transport
cargo run --example echo_server --features mock
支持的消息类型
- Hello(握手)、Data(应用数据)、Error(错误)、Heartbeat(保活)、Shutdown(关闭)、Tensor(张量数据)
https://github.com/cyntrisec/confidential-ml-transport
Expression Solver - 一个用 Rust 编写的最小化表达式语言、编译器和基于栈的虚拟机项目
Expression Solver是一个用 Rust 编写的最小化表达式语言、编译器和基于栈的虚拟机项目。它能够解析高级数学和逻辑表达式,将其编译为自定义字节码,并在专用虚拟机上执行。设计灵感来自 LISP 风格表达式、栈机器和经典编译器架构。
核心特性
-
完整的编译流程:词法分析器 → 解析器 → 抽象语法树(AST) → 编译器 → 虚拟机 → 结果
-
基于栈的虚拟机:采用栈式执行模型
-
基于寄存器的变量存储:变量存储在寄存器中
-
词法作用域 :通过
define实现 -
支持算术和比较运算符
-
条件执行 :支持
if条件语句 -
图灵完备的设计
语言特点
-
纯表达式语言:一切皆为表达式,包括算术运算、变量定义和条件语句
-
支持的操作:
-
-
整数字面量
-
变量定义(
define) -
算术运算符(
+,-,*,/,%,**,//) -
比较运算符(
==,!=,<,>,<=,>=) -
条件分支(
if)
-
技术架构
-
解析器:递归下降解析器,支持优先级处理
-
编译器:遍历 AST 生成线性字节码,负责栈管理、寄存器分配和控制流转换
-
虚拟机指令:包括栈操作(PSH/POP)、算术运算(ADD/SUB/MUL/DIV)、比较操作、寄存器操作(SET/GET)和控制流(JZ/JMP/HLT)
未来扩展方向
-
用户自定义函数
-
递归支持
-
垃圾回收机制
-
字节码优化器
-
调试/追踪工具
作者 : omniflare
仓库: https://github.com/omniflare/expression-solver
https://github.com/omniflare/expression-solver
--
From 日报小组 Mike
社区学习交流平台订阅:
-
Rustcc论坛: 支持rss
-
微信公众号:Rust语言中文社区