private keys for multiple devices I have an architecture where:


a user can have multiple devices (phones)
the server needs to broadcast the payload to all devices through the same channel
(basically, all devices listen and receive the same payload)


Now, I need encryption for messages from server to devices.


the first phone will have to create a private/public key
server will use this public key to send encrypted messages.
How do I solve the problem for the other devices? Is this mechanism (private/public) wrong and not appropriate in such case? User can't obviously ssh between devices to exchange data here...


The encryption protocol itself has not been chosen yet. If you believe one is more appropriate in this case, let me know!
A simple solotion could be that all phones need to have the same pre-shared key.
The pre-shared key could be downloaded once at first run, maybe from a password protected httpS site, or maybe from a url that delivers an encrypted and signed file with private/public key.

Then the pre-shared key is used on all phones, and it is used to encrypt by the sender, and decrypt by everyone else.

This simple solution provides only encryption, because  this is what the only requirement of the original question.

This doesn't address all security issues, for example replay attack and impersonation.
If you needed more than just encryption, then the solution will have to be a bit more complex.