Timeline for End to end encrypted chat design
Current License: CC BY-SA 4.0
7 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 29, 2021 at 6:21 | comment | added | crypt | you may use double rachet algorithm by Signal to provide end to end encryption. Java implementation of Signal protocol is at github.com/signalapp/libsignal-protocol-java | |
Jun 28, 2021 at 15:31 | comment | added | Matrix | @fgrieu If I store each persons individual AES key encrypted by their own public key if anyone is able to crack that encryption then all of the messages would fall regardless if I use one AES key for the messages or a new one for each one that is my issue. The reason I was thinking to store the AES keys in the database is so the user can easily access messages on a new device, just by importong their mnemonic. Also for the mnemonic I am using bip39 so the users aren’t generating the mnemonic. | |
Jun 28, 2021 at 12:50 | comment | added | Maarten Bodewes♦ | This can be "solved" in numerous ways. I put "solved" in quotation marks because there is always some level at trust required towards the presentation of the service. RSA key pair generation from a "seed" is e.g. covered here and note the most efficient option in the other answer. To create the seed you'd use a PBKDF to provide the stretching mentioned above. | |
Jun 28, 2021 at 12:37 | history | edited | Maarten Bodewes♦ | CC BY-SA 4.0 |
deleted 9 characters in body
|
Jun 28, 2021 at 6:44 | comment | added | fgrieu♦ | You are thinking of hybrid encryption. Usually, the AES key is drawn at random for each message, and not stored in clear anywhere: it's stored along or aside the AES-encrypted message, and encrypted using the public key of each intended recipient, including the public key(s) of the post author. Among the difficulties of what you plan is safe key distribution. "Generating the public and private keys from a mnemonic phrase" can be done, but users choose poor passwords/passphrases, thus at the bare minimum you want key stretching to try compensate that. There are other options. | |
Jun 28, 2021 at 4:51 | review | First posts | |||
Jun 28, 2021 at 12:12 | |||||
Jun 28, 2021 at 4:48 | history | asked | Matrix | CC BY-SA 4.0 |