|
template<domain D :shared3p , dim N> |
D xor_uint8 | choose (D bool cond, D xor_uint8[[N]] first, D xor_uint8[[N]] second) |
|
template<domain D :shared3p , dim N> |
D xor_uint16 | choose (D bool cond, D xor_uint16[[N]] first, D xor_uint16[[N]] second) |
|
template<domain D :shared3p , dim N> |
D xor_uint32 | choose (D bool cond, D xor_uint32[[N]] first, D xor_uint32[[N]] second) |
|
template<domain D :shared3p , dim N> |
D xor_uint64 | choose (D bool cond, D xor_uint64[[N]] first, D xor_uint64[[N]] second) |
|
Function for obliviously choosing one of the inputs.
- Note
- D - shared3p protection domain
-
Supported types - xor_uint8 / xor_uint16 / xor_uint32 / xor_uint64
- Parameters
-
- Returns
- returns one of the input arrays that was obliviously chosen with the condition. if true, array first is returned else second is returned
- Leakage
- None
◆ choose() [1/4]
D xor_uint16 choose |
( |
D bool |
cond, |
|
|
D xor_uint16[[N]] |
first, |
|
|
D xor_uint16[[N]] |
second |
|
) |
| |
◆ choose() [2/4]
D xor_uint32 choose |
( |
D bool |
cond, |
|
|
D xor_uint32[[N]] |
first, |
|
|
D xor_uint32[[N]] |
second |
|
) |
| |
◆ choose() [3/4]
D xor_uint64 choose |
( |
D bool |
cond, |
|
|
D xor_uint64[[N]] |
first, |
|
|
D xor_uint64[[N]] |
second |
|
) |
| |
◆ choose() [4/4]
D xor_uint8 choose |
( |
D bool |
cond, |
|
|
D xor_uint8[[N]] |
first, |
|
|
D xor_uint8[[N]] |
second |
|
) |
| |