• GreyBeard@lemmy.one
    link
    fedilink
    arrow-up
    0
    ·
    1 month 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
      0
      ·
      1 month 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?

      • Waraugh@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        The way they explained things is how it works, do you not understand how public/private key pairs are used in encrypted communications?

        Does this picture help?

        I’m not trying to be an ass if my post comes across that way, I’m just unsure of your level of knowledge so I don’t want to offend by providing basic level info if it’s not wanted.

        • HubertManne@piefed.social
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          my experience with public/private keys is ssh where I have logins in both places and I login without keys and move it to the .ssh file. That is what gets me. how is the key moved over for communication and if the server moves it then it could theoretically hold onto it. So in the picture above it takes the public key in step 2 and sends it on in step 3 which is used to encrypt the message. I just don’t see how the public key in that case can encrypt the message but not decrypt it.