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.


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$ – Kelen Nihomori Sep 1 '19 at 3:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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