diff --git a/MultiDeviceInitializationGroups.md b/MultiDeviceInitializationGroups.md new file mode 100644 index 0000000..7b79620 --- /dev/null +++ b/MultiDeviceInitializationGroups.md @@ -0,0 +1,17 @@ +In the initialization process we described in [[MultiDeviceInitialization]] we simply copy a profile to a new devices and change the public/private keys as a starting point. + +But we are left with as special problem with NGC groups. + +The code is assumed to have been modified to handle Personas and and first glance, NGC groups become groups of Personas. But the group structure in the profile has a copy of the founder's shared_state.founder_public_key (group_pack.c#L293) + +So if the profile being copied is the profile of the founder, then this key would need to be updated too. (Conversely, does that mean if I copy a profile and update the shared_state.founder_public_key with my own key, do I become the group's founder?) + +Besides the group keypair in #L351-2 + bin_pack_bin(bp, chat->chat_public_key, EXT_PUBLIC_KEY_SIZE); // 1 + bin_pack_bin(bp, chat->chat_secret_key, EXT_SECRET_KEY_SIZE); // 2 + +it seems also that self's keypair are saved to the group: +* self_public_key #L353 +* self_secret_key #L354 + +Are these the pub/private keypair of the new profile owner? Would these keys have to be updated with the new keypair of the new profile?