• GreyBeard@lemmy.one
      link
      fedilink
      arrow-up
      2
      ·
      18 days ago

      Signal does hold the public keys for every user. But having the public key doesn’t let you decrypt anything. You need the private key to decrypt data encrypted with the public key. So in a chat example, if you and I exchange public keys, I can encrypt the message using your public key, but only you can decrypt it, using your private key.

      Signal does run the key exchange, which means they could hand a user the wrong public key, a public key which they have the private key for, instead of the other person’s. That is a threat model for this type of communications, however, signal users can see the key thumbprints of their fellow chat participants and verify them manually. And once a chat has begun, any changes to that key alerts all parties in the chat so they know a change has happened. The new key wont have access to any previous or pending messages, only new ones after the change took place.

      • HubertManne@piefed.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        18 days ago

        I mean I still don’t see how it can be encrypted for a private key with the deryption at some point running through the server unless the members devices at some point communicate with each other without the server as an intermediary. Is that what happens at some point?