|
| template<domain D :shared2p , dim N> |
| D xor_uint8 | choose (D bool cond, D xor_uint8 first, D xor_uint8 second) |
| |
| template<domain D :shared2p , dim N> |
| D xor_uint16 | choose (D bool cond, D xor_uint16 first, D xor_uint16 second) |
| |
| template<domain D :shared2p , dim N> |
| D xor_uint32 | choose (D bool cond, D xor_uint32 first, D xor_uint32 second) |
| |
| template<domain D :shared2p , dim N> |
| D xor_uint64 | choose (D bool cond, D xor_uint64 first, D xor_uint64 second) |
| |
Function for obliviously choosing pointwise from the inputs.
- Note
- D - shared2p protection domain
-
Supported types - xor_uint8 / xor_uint16 / xor_uint32 / xor_uint64
- Parameters
-
| cond | - a boolean vector |
| first | - values for true case |
| second | - values for false case |
- Returns
- pointwise check if cond at a certain position is true or false. if true the element of first at that position is returned else the element of second at that position is returned
◆ choose() [1/4]
template<domain D :shared2p , dim N>
| D xor_uint16 choose |
( |
D bool |
cond, |
|
|
D xor_uint16 |
first, |
|
|
D xor_uint16 |
second |
|
) |
| |
◆ choose() [2/4]
template<domain D :shared2p , dim N>
| D xor_uint32 choose |
( |
D bool |
cond, |
|
|
D xor_uint32 |
first, |
|
|
D xor_uint32 |
second |
|
) |
| |
◆ choose() [3/4]
template<domain D :shared2p , dim N>
| D xor_uint64 choose |
( |
D bool |
cond, |
|
|
D xor_uint64 |
first, |
|
|
D xor_uint64 |
second |
|
) |
| |
◆ choose() [4/4]
template<domain D :shared2p , dim N>
| D xor_uint8 choose |
( |
D bool |
cond, |
|
|
D xor_uint8 |
first, |
|
|
D xor_uint8 |
second |
|
) |
| |