Ian Goldberg 2840ccb8b8 Be able to run the tests for each of the figures separately 10 місяців тому
..
README.md 6f326cb5bb Repro for Figures 7 and 8 of the PRAC paper for 3P Circuit ORAM 1 рік тому
generate_raw_data_bs.sh 27ab4d66c4 Also run 2^30 sized binary search 11 місяців тому
generate_raw_data_bs_const_db.sh 6f326cb5bb Repro for Figures 7 and 8 of the PRAC paper for 3P Circuit ORAM 1 рік тому
generate_raw_data_heap.sh c033f9fd0b Fix off-by-one error in heap extract experiments 1 рік тому
generate_raw_data_heap_const_db.sh c033f9fd0b Fix off-by-one error in heap extract experiments 1 рік тому
generate_raw_data_reads.sh 4715e8144b Figure 6 should go up to 2^30 1 рік тому
generate_raw_data_reads_const_db.sh 9a496d6a8f Add Figure 6 as well 1 рік тому
generate_raw_data_reads_ssh.sh b4a6a529a0 Support for running experiments over ssh instead of in dockers 1 рік тому
parse_logs be1c5035c8 prac repro stuff 1 рік тому
repro 2840ccb8b8 Be able to run the tests for each of the figures separately 10 місяців тому

README.md

Generating the data for 3P-Circuit ORAM for the PRAC paper

Building the docker

  • cd ../docker
  • Build the docker image with ./build-docker
  • Start the dockers with ./start-docker (This will start three dockers, each running one of the parties.)

Setting the network parameters

  • ./set-networking 30ms 100mbit

Generating raw data for the binary search experiments

  • cd ../prac
  • Run the reproduction script ./repro with one of the following arguments:

    • ./repro test: Run a short (about 30 seconds) "kick-the-tires" test. You should see output like the following:

      Running test experiment...
      Wed Nov  1 03:59:19 PM EDT 2023: Running 16 1 ...
      
      # Test output
      
      CircuitORAMOnln read 16 1 6.289 s
      CircuitORAMOnln read 16 1 355.3125 KiB
      CircuitORAMTotl read 16 1 7.145 s
      CircuitORAMTotl read 16 1 2478.5 KiB  
      
      # End test output
      

    The last four lines are the output data points, telling you that a Circuit ORAM read test on an ORAM of size 216, with a network configuration of 1us latency and 100gbit bandwidth, performing 1 read operation, took 6.289 s of online time and 7.145 s of total (precomputation plus online) time, and 355.3125 KiB of online bandwidth and 2478.5 KiB of total bandwidth. If you've run the test before, you will see means and stddevs of all of the output data points. When you run it, the time of course will depend on the particulars of your hardware, but the bandwidths used should be exactly the values quoted above.

    • ./repro all numiters: Run all of the tests, doing numiters iterations of each.

When you're done

Stop the docker:

  • ../docker/stop-docker