From f9ae55927444dc0505df2c6d2d079257178b1743 Mon Sep 17 00:00:00 2001 From: Jeff Gardner <202880+erskingardner@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:47:15 +0200 Subject: [PATCH] Update group message content encryption --- 104.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/104.md b/104.md index 51380d5b..a520cd70 100644 --- a/104.md +++ b/104.md @@ -198,7 +198,7 @@ Group Events are published using an ephemeral Nostr keypair to obfuscate the num "sig": } ``` -- The `content` field is a [tls-style](https://www.rfc-editor.org/rfc/rfc9420.html#name-the-message-mls-media-type) serialized [`MLSMessage`](https://www.rfc-editor.org/rfc/rfc9420.html#section-6-4) object. +- The `content` field is a [tls-style](https://www.rfc-editor.org/rfc/rfc9420.html#name-the-message-mls-media-type) serialized [`MLSMessage`](https://www.rfc-editor.org/rfc/rfc9420.html#section-6-4) object which is then encrypted according to [NIP-44](44.md) but using the MLS [`exporter_secret`](https://www.rfc-editor.org/rfc/rfc9420.html#section-8.5) and the group ID values to calulate the `conversation key` value. The rest of the NIP-44 encryption process is the same. The `exporter_secret` value should be generated with a 32-byte length and labeled `nostr`. This `exporter_secret` value is rotated on each new epoch in the group. Clients should generate a new 32-byte value each time they process a valid `Commit` message. - The `pubkey` is the hex-encoded public key of the ephemeral sender. - The `h` tag is the group ID value