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?