4个稳定版本

2.3.0 2023年3月24日
2.2.0 2022年3月12日
2.0.0 2021年4月17日
1.0.0 2021年3月9日

#540 in 数据结构

Download history • Rust 包仓库 153/week @ 2024-03-24 • Rust 包仓库 619/week @ 2024-03-31 • Rust 包仓库 221/week @ 2024-04-07 • Rust 包仓库 359/week @ 2024-04-14 • Rust 包仓库 202/week @ 2024-04-21 • Rust 包仓库 9/week @ 2024-04-28 • Rust 包仓库 379/week @ 2024-05-05 • Rust 包仓库 185/week @ 2024-05-12 • Rust 包仓库 43/week @ 2024-05-19 • Rust 包仓库 51/week @ 2024-05-26 • Rust 包仓库 44/week @ 2024-06-02 • Rust 包仓库 28/week @ 2024-06-16 • Rust 包仓库 1/week @ 2024-06-23 • Rust 包仓库 39/week @ 2024-07-07 • Rust 包仓库

68 每月下载量
mc-oblivious-map 中使用

GPL-3.0 许可证

240KB
3.5K SLoC

mc-oblivious-ram

此crate提供不可知RAM数据结构的实现,适用于在Intel SGX环境中使用。

crate当前内容

  • Path ORAM的修改版
  • Circuit ORAM的修改版

lib.rs:

PathORAM的一个主要思想是使用位置映射,它递归地是一个ORAM。位置映射建立在ORAM实现之上。

调整位置映射的特性对于整体性能很重要,PathORAM并不真正关心这些细节。因此,在这个实现中,PathORAM包含Box,允许在运行时进行大小调整和调优。

位置映射的初始化也略不同于ORAM。您希望位置映射从随机状态开始,而不是零状态。但初始化时向所有位置映射写入随机值会很慢。为了避免这种情况,我们“隐式”地将每个位置初始化为安全块加密的输出值。

核心PathORAM实现,使用PositionMap作为块盒,出现在path_oram模块中。PathORAM还必须使用ORAMStorage来获取、扫描和返回存储中的分支,并执行路径ORAM逐页算法。

依赖关系

~360KB