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 153/week @ 2024-03-24 619/week @ 2024-03-31 221/week @ 2024-04-07 359/week @ 2024-04-14 202/week @ 2024-04-21 9/week @ 2024-04-28 379/week @ 2024-05-05 185/week @ 2024-05-12 43/week @ 2024-05-19 51/week @ 2024-05-26 44/week @ 2024-06-02 28/week @ 2024-06-16 1/week @ 2024-06-23 39/week @ 2024-07-07

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