• SmoothLiquidation@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    ·
    2 天前

    I understand how the public key encryption works when you are messaging person to person. Does anyone know how it works with group chats?

    • Zak@lemmy.world
      link
      fedilink
      English
      arrow-up
      42
      ·
      2 天前

      Each participant is sent a separate copy of each message encrypted with their own key.

      • wewbull@feddit.uk
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 天前

        This is one way that signal differs from WhatsApp e2e in groups. In WhatsApp the server replicates the message out to all clients. It can’t read the message but it knows the recipient list. In Signal your phone sends the message several times, so only members of the group know who is in the group.

        • Natanael@infosec.pub
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 天前

          The encryption still works roughly the same, the difference is mostly visible metadata.

          Multiple bundles of encrypted message + decryption key & recipient tag for 1 person, or one bundle of the encrypted message and then keys for multiple people & recipients which the server can separate out when relaying the message

          (message keys are encrypted to each recipient’s keypair*)

          *simplified because I can’t be bothered to explain how deniability is implemented. Just look up the Signal protocol’s ratchet