Pung: A fully untrusted private communication system

  • From the paper ( https://www.usenix.org/system/files/conference/osdi16/osdi16... ) :

    "Users exchange messages via a Pung client application that deposits the messages into mailboxes in the Pung cluster. These mailboxes are addressed by a label that is known to both the sender and the recipient.

    The Pung cluster acts as a point of synchronization for clients and dictates when a new round starts. During each round, client applications issue exactly one send and one retrieve. [...] This ensures that clients issue requests at a constant rate. In Section 4 we relax this model and let clients issue multiple send and retrieve requests per round, enabling several applications and achieving lower (amortized) costs.

    The Pung cluster is effectively a key-value store that treats mailbox labels as keys, and (encrypted) messages as values. This means that users’ communication depends on their ability to agree on a label under which to store and retrieve messages. This label should be unique (to avoid multiple pairs of users overwriting each other’s messages), and it must also be independent of the users communicating (otherwise an adversary could link a label to a conversation).

    [...]

    Mailbox systems: Finally, there are a number of systems that employ an architecture and techniques similar to Pung’s (clients retrieve messages from per-round mailboxes kept at third-party servers). The key differences between these works and Pung is their reliance on at least one correct server, and the mechanisms that follow from that assumption."

  • Well, this sure grabbed my attention. Pung means ballsack in Swedish.