Hi everyone so currently I’m trying to learn about encryption to build secure messaging app (Mobile-app, flutter based). I want the app to have 2 messaging features which are 1 on 1 messaging and group-chat messaging. Firstly I wanted to try using symmetric encryption for the app, but there are some question that make me a little bit confused:
1. When using symmetric encryption, assuming that each user have their own key. When Person A send message Person B should we fetch the person A key or person B key for the encryption ?
2. What’s the best practice to store the user key ? can I just generate the key and keep it in the cloud database ?
3. Can I do like some double AES algorithm for the encryption? So the potential hacker will have to do more work for altering the system (1 main app Key, 1 user key)
4. How does symmetric encryption work for group chat messenger ? I don’t get the flow logic