Panetière, frequently asked questions

  • What is panetière?

    Panetière is an anonymous broadcast protocol. In panetière, clients running in a trusted execution environment hold messages they want to publish and servers provide the service through which they can do so anonymously.

  • What is an anonymous broadcast?

    In an anonymous broadcast a group of clients each contribute either a message or cover traffic, and at the end anyone can read all the messages, but no one can tell which client sent which.

    Two things it deliberately does not do. It does not hide the content of the messages, since publishing them is the whole point. And it does not hide that you took part: an observer sees you in the broadcast, they just can’t tell what you said, or whether you said anything.

    The set of clients who could plausibly have sent a given message is the anonymity set, and it’s the measure of how much anonymity you actually get. Most of the engineering in Panetière is about making a large anonymity set affordable.

  • What are some previous works that have served as inspiration and building blocks for panetière?

    In DC-Nets (“Dining Cryptographers” Nets) participants simultaneously contribute to a shared computation that reveals a batch of messages without linking sender to message. DC-Nets can provide strong sender anonymity with moderate latency in synchronous settings, but typically at the cost of higher bandwidth and computational overheads.

    A recent anonymous communication protocol called ZipNet made a simple, but powerful observation. When designing an anonymous communication protocols, many of the computational and bandwidth inefficiencies stem from the need to ensure liveness, rather than anonymity. Leveraging this observation, ZipNet ensures liveness with the help of TEEs and ensures anonymity via classical cryptographic means. Should a TEE be broken, the system may become unresponsive, but anonymity does not rely on the security of TEEs.

    See Avoiding Client Disruption in Anonymous Broadcast Protocols

  • What is a trusted execution environment?

    A trusted execution environment (TEE) is an area of the computer processor that isolates execution code and data and protects them from being accessed by other processes executing in the same processor. It also provides an attestation that works as a proof that the processor executed the requested code unmodified, to protect from backdoor attacks .

    See Trusted execution environment - Wikipedia

  • Why do clients have to run in a trusted execution environment?

    Every client’s contribution is added together, and the messages are recovered from the total, so a single malformed contribution can make the broadcast fail for everyone. Anonymity also depends on each client placing their message at a position chosen independently and uniformly at random; a client who picks positions some other way weakens their own anonymity and can leak others’ anonymity.

  • What happens if a client breaks their TEE?

    They cannot learn who sent what. What they can do is make the broadcast fail for everyone. Anonymity rests on the cryptography, not on the hardware — the servers jointly reveal only the sum of all clients’ encryption keys, and that summed key decrypts only the summed ciphertext. When the broadcast fails, either no valid key is revealed, or the revealed key doesn’t correspond to the sum of the clients’ contributions. In any case, no individual messages can be decrypted. This is a designed split: use TEEs for liveness, post quantum cryptography for anonymity. See the question on previous works above.

  • What are the cryptographic primitives and constructions used in panetière?

  • Is panetière secure to quantum attacks?

    Panetière relies on the hardness of the short integer solution problem, which is currently thought, but not proven, to be secure against a cryptanalytic attack by a quantum computer.

    See Short integer solution problem - Wikipedia and Post-quantum cryptography - Wikipedia

  • What are the security guarantees of panetière?

  • What are some use cases for panetière?

    We are analyzing and prototyping many use cases for panetière. As we consolidate them and test them for security, we will be sharing the details.
    If you have any use cases in mind, please reply here and we will help you analyzing them for security and performance.

  • What kind of use cases are not protected by anonymous broadcast protocol like panetière?

    Anything that needs the message kept secret. Every message is published in full — what is hidden is who sent it, not what it says.

    Anything that needs your participation kept secret. An observer can see that you took part in a broadcast. They cannot tell whether you sent a message or cover traffic, but they can see you were there.

    Anything where the message identifies its sender. The protocol hides the link between client and message; it cannot hide a signature, a wallet address, a username, or a writing style that only one participant has. What you put in the message is your responsibility.

    Anything where too few clients take part. Anonymity comes from the size of the anonymity set. With two participants, an observer guessing has even odds, no matter how good the cryptography is.


Existing anonymity solutions, such as TOR and Nym, require users to choose between weak anonymity or high latency.

  • How does panetière relate to a mixnet like Nym?

    Mix-Nets, such as Nym, achieve stronger anonymity against global passive adversaries. They rely on cover traffic, and batching and reordering of messages, which introduces delays. The result is increased end-to-end latency and higher bandwidth overhead compared to low-latency networks.

  • How does panetière relate to onion routing?

    Onion routing, famously employed by the TOR network, is highly efficient in terms of bandwidth overhead and allows each client to asynchronously decide when to send their message. In practice, it can also achieve low latency, but at the cost of weak anonymity against adversarial network-level observers.

Do you have any more questions?

3 Likes

Some questions open, left for collective exploration. If you have an answer, please share it here :slight_smile:

  • What does “no one can tell which client sent which” mean precisely?
  • What is cover traffic?
  • Are round, execution, and broadcast different things in the draft?
  • Is the TEE there for integrity only?
  • Is a broken client’s misbehaviour detectable, and by whom?
  • How does a message get into a vector position?
  • Why would a client misbehave?
  • Why not just verify the clients instead?
  • How can one malicious client weaken another’s anonymity?
  • Does anonymity hold against actively deviating clients?
  • What are the failure modes of a broadcast?
  • Is contribution different from message?
  • Does the post-quantum answer need to name LWE as well as SIS?
  • Where does Panetière use a residue number system?
  • Should the TEE questions move after the primitives list?
  • Is the relaxed-to-full lifting part of the deployed system?
  • What is the difference between relaxed and full anonymous broadcast?
  • What is guaranteed output delivery?
  • Are addition-hiding vector commitments new in this work?
  • What is are additive multiset encodings?
  • What happens when IBLT decoding fails?
  • Is sending repeatedly riskier than sending once?
  • Can a client react to what others say?
  • What is the secret-sharing threshold?
  • How do the servers’ public keys get published?
  • What are better links for negacyclic rings?

Created together with Claude Opus 5, here is the trace :bread::magnifying_glass_tilted_left:.