# How to attack the shuffling of correlated numbers?

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?

• 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. Commented Apr 12 at 13:05
• 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. Commented Apr 15 at 6:39