 Cryptography

# Help with clarification/definitions of Oblivious Transfer (OT) flavors

Recently I across this cryptographic library for Oblivious Transfers. In the README file I saw many OT flavors that I haven't seen before, more specifically the following :

1. General OT
2. Correlated OT
3. Global correlated OT
4. Sender random OT
5. Receiver random OT

Could anyone help me clarify their meaning? Thanks in advance for your time :) ## Solution

My understanding:

## General OT

Sender inputs $$(m_0,m_1)$$, receiver inputs $$b\in\{0,1\}$$, and receiver gets $$m_b$$ while sender gets nothing.

## Correlated OT

Sender inputs a value $$\Delta$$ and a vector $$\vec m$$. Receiver inputs a vector of bits $$\vec b$$. Sender learns nothing, while receiver gets $$\vec m \oplus(\Delta\cdot \vec b)$$. (There are variants where the receiver doesn't get to choose his/her inputs bits $$\vec b$$, and $$\vec m$$ may be set to random).

## Global correlated OT

(I believe) like correlated OT, except that the value $$\Delta$$ is "fixed" for multiple executions of the protocol.

## Sender random OT

Like general OT but the sender's inputs are uniformly random and they are not chosen by the sender. General OT can be obtained from this flavor of OT via a simple de-randomization protocol.

## Receiver random OT

Like general OT but the receiver's choice bits are uniformly random and they are not chosen by the receiver. As before, general OT can be obtained from this flavor of OT via a simple de-randomization protocol.