Suppose I have a function that accepts vector input $x$ and outputs vector $y=f(x)$. I want to protect the output $y$ through shuffling numbers in it. I hope the shuffling can confuse the attacker by hiding the position information. The ability of hiding position is indeed true when shuffling random numbers. However, the outputs $y$ is not uniform. A possible attack, for example, when $x_1$ and $x_2$ only differ a little, the $y_1$ and $y_2$ also differ a little. When receiving two outputs $shuffle(y_1)$ and $shuffle(y_2)$ that are shuffled differently, the attacker may match the order of $shuffle(y_1)$ and $shuffle(y_2)$ through the correlation of numbers.

I want to ask is there any similar known attack that can restore the shuffling?

  • $\begingroup$ The feasibility will depend on the domain of the random numbers. Are they reals? Integers? Finite alphabet? I assume the attacker knows the probability distribution. $\endgroup$
    – kodlu
    Commented Apr 12 at 13:05
  • $\begingroup$ All numbers are supposed on the ring, such as integers in $[-2^{l-1},2^{l-1}-1]$ and $l$ is the bit length. If the probability distribution you mentioned is for the output $y$, yes. $\endgroup$
    – Zhengyi Li
    Commented Apr 15 at 6:39


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.