Averaging RSA ciphertexts



1. Scenario:
You are given a valid RSA public key.
The public key is used to encrypt a number of arbitrary plaintexts in the
standard manner.
Ciphertexts are the result.
Assume (for now) that you know the value of p. "p" is the bit pattern used
in n = p*q.

2. Filter Rule:
Select the ciphertexts that match the bits of p in more than or equal to 1/2
the bits of p.
The comparison in done against the lower 1/2 of the ciphertexts.

3. Summing the Filtered subset:
Use the ciphertexts that satisfy the filter rule.
Discard (for now) the rest as too noisy digital versions of p.
Lay the ciphertexts on upon the other.
Sum the bits in the lower 1/2 of the ciphertexts.
Divide each sum by the number of ciphertexts that satisfied the filter rule.
The results are real valued and have 0 <= magnitude <= 1, and oscillate
closely about 1/2.

4. Recoding the real values:
Recode the real values from the previous step as follows:
If the real value is < 1/2, output a 0.
If the real value is >= 1/2, output a 1.

5. Observation:
The output of the recoding step matches p, in the limit.

6. Question:
Why is this so?



.