Private Function Evaluation with Cards

Alexander Koch, Stefan Walzer · New Generation Computing · 2022

Abstract Card-based protocols allow to evaluate an arbitrary fixed Boolean function $$f$$ f on a hidden input to obtain a hidden output, without the executer learning anything about either of the two (e.g., [12]). We explore the case where $$f$$ f implements a universal function, i.e., $$f$$ f is given the encoding $$\langle P \rangle$$ ⟨ P ⟩ of a program $$P$$ P and an input $$x$$ x and computes $$f(\langle P \rangle , x) = P(x)$$ f ( ⟨ P ⟩ , x ) = P ( x ) . More concretely, we consider universal circuits, Turing machines, RAM machines, and branching programs, giving secure and conceptually simple card-based protocols in each case. We argue that card-based cryptography can be performed in a setting that is only very weakly interactive, which we call the “surveillance” model. Here, when Alice executes a protocol on the cards, the only task of Bob is to watch that Alice does not illegitimately turn over cards and that she shuffles in a way that nobody knows anything about the total permutation applied to the cards. We believe that because of this very limited interaction, our results can be called program obfuscation. As a tool, we develop a useful sub-protocol $${{\mathrm{\mathsf {sort}}}}_{\varPi }{X} {\uparrow } Y$$ sort Π X ↑ Y that couples the two equal-length sequences $$X, Y$$ X , Y and jointly and obliviously permutes them with the permutation $$\pi \in \varPi$$ π ∈ Π that lexicographically minimizes $${\pi }(X)$$ π ( X ) . We argue that this generalizes ideas present in many existing card-based protocols. In fact, AND, XOR, bit copy [37], coupled rotation shuffles [30] and the “permutation division” protocol of [22] can all be expressed as “coupled sort protocols”.

Read the paper · More papers on PaperTik