In the traditional 1-out-of-n
OT, we suppose Alice
has an array $A=\{x_1,{\cdots},x_n\}$ and Bob
has $idx=i\in\{1,{\cdots},n\}$. After running the OT, Bob
leans $x_i$ and nothing else, Alice
learns nothing about $i$.
So, my question: is there a "shared" variant of 1-out-of-N oblivious transfer?
We consider the array and the queried index are secret-shared between Alice
and Bob
(e.g., additive secret sharing). That is, Alice
holds the share of the array $A_{Alice}$ and the share of the queried index $idx_{Alice}$; Bob
holds the share of the array $A_{Bob}$ and the queried index $idx_{Bob}$. After running the OT, Alice
gets $[x_{idx}]_{Alice}$ and Bob
gets $[x_{idx}]_{Bob}$, where $([x_{idx}]_{Alice}+[x_{idx}]_{Bob})modN=x_{idx}$.
Update:
Motivated by the CCS2021 paper Oblivious Linear Group Actions and Applications, in Section 5.1, they propose a protocol "Oblivious Selection" (called "shared" variant of OT) based on the permutation. But before each selection, we have to do the permutation on the array. So I proposed the above question: are there other protocols to obliviously select an element from the shared array at a shared index?