| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- /**
 
-  * @brief This function is called by P2
 
-  * 
 
-  * @param flags 
 
-  * @param standard_basis_vector 
 
-  * @param finalCW 
 
-  * @param party 
 
-  * @param db_nitems 
 
-  * @param rotate_by 
 
-  */
 
- void refresh_blinds(int8_t flags[], DB_t standard_basis_vector[], DB_t finalCW, bool party, size_t db_nitems, size_t rotate_by = 0)
 
- {    
 
-   DB_t tmp = 0; 
 
-   for(size_t j = 0; j < db_nitems; ++j) 
 
-   {
 
-     tmp = (flags[(j + rotate_by) % db_nitems] != 0) ? finalCW : 0;
 
-     if(party)  updated_blinds[j] = blinds[j] - standard_basis_vector[(j + rotate_by) % db_nitems]  - tmp;
 
-     if(!party) updated_blinds[j] = blinds[j] - standard_basis_vector[(j + rotate_by) % db_nitems]  + tmp; 
 
-   }
 
- }
 
- void refresh_blinded_vector_and_blinds(int8_t flags[], DB_t standard_basis_vector[], DB_t finalCW,int8_t flags0[], int8_t flags2[], DB_t b[],  DB_t d[], 
 
-                                        bool party, size_t db_nitems, size_t rotate_by)
 
- {
 
-  for(size_t j = 0; j < db_nitems; ++j) 
 
-  {
 
-    updated_blinded_DB_recv[j] =  blinded_DB_recv[j] - b[(j + rotate_by) % db_nitems] + d[(j + rotate_by) % db_nitems]  
 
-                                - (flags0[(j + rotate_by) % db_nitems] * finalCW) + (flags2[(j + rotate_by) % db_nitems] * finalCW);
 
-                                       
 
-    blinds[j] = blinds[j] - standard_basis_vector[(j + rotate_by) % db_nitems] - (flags[(j + rotate_by) % db_nitems] * finalCW); 
 
-  }
 
- }
 
- void duoram_refresh (int8_t flags0[], int8_t flags1[], int8_t flags2[], DB_t b[], DB_t c[], DB_t d[],   DB_t CW, bool party, size_t db_nitems, size_t rotate_by_ = 0)
 
- { 
 
-    refresh_blinded_vector_and_blinds(flags1, c, CW, flags0, flags2, b, d, party, db_nitems, rotate_by_);
 
- }
 
 
  |