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

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