Draft: draft-ietf-mls-protocol

Commentary: This is something we 've been meaning to do for a while , and just have n't gotten around to . The Init message directly creates a group with a specified member list . The cost of group creation is O(N ) DH operations for the sender , and O(1 ) for receivers . 
 This now has an OPEN ISSUE regarding the fact that we 'll need to add PKE encryption for that message , as agreed out of band , let 's merge this and add encryption in the next iteration . 
 Here 's the Weekly Digest for : This week , 8 issues were created . Of these , 4 issues have been closed and 4 issues are still open . : greenheart : , by : greenheart : , by : greenheart : , by : greenheart : , by : heart : , by : heart : , by : heart : , by : heart : , by The issue most discussed this week has been : : speaker : , by It received 9 comments . This week , no pull requests has been proposed by the users . This week , 4 users have contributed to this repository . They are , , , and . This week , no user has starred this repository . This week , there have been 4 commits in the repository . These are : : hammerandwrench : Merge pull request from rozbb / mlsplaintext - signature Multiple clarifications around Framing by : hammerandwrench : Merge pull request from rozbb / hpke - encrypt Clarify how HPKE ciphertexts are computed by : hammerandwrench : by : hammerand_wrench : by # RELEASES This week , no releases were published . That 's all for this week , please watch : eyes : and star : star : to receive next weekly updates . : smiley : 
 Here 's the Weekly Digest for : - - Last week 5 issues were created . Of these , 1 issues have been closed and 4 issues are still open . : greenheart : , by : greenheart : , by : greenheart : , by : greenheart : , by : heart : , by - - Last week , 9 pull requests were created , updated or merged . Last week , 3 pull requests were opened . : greenheart : , by : greenheart : , by : greenheart : , by Last week , 1 pull request was updated . : yellowheart : , by Last week , 5 pull requests were merged . : purpleheart : , by : purpleheart : , by : purpleheart : , by : purpleheart : , by : purpleheart : , by - - Last week there were 8 commits . : hammerandwrench : by : hammerandwrench : by : hammerandwrench : by : hammerandwrench : by : hammerandwrench : by : hammerandwrench : by : hammerandwrench : by : hammerandwrench : by - - Last week there were 2 contributors . : bustinsilhouette : : bustinsilhouette : - - Last week there was 1 stargazer . : star : You are the star ! : star2 : - - Last week there were no releases . - - That 's all for last week , please < kbd : eyes : Watch</kbdand < kbd : star : Star</kbdthe repository to receive next weekly updates . : smiley : You can also . 
 We have a long - standing OPEN ISSUE on creating a group with a single Init message instead of N Add messages , which would change the work of initialization from O(N log N ) to O(N ) . I would propose roughly the following : Then the processing would be : Find the welcome that 's for you Initialize a one - member tree from the Welcome Use the UserInitKeys to populate the leaves of the tree Use the DirectPath to populate the creator 's direct path ( as in Update ) 
 Fixed by 
 Similarly to the for a new member , this is a PKE operation : the encryption of this message is missing from the description . This message needs to be encrypted to each client otherwise it leaks all public keys of the tree which would otherwise be protected under the common framing . A secondary question appears as a consequence . There is static key reuse for the leaves until they update , we designed HPKE so that it should be fine but I would still add an [ OPEN ISSUE ] for it .
Paragraph (version B):
A group can always be created by initializing a one-member group and
using adding members individually.  For cases where the initial list
of members is known, the Init message allows a group to be created
more efficiently.
Paragraph (version B):
Identify a protocol version and cipher suite that is supported by
all proposed members.
Paragraph (version B):
Construct a ratchet tree with its leaves populated with the public
keys and credentials from the UserInitKeys of the members, and all
other nodes blank.
Paragraph (version B):
The update secret for this interaction, used with an all-zero init
secret to generate the first epoch secret, is the "path_secret[i+1]"
derived from the "path_secret[i]" associated to the root node.  The
members learn the relevant path secrets by decrypting one of the
encrypted path secrets in the DirectPath and working back to the root
(as in normal DirectPath processing).