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 数据结构
68 每月下载量
在 mc-oblivious-map 中使用
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