Browse Source

Correctly account for Duoram online write costs

Ian Goldberg 1 year ago
parent
commit
e9cbf5c3de
1 changed files with 3 additions and 2 deletions
  1. 3 2
      duoram-online/duoram.cpp

+ 3 - 2
duoram-online/duoram.cpp

@@ -25,7 +25,6 @@ using socket_t = boost::asio::ip::tcp::socket;
 
 size_t communication_cost_dep_read = 0;
 size_t communication_cost_write    = 0;
-size_t communication_cost_ind_read = 0;
 #include "prg.h"
 #include "prg_aes_impl.h"
 #include "block.h"  
@@ -249,8 +248,10 @@ int main(const int argc, const char * argv[])
       WritePb_[w].shift = where_to_write[w] -ri;
       WritePb_[w].CW = distinguised_value[0];
       boost::asio::write(sockets_2[0], boost::asio::buffer(&WritePb_[w],   sizeof(DuORAM_Write)));
+      communication_cost_write += sizeof(DuORAM_Write);
       read(sockets_2[1], boost::asio::buffer(&Gamma[w],  sizeof(DB_t))); 
       boost::asio::write(sockets_[0],  boost::asio::buffer(&WritePb_[w],    sizeof(DuORAM_Write)));
+      communication_cost_write += sizeof(DuORAM_Write);
       boost::asio::read(sockets_[0],   boost::asio::buffer(&WritePb_recv[w], sizeof(DuORAM_Write)));
 
       /*The definition of read_flags_for_writing appears in duoram-utils.h*/ 	
@@ -291,6 +292,7 @@ int main(const int argc, const char * argv[])
       #endif 
       boost::asio::write(sockets_2[2], boost::asio::buffer(&update_message[w],  sizeof(DB_t)));
       boost::asio::write(sockets_[2], boost::asio::buffer(&update_message[w], sizeof(DB_t)));
+      communication_cost_write += 2 * sizeof(DB_t);
       boost::asio::read(sockets_[2], boost::asio::buffer(&CW[w], sizeof(DB_t)));
      
 
@@ -306,7 +308,6 @@ int main(const int argc, const char * argv[])
     {			
      /*The definition of DuoramUpdate appears in duoram-write.h*/  	 
      DuoramUpdate(party,  db_nitems,  rotate_by_[w],  DB, updated_DB, writing_b, b,  CW[w],  update_message[w],  writing_c, writing_d, c, d);
-      communication_cost_write += 9 * sizeof(DB_t);
      #ifdef DEBUG		
       #ifdef ThreeParty
        /*The definition debug_ appears in duoram-utils.h*/