
This repository provides the C++ implementation of DuetORAM, a distributed ORAM construction designed for two non-colluding, semi-honest servers. It includes both the pure-online version (DuetORAM-Online-Version.zip) and the offline-online version (DuetORAM-main.zip). Pure-online version: In this variant, shuffle correlations are generated directly by the client and transmitted to each server, achieving optimal eviction efficiency. However, as these shuffle correlations are block-size dependent, this version incurs higher bandwidth consumption for larger block sizes. Offline-online version: This variant decomposes shuffle correlations into offline preprocessing and online phases. By doing so, the auxiliary information transmitted by the client during the online phase becomes block-size independent, significantly reducing online bandwidth. The trade-off is an increase in computational overhead during the online phase to handle the processing of shuffle correlations.
