|
| Path ORAM | Ring ORAM | XOR Ring ORAM | Onion ORAM |
|
Server storage size | [9] | [18] | [18] | [13] |
|
Number of blocks in a bucket | Z | Z + S | Z + S | Z |
|
Use of meta-data | No | Yes | Yes | Yes |
|
Client storage size | Stash size . | Stash size . | Stash size . | No stash [13] |
blocks [9] | blocks [11, 12] | blocks [11, 12] | |
Position map size = O(N) | Position map size =O(N) | Position map size = O(N) | Position map size = O(N) |
|
Communication Bandwidth | [9] | [19] | [19] | O(1) [19] |
|
Read all buckets along the path | Yes | No, only read all the meta-data on a path, then read one block from each bucket along the path | No, only read all the meta-data on a path, then read one block from each bucket along the path | No, only read all the meta-data |
|
Number of blocks returned to client after a read or a write operation | | blocks of meta-data and blocks of size B all of which are dummy but one | blocks of meta-data and one block of data | blocks of meta-data and one block of data |
|
After a read/write operation all buckets along the path are rewritten back | Yes, and may contain new blocks from stash if they satisfy the invariant. | Only the meta-data of all the buckets on the path are written back. | Only the meta-data of all the buckets on the path are written back. | The meta-data of all the buckets along the path are written back and a AHE select operation on the root. |
|
Bucket reshuffling | No | Yes, when the bucket epoch ends | Yes, when the bucket epoch ends | No |
|
Separate eviction process | No | Yes | Yes | Yes |
|