Sunt în curs de a crea o aplicație flutter care va include mesagerie directă. Puteți trimite mesaje unei persoane sau unui grup de persoane. Vreau ca toate acestea să fie criptate pentru confidențialitate.
Metoda la care mă gândeam este să fac un sistem hibrid RSA, AES. La înregistrare, o pereche de chei RSA va fi generată și cheia publică va fi trimisă la baza de date pentru stocare. Apoi, atunci când utilizatorul dorește să trimită un mesaj cuiva, va solicita celorlalte persoane cheia publică și va crea o cheie AES-256 pentru criptarea oricăror mesaje. Apoi, atunci când utilizatorul dorește să trimită mesajul acesta va fi criptat cu AES și cheia AES va fi criptată cu RSA, astfel încât receptorul să poată decripta mesajul.
Problema cu care mă confrunt este că vreau ca utilizatorul să poată sincroniza mesajele pe toate dispozitivele. Am avut ideea de a genera cheile publice și private dintr-o frază mnemonică și apoi să o folosesc pentru recuperare.
Cu toate acestea, acest lucru nu rezolvă problema recuperării AES.Nu sunt sigur dacă stocarea cheii AES în baza de date pentru fiecare cameră de chat este sigură, chiar dacă este criptată cu RSA. Ar trebui stocată o cheie AES criptată pentru fiecare persoană implicată în chat.
Daca cineva are recomandari sau sfaturi va rog sa-mi spuneti.