I had this article given to me by my teacher, and I would like to enhance it. It's titled Modified El Gamal Algorithm for Multiple Senders and Single Receiver Encryption. I planned on having the algorithm accommodate multiple senders and receivers.

But I got really confused, and I would like to ask for some help in the encryption part of this modified algorithm.

[Key Generation]

receiver generates {P,g,a}, and sends {P,g,b} to public(?) for the senders to get.
P = prime
g = generator 
a = private key of receiver
b = g^a


Sender 1
generate R1 (private key)
computes c11 = g^R1 

Sender 2
generate R2 (private key)
computes c12 = g^R2

Sender 3 
generate R3 (private key)
computes c13 = g^R3

Message(m) is encrypted using this formula:

c2 = m*b^R2 / b^R1*b^R3

The cipher keys {c11,c12,c13,c2} are then sent to the receiver.


m = c2*c11*c13 / c12

I would like to ask: how did the other senders get hold of the private keys of the other senders? I think I'm missing something.


2 Answers 2


The isn't much innovation in that paper at all, and the quality of the paper seems questionable.

Basically they take standard ElGamal, combined with it's possibility to do re-encryption (homomorphic multiplication with $E(1)$), and then say this is done by multiple parties.

Overall, this doesn't make much sense:

  • Nothing ensures, that all parties are involved in the scheme. Everyone can create the complete ciphertext. It is not clear why there are multiple parties in the first place.
  • Nothing explains how those parties actually do their shared computation.

More general about the papers quality:

  • A third of those 4.5 pages is spent on 2 toy examples (and the construction is so easy, an example is hardly necessary).
  • Another third is spent on really bad test results (single runs, primes with length of 17-19 bit) and the "analysis" part states either obvious or completely unrelated facts.

To answer your question: They don't. The paper doesn't give any information, by whom or how the computation us done. Regarding your idea how to improve that paper: I would suggest ignoring the paper and start from scratch.


They do not share their private keys, but they do have to share b^R(i) for each sender i.

What they might do is, the first sender supplies mb^R(1), the second will supply mb^R(1)^R(2) and so on for the numerator round (two rounds). To do this they need to come together (in your paper there is, "Simultaneously, the senders compute for the value of c2 using the formula...").

  • $\begingroup$ Thank you, makes sense to me now. But wouldn't that be sequential, not simultaneously ? $\endgroup$ Sep 1, 2019 at 3:07

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.