SecreC 2 language  2.8.0 (2023.09)
Language and standard library reference
Modules
shared3p_oblivious_ram.sc

Modules

 oramPerformRead
 
 oramPerformWrite
 
 oramPrepareRead
 
 oramPrepareWrite
 

Detailed Description

Module with functions for oblivious array lookup and write (ORAM)

These functions are useful for obliviously reading or writing by several secret indices or when reading from or writing to several vectors by secret indices.
Note that both reading and writing consist of two functions: "prepare" (oramPrepareRead / oramPrepareWrite) and the actual action (oramPerformRead / oramPerformWrite). The prepare* functions are slower, but only require the secret indices vector, not the actual data vector to read from or write to. Therefore, a single prepare* function can be used to invoke several read/write functions (using the same seed).

If you want to obliviously read/write only a few values, use *Lookup and *Update functions from the oblivious module instead.