Partial homomorphism in RSA
Let’s take the RSA algorithm to explain this correspondence between ciphertext operations and plaintext operations (in this case, multiplication).
We know that RSA’s encryption is as follows:
From this, we have the following:
- [M] is the message.
- (e) is the public parameter of encryption.
- (N) is the public key composed by [p*q].
- (c) is the cryptogram.
We are supposed to have two messages, [M1] and [M2], and we encrypt them using the same public parameters (e, N) to generate two different cryptograms (c1, c2). The result of the encryption will be as follows:
If we multiply the ciphers (c1*c2), we get as a result a third cryptogram (c3), such that the following applies:
I have simply substituted the operations on the [M1] and [M2] encrypted messages with the (c1) and (c2) cryptograms.
All these operations can be regrouped into one cryptogram, (c3), such that...