According to the literature (https://en.wikipedia.org/wiki/Garbled_circuit), Oblivious Transfer allows a party A holding a function $f$ and a party B holding a index i to jointly compute the value $f(i)$ while keeping the privacy of $f$ and $i$.
In my opinions, OT is enough for archiving the cryptographic functionality of Garbled Circuit: enabling two-party secure computation in which two mistrusting parties can jointly evaluate a function over their private inputs, say function $f(a,b)$ with inputs $a$ and $b$.
Notice that $f(a,b)$ can be treated as a function $f_a(b)$, so the evaluation of which follows immediately by using OT with function $f_a()$ and index $b$. It seems no necessary to encrypt then permute the whole truth table, as in Garbled Circuit, if one just want to do private joint computation.
Do I misunderstand anything? What are the essential differences (or advantages) of Garbled Circuit compared to Oblivious Transfer?
Thanks for your detailed reply @Mikero
In my previous thought, joint computation of function $f(a,b)$ with large input $b\in\{1,...,2^k\}$ can be efficiently implemented by $k$ uses of 1-out-of-2 oblivious transfers.
For example, two millions, Alice and Bob, of money $b\in\{1,...,2^k\}$ want to see who is richer. By the idea of dichotomy method, two millions first use oblivious transfer protocol to make rough comparison according to the magnitude of their money. Namely, they use 1-out-of-2 OT to jointly evaluate a simple function $f_{2^{k-1}}\ (a, b)$, where a (or b) =0 represents that Alice (or Bob) has money $<2^{k-1}$, and a (or b) =1 represents that Alice (or Bob) has money $\geq2^{k-1}$. The function $f_{2^{k-1}\ }(a, b)=0,1,2,3$ for the case of $a,b<2^{k-1}$, $a,b\geq2^{k-1}$, $a<2^{k-1}, b\geq2^{k-1}$, and $a\geq2^{k-1}, b<2^{k-1}$, respectively. Now, if their money can be separated by $2^{k-1}$, then the task is finished; otherwise, execute the next round of rough comparison by OT for function $f_{2^{k-2} }\ $ or $f_{2^{k-1}\ + 2^{k-2}}\ $ according to the result in $\{0,1,2,3\}$ of the last OT.
However, to keep the privacy of the magnitude of their money (e.g., <$2^{k-1}$ or $\geq2^{k-1}$), it seems necessary to encrypt the result of each OT. Perhaps this is what the garbled circuit method done. So, in my simple understand, “Garbled circuit = Oblivious transfer + Breaking function as simple logic circuit”. The main advantage of garbled circuit over the oblivious transfer lies not in the functionality, but rather in the complexity of communication and computation.
Is there any more detailed reference for comparing the complexity of OT and garbled circuits