1
$\begingroup$

I was reviewing past exam questions and came across this one:

Is it secure for A (the garbler) to allow B (the evaluator) to run a garbled circuit twice with different inputs? They aim to compute the output of a function F for two pairs of inputs, A encrypts the circuit and sends the garbled circuit to B. B also receives the encryption for both his inputs, enabling him to run the circuit twice.

I'm still finding garbled circuits hard to grasp so I'm wondering if my understanding is correct that allowing B to run a garbled circuit twice with different inputs, is not secure for A? This is because B shouldn't learn anything beyond the output of his given inputs, yet the reuse of a garbled circuit might allow him to infer information through timing discrepancies or by correlating outputs from multiple evaluations. This could potentially reveal details about A's inputs.

But is reusing the circuit twice really enough to make it insecure for the garbler?

$\endgroup$
1

1 Answer 1

1
$\begingroup$

The goal of a garbled circuit is to let the evaluator perform the computation, without knowing the values on any wire. If you reuse a garbled circuit, you violate this guarantee.

Suppose I hold a garbled circuit. Let's focus on a single AND-gate. I hold garbled representations of input values $a$ and $b$, and compute a garbled representation of the output $c = a \land b$. I don't know what $a,b,c$ are.

Later we reuse the garbled circuit and now I notice that I hold the same $a$ but a different $b$ --- call it $\overline{b}$. Suppose I also observe that the output of the gate doesn't change when $b$ changes to $\overline{b}$. Then I can conclude that $c = 0$ and $a=0$.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.